Search Knowledge Base by Keyword
Ruby Developer’s Centre
Ruby is a very famous open source programming language that has a strong and realistic, yet non-artificial and easy to read or write syntax. To give an out of the box object-oriented language, that focuses for simplicity and gives features like basic and special object-oriented, operator overloading, exception managing, iterators and closures, trash collection, and much more, Ruby integrates the excellent practises from multiple solutions.
UKHost4u PaaS platform dispenses a unique amalgamation of Ruby web servers giving all the management and automatization programs for convenient hosting and optimally effortless Ruby application development.
In this article, we will highlight the different characteristics of Ruby hosting and present the Ruby-related prospects inside the UKHost4u platform. Here’s what you will read in this platform;
– Ruby Environment Hosting
1 . Application servers with Ruby
2. Version of Ruby
– Ruby Application Deployment
– Ruby Dependency Management
– Ruby Post Deploy Configuration
– Domains Management
– Automatic Vertical Scaling
– Manual Horizontal Scaling
– Automatic Horizontal Scaling
1. Ruby Environment Hosting
With UKHost4u, you get an instinctive, strong, and useful Topology wizard to set up Ruby hosting for a new environment.
In the Topology frame, click on the Ruby programming language tab, then choose the required application server and version of the engine. You can add any software stack you require. You can adjust other parameters like cloudlets, nodes, CPU, RAM, Disk space etc if required.
2. Ruby Application Servers
The user can get Ruby application servers depending on the Apache and NGINX software stacks provided by UKHost4u PaaS. Both of these software stacks were constructed to use the Ruby on Rails framework for carrying out web applications and the Passenger application server automatically.
If required, the NGINX Ruby software stack is easily configured to work with distinctive built-in servers;
– Passenger: This application server comprises exceptional features that are extremely useful for modern apps and microservice APIs.
– Puma: This application server is based on speed and likeness because of quick and exact HTTP 1.1 protocol parsing.
– Unicorn: This is an HTTP server that takes advantage of the Unix or Unix-like kernels functions for helping instant clients on low-latency, high-bandwidth links.
3. Versions Of Ruby
At the time of writing this article, UKHost4u supports the following versions of Ruby programming language;
While creating a new environment, you can choose the desired version of Ruby with the help of Topology wizard. Also, you can adjust the Ruby version in an existing environment by clicking on the container redeployment.
4. Ruby Application Deployment
Inside the UKHost4u PaaS platform, there is a Bundler dependency manager for automated tracking and installing the real gems and versions that your project needs.
UKHost4u automatically manages the deployment process for the managed Apache Ruby and NGINX Ruby application servers with the help of;
1. Application archive: uploaded from the local system or external link.
2. Remote VCS repository (GitHub)
Only a single context ROOT can be utilised while deploying the Ruby application. However, you can choose from three deployment types for it;
1. Development: loads all the application cases once again and disables the caching.
2. Production: enables all the caching.
3. Test: removes the database between test runs.
You can shift among the Ruby deployment types using the suitable drop-down list beside your application as shown in the illustration below.
5. Ruby Dependency Management
Inside the UKHost4u PaaS platform, there is a Bundler dependency manager for automated tracking and installing the real gems and versions that your project needs. Your project will resolve dependencies with Bundler by default post deployment to the server without interrupting manually, in case the project has a Gemfile file in ROOT.
In addition, if required, you can comprise any Ruby framework into your Gemfile, i.e., Ramaze, Gemfile, Sinatra, Rack, therubyracer, etc. or you can use Ruby on Rails. It is one of the most famous frameworks for developing and executing web apps, which is present by default.
6. Ruby Post Deploy Configuration
A rake-deploy file will be formed to automate the recurring actions that are required by the Ruby projects to perform once the application is deployed.
The file should comprise a list of commands that will be implemented one-by-one using the rake tool after every reboot of the Apache/NGINX node. After implementing successfully, the rake-deploy file will be removed by default.
7. Domains Management
Instead of using a default name for your Ruby application you can assign a custom domain name. According to the Topology wizard you should use:
1. CNAME redirect: It is advised for dev and test environments if the Shared Load Balancer is being used.
2. DNS A Record: It can control the high traffic load and is appropriate for production environments when using the public IP address.
The swap domains function can be utilised for switching traffic from one environment to another environment.
8. Automatic Vertical Scaling
UKHost4u provides dynamic management of the number of resources such as RAM and CPU needed by your nodes depending on the current load without any manual interference. Just adjust the needed number of cloudlet limits (one cloudlet = 128 MiB of RAM and 400 MHz of CPU each) based on your Ruby application server and everything else will be taken care of by the UKHost4u interface automatically.
Automatic vertical scaling automatically advantages you on a real user-oriented Pay-per-use pricing criteria and there is no need to speculate the incoming load. It makes sure that you don’t have to pay for the resources you have not used. This also saves time as the platform gets rid of the urgency to manage the load-related adjustments or attempt architectural modifications on their own.
9. Manual Horizontal Scaling
With UKHost4u, horizontal scaling is as easy as choosing the required number of nodes through the relevant section in the Environment Topology wizard. You can select from the two scaling modes;
1 . Stateless: it establishes all the new nodes from the base image template side by side.
2. Stateful: it copies the file system of the prime container into new nodes, orderly.
The highest number of similar types of servers inside a single environment layer depends on the cloud hoster’s provider settings.
10. Automatic Horizontal Scaling
You can use the tunable triggers that observe the difference in node load and increase or decrease their number correctly to configure the automatic horizontal scaling for your Ruby hosting environment.
This process is very simple to perform, open the environment, go to the Settings tab, from there choose the Auto Horizontal Scaling section, and then select the needed layer and the resource to be observed. Make the appropriate condition and specifics of scaling through the intuitive UI form.
Experience the best Ruby hosting via UKHost4u platform.