The number of web applications built with Ruby on Rails has already exceeded 1 million. That this figure keeps growing demonstrates the framework’s high level of popularity and workability. In a nutshell, you get a mature open-source solution supported by extensive documentation and an extensive ecosystem to create versatile web products.
Still, we are not going to mull over whether you should use RoR for your product or not. That’s been decided. Now, we need to find an answer to the question “Where should I host my Rails app?”.
Reasons to use a dedicated Ruby on Rails hosting service instead of shared hosting providers
You should be prepared to face the challenge of choosing between a plethora of top-notch hosting providers. To facilitate this task, we should first identify a focus area. The Internet is swarming with shared hosting providers. With this type of service, you pay for some server space and share it with other apps or websites. It looks like sharing an apartment with roommates. Shared hosting usually comes with performance limitations like CPU, data storage, RAM, bandwidth etc. Also, providers usually do not allow for modifying system files, as well as run other software programs not supported by the web hosting company. The lack of customization can make it challenging to enhance your app with native libraries.
Despite these flaws, you might be attracted by the affordable pricing and ease of use associated with shared hosting. However, don’t get let the lower price point lure you in. Although it may be a perfect fit for personal websites and blogs, your RoR app deserves a better option that won’t have to share resources. With that in mind, dedicated web hosting is the preferable solution. You obtain dedicated resources and total control of all associated computing components. Moreover, your app’s trajectory won’t be limited since dedicated hosting is perfect for future growth. While you gain customization freedom and faster speed, you will have to maintain the infrastructure by yourself. But of course, much better features come with a significantly higher price.
Railsware’s opinion is that shared hosting is not a good option for Rails apps. On that account, we will focus on VPS and PaaS solutions to define best hosting for Ruby on Rails. Since we are ready to search, we need to know what exactly we’re looking for.
What to look for when choosing a good Rails hosting?
In most cases, startups attempt to offer something special or even one of a kind to attract customers. The use of a particular tech stack makes allowances for web app requirements. Therefore, your criteria will differ depending on the tool you chose for the project. If it is Ruby on Rails, the provider has to support the latest version of the framework.
Dedicated hosting providers are richer in resource availability compared to their shared competitors. Nevertheless, it does not mean that there are no limits at all. On that account, you should understand your app’s bandwidth requirements to ensure it runs at optimal performance and cost.
Data security is another top priority concern. You might have your own sophisticated demands, but the minimum ones should include 128-bit data encryption, a data backup system, and disaster recovery.
Technical support is also important, and you should not neglect your attention to it. When you opt for a dedicated hosting provider, it means that technical experts’ assistance comes with the service. However, make sure that a 24\7 multilingual option is available.
Now you have a concept of core requirements that will help you pick the best Ruby on Rails web hosting out of the following.
Types of Ruby on Rails hostings
The variety of hosting services is not limited only to dedicated and shared options. These are two extremes on the market, the most expensive and cheapest pricing respectively. We are not going to look for the best place to host a Ruby on Rails app at the poles but focus on the middle ground of web hosting environment. And our journey starts with VPS.
The truth is that virtual private server (VPS) hosting is also a shared service. Machine resources are shared among customers, but the way it is accomplished differs. VPS costs more, which implies better performance, more flexibility, and fewer limits. Since you do not leverage a physical but virtual server, you are free of concerns about resources like CPU, RAM, and bandwidth because they are cloud-based and run by specialized virtualization tools. Below, the most prominent VPS solutions on the market are introduced.
|Description||Digital Ocean (DO) is an incredibly affordable VPS hosting option. Its customers include Slack, Docker, Splunk and other prominent names. The provider lets you create and operate a robust server infrastructure with a bunch of out-of-the-box features. One of the most attractive things about DO is the pricing strategy where you pay for actual usage only.|
|It is the option if||You have a limited budget.|
Paid support is not needed.
You download your data often.
You want to handle all the set-up, security and maintenance of your RoR app in production.
|Description||AWS refers to Amazon Web Services. Indeed, here you can find a plethora of solutions for computing, networking, machine learning, analytics, and, of course, web hosting. Amazon Lightsail is a tool to create powerful VPS for deploying your blog, web app or even development server.|
You need two steps to launch your virtual server: choose a VPS option (10 more is available including Drupal, Linux, WP, etc.) and select server size. Other follow-up activities are automated. The use of pre-configured OS models or pre-installed popular app configurations is also available. Lightsail is a simplified solution for those who do not want to spend time on server configurations.
|It is the option if||You prefer an easy way to handle a preconfigured virtual server.|
You constantly need to share data without impact on the production workload’s performance.
You need almost infinite scalability.
You are launching a web-scale startup.
|Description||Linode is Digital Ocean’s major competitor, which offers a reliable, simple, and powerful hosting solution. It is a great option for novices or deploying a complex system. There is a one week trial period during which you can get a refund if you decide not to use Linode services. Besides, according to the Terms of Service, you are provided with a 99.9% uptime guarantee. Linode is worth taking a closer look if your goal is to move your app’s infrastructure to VPS.|
|It is the option if||You are looking for good performance and a stable network.|
|Description||Rackspace is one of the old hands on the web hosting market. With over 20 years of experience, it is considered a reputable company offering reliable virtual cloud servers powered by OpenStack to deploy different web products. Rackspace pays special attention to relieving customer stress. Therefore, in addition to raw infrastructure, two options are available – managed infrastructure (architecture and security assistance for those who prefer to paddle their own canoe) and managed operations (managed infrastructure plus monitoring, application maintenance, and other heavy liftings).|
|Minimum pricing (calculator is available)|
|It is the option if||You need almost infinite scalability.|
You are looking for a tier one provider.
That’s it for the VPS category so far. Still, the question regarding the best hosting provider for Ruby on Rails apps is unanswered. Perhaps, we will find it in the next section that introduces different platform-as-a-service (PaaS) solutions.
To understand what PaaS hosting can offer, let’s imagine a playground for developers, where all services are out-of-the-box. There is no need to stumble around setup, security, scaling, maintenance and other stuff to deploy your Rails app. As a rule, you are provided with a visual administrative panel to add more resources like CPU, RAM, as well as services (add-ons) including database, log handling, etc. However, that costs money. Unlike VPS, where you manage these routine activities on your own, PaaS does it for you, but for a price. On that account, people often start with PaaS and then switch to VPS because of fast-growing costs. Though it is a worthwhile trade-off, some users may consider it a serious downside. Now, let’s look at some examples.
|Description||It stands to reason that Heroku heads our list of Paas hosting providers. When it was founded (2007), it supported the only language, which is..surprise-surprise…Ruby. So, Heroku and Rails are a perfect match for historical reasons but not limited to them.|
The deployment process is supremely simple. You can push your app from a Git repository in the form of a deployable package. The process itself takes up to 5 minutes, but in most cases, you need half a minute to deploy your RoR app on Heroku.
|What about pricing?|
|The price is accounted by “dynos” (lightweight Linux containers that run a single user-specified command). Adding resources (RAM, CPU, etc.) and increasing the number of dynos is the way to empty your pocket rather fast. A single dyno is not enough for most Rails apps hence price growth is likely inevitable.|
|It is the option if||Your DevOps skills are limited.|
You’re launching a startup.
|Description||Another contender for the title of the best web hosting for Ruby on Rails is Engine Yard. Heroku alike, this service has been making headway as a Rails hosting. However, the provider has not stopped with just automation and support of the platform. Engine Yard can literally assist you with your app’s code. That does cost money. With that, you get not only a fully automated PaaS but also an around-the-clock DevOps support. Some users say that the only reason they can sleep at night is that Engine Yard is a rock-solid platform with superb customer service.|
|What about pricing?|
|Unfortunately, not everyone likes the idea of paying substantial costs for PaaS, which includes sysadmin and DevOps services. Experience shows that pricing starts from around $80/month and gets higher depending on requirements.|
|It is the option if||You do not want administer your system on your own.|
It is not a hobby project.
You need almost impeccable support.
|Description||AWS likely needs no introduction. Moreover, we have already reviewed one of its VPS tools. When we talk about PaaS, AWS Elastic Beanstalk is the first thing to mention. This easy-to-use service allows you to automate your apps’ deployment and components configuration. All you need is to upload your code and wait until all supporting activities like auto-scaling, load balancing, capacity provisioning, and app’s health monitoring are finished.|
|What about pricing?|
|Elastic Beanstalk is a free service. But hold your horses. It is not the best free Ruby on Rails hosting because you will have to pay for different AWS resources like RAM and CPU to store and run your apps. A monthly cost calculator is available.|
|It is the option if||Your product is already open to using Amazon Web Services.|
You want to take numerous deployment-related tasks off your hands.
You need a plethora of services.
|Description||Google App Engine (GAE) provides access to a scalable hosting service. You might have heard some rumors that Rails apps are not supported. This is not true. Moreover, GAE comes with preset system libraries, RubyGems, and other useful tools for rapid Ruby on Rails app development.|
This dev stack comprises multiple language support, caching, persistent data storage, and basic access controls. GAE is a decent solution for developers that want to forget about system administration and focus on coding.
|Tech support||Varies according to the hosting plan|
|What about pricing?|
|You pay for Google App Engine services based on usage. The free option comes with no more than 28 instance hours, 1GB storage, as well as 1GB of inbound/outbound traffic per app per day. Need more? Be prepared to open your wallet since all other services including email API, object storage, memcache, etc. incur per-usage fees. A pricing calculator is available.|
|It is the option if||Your project is not a high traffic generating startup.|
You are not willing to deal with system administration.
|Description||The final PaaS provider in our marathon for the best production hosting options for Ruby on Rails is OpenShift. It offers an open source container app platform for small and big projects. The core idea is simple – you focus on writing code while OpenShift automates all the rest including app provisioning, management, and scaling.|
Recently, the provider experienced a turn of the tide, having replaced cartridge concepts with Kubernetes platform. Now, containers are used to build, deploy and manage your apps across cloud and on-premise infrastructure.
|What about pricing?|
|OpenShift is one of the best Ruby on Rails hosting services that offers a free option. It is a great solution to do some learning and experiment with the provider. Professional activity requires more resources and will cost $50 per month or more depending on what you need.|
|It is the option if||you want deal with development process rather than spending time on managing and deploying infrastructure.|
You are attracted by the open source availability.
How to choose the best hosting for you?
A plethora of providers on the market is both a good and a bad situation. On the one hand, you can choose the most appropriate solution based on a weighted analysis of your project requirements. On the other hand, it is difficult to opt for a specific option since your demands may vary in the course time. For example, Google App Engine is cool if you want to leverage other Google services like Cloud Vision, Firebase Notifications, BigQuery, etc. AWS is the option when you use their services for managing databases, load balancers, lambdas, etc. Nevertheless, most services are generally alike, which makes things even more puzzling. Perhaps, good advice would be to start with a PaaS provider and move to VPS when your requirements grow and you have DevOps skills.
In any case, make sure to base your search on defining two major points – traffic amount and server type. When talking about traffic, we have to consider bandwidth and storage requirements. If your traffic expectations are high, there is a need to increase both these metrics. However, be wary of the unlimited offers that are usual for some providers. They may promise borderless storage and bandwidth for a couple of dollars in theory, but experience shows that you will end up paying more if you really want optimal performance. And remember – using a single infrastructure provider simplifies your billing.
Above, we have introduced some of the best hosting options for Ruby on Rails according to Railsware’s experience. Regardless of what server type and provider you choose, it is important to create the best environment for deploying your app. Be attentive to details and don’t rush into suspiciously cheap offers.