Ruby on Rails Hosting Providers for Your Application
Zakhar Yung
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. In addition, it covers wide-reaching geography that is to say you can easily find a Ruby on Rails team London or Tokyo for your startup.
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 you’re dealing with Ruby on Rails web development or launching a RoR-based product, 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.
VPS hosting
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.
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.
Features
Floating IP address
Shared private networking
Tier-1 bandwidth
Team accounts
SSD hard drives
KVM hypervisors
Tech support
24/7/365
Pros
Cons
Excellent documentation
Developer friendly
Flexible pricing
Fast and easy to configure servers
One-click app setup within 55 seconds
User-friendly interface to set up servers
Nice and easy to use dashboards
Great customer support
Troublesome billing
Web console issues
No Windows VPS support
Snapshots and DNS queries are not free
Minimum pricing
Price
RAM
vCPU
SSD
Transfer
$5/month
1GB
1
25GB
1TB
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.
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.
Features
Static IP address
DNS management
Server monitoring
SSH terminal access (Linux/Unix)
Intuitive management console
RDP access (Windows)
Secure key management
Tech support
24/7/365
Pros
Cons
One month free trial
Simple to setup and use
Convenient instance management
Fixed pricing
38 availability zones
Excellent documentation
API support
Friendly web interface
Access to AWS ecosystem
Networking and data transfer
No Windows VPS support
Snapshots and DNS queries are not free
Minimum pricing
Price
RAM
vCPU
SSD
Transfer
$5/month
512MB
1
20GB
1TB
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.
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.
Features
99.9% uptime guarantee
Out-of-band console access with Lish
Linode API
Customizable templates
Two-factor authentication
IPv6 support
Rescue mode
DNS Manager
Scaling
Cloning
Supported distributions
Tech support
24/7/365
Pros
Cons
7-days trial period
Multiple data centers
Affordable pricing
Consistent uptime delivery
Simple and easy control panel
Simple command line interface
9 Datacenters, 3 Regions
No Windows VPS support
Hourly billing scheme is confusing
Unreliable tech support
Minimum pricing
Price
RAM
vCPU
SSD
Transfer
$5/month
1GB
1
25GB
1TB
It is the option if
You are looking for good performance and a stable network.
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).
Features
99.9% uptime guarantee
Mobile app and customized control panel
Integration with public/private clouds and dedicated servers
6 world-class data centers across the US, Europe, Asia, and Australia
Local SSD and CBS storage
Role-based access control
Secure server file backup
OnMetal Cloud Servers ensure consistent performance and scalability
Tech support
24/7/365
Pros
Cons
Good reputation
Reliable uptime
Fast customer support
Few service outages
Misleading pricing models
Lack of customization options
Minimum pricing (calculator is available)
Price
RAM
vCPU
SSD
Bandwidth
$5/month
1GB
1
20GB
200 Mb/s
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.
PaaS hosting
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.
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.
Features
Free tier for experimenting with cloud apps on a limited sandbox
Capacity provisioning
App health monitoring
Database and app rollback
Vertical/horizontal scaling
GitLab integration
Environment runs on AWS
Tech support
24/7/365
Pros
Cons
Easy deployment and setup
User friendly interface
Simple scaling
An abundance of add-ons and services
Decent debugging
Great documentation
No “out of memory” issues
Rather expensive
Slower deployment for larger apps
Very limited free option
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.
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.
Features
Environment runs on AWS
Dedicated Ruby on Rails platform
Ruby-centric DevOps
Database support
Microservices and container development
Virtual network operations center
Tech support
24/7/365
Pros
Cons
Great support
Robust scaling options
Simple deployment
Expensive
Slower deployment
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.
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.
Features
App management and configuration
App update control
Complete resource control
Autoscaling
Environment management/ configuration/ monitoring
AWS service integration
Tech support
24/7/365
Pros
Cons
Free tool
Easy integration with other AWS services
Simple deployment and scaling
Ample documentation
Powerful customization abilities
Strong automation capabilities
Outstanding security
Independent app container
Improves speed-to-production
Confusing number of options and packages
Plethora of configurations
Weak bug detection and app performance monitoring
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.
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.
Features
Reliable NoSQL datastore
In-memory data cache
Security scanner
Traffic splitting
Integration with other Google services
Application versioning
Fully managed environment
Tech support
Varies according to the hosting plan
Pros
Cons
Free option is available
Automatic scaling
Powerful datastore
Rollback to older versions is available
Does not require server administration
Good feature set
Automatic deploying/redeploying
Sufficient documentation
Not suitable for CPU intensive calculations
Poor debugging tools
Redundant tools and environments
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.
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.
Features
Quickstart templates
One-click deploying
S2I toolkit
Support for multiple environments
Backup, restore, and clone with snapshots
Dependency and build management
Automatic app scaling
Responsive web console
Rest API
Remote SSH login to app container
IDE integration
Marketplace Add-Ons
Git push
Tech support
24/7/365
Pros
Cons
Open source PaaS
High flexibility and customization
Reliable and reputable provider
Multiple region support
Rich command-line tool set
Built-in continuous integration
Multiple language/environment support
Customer support leaves much to be desired
Rather expensive
Very limited free option
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.
Wrapping up
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.