Hosting Providers for Your Ruby on Rails App – Which One To Choose?
Apr 5, 20195 min read
Chief Marketing Officer of Ideamotive. Travel addict and remote work advocate.
No matter if you deal with Ruby on Rails development on your own, or you are a Product Owner, this article is for you. You aim to make an app or a beautiful shining website. Or you already have one, running on your computer. You know that it solves a major problem for some people. It will be a bestseller. Everybody will wonder, why they haven’t thought about it before. You have chosen to write it in Ruby on Rails because Ruby is great. The only thing left is that now you need to share it with users. Of course, some marketing will be useful. But first, you need to choose the hosting. Give people access.
Ruby on Rails Hosting Types – What Is On The Market?
In theory, you can buy a server, put it in the company’s basement and connect to the Internet. However, doing everything on your own is seldom a good idea. Trust me. Too often it is better to let specialists do their job. Whether you are a Ruby on Rails developer or Product Owner, it doesn’t matter. You aren’t and don’t need to be a DevOps specialist. Follow the example of big companies and take advantage of outsourcing. But, which hosting provider will be best for you?
At two ends of the spectrum, you have dedicated machines and shared servers. The dedicated server is just for your company. It can make sense if you represent a Ruby on Rails development agency making apps for outside clients. As part of your team, you hire RoR developers, DevOps engineers, QA’s, etc. You want to deliver more to the market, and you need this. Maybe you work for the Intelligence?
Anyway, choosing a dedicated server you will be provided with “bare-metal” set up just for you. Bandwidth, CPU, RAM, everything will be exactly the way you have ordered. And exactly the way you pay. Also, you will have more adjustment possibilities as well as more responsibility. For example in the case of configurations and security.
First of all, there isn’t a one-fit-all solution. Depending on the situation, your choice will vary. There are at least four options to compare, apart from the one in the introduction.
At the other end, there is a shared server. It means that you and a couple of other guys will share the same machine. It is the most cost-efficient solution. But, you must know, that huge traffic of your neighbor can make your app stop working. As simple as that. So, if you have users and they pay for your app, it’s not the right solution for you.
Somewhere between you will find VPS and cloud solutions. Virtual Private Server is a better, more reliable version of a shared server. This time you still share a machine with some other guys, but certain resources are booked just for you. It is important because you know what you pay for. Moreover, you will avoid the danger of shutting down your app due to high traffic at your neighbors’ websites. Another plus is that it is still much cheaper than having a private dedicated server.
choose the hosting wisely to make sure your projects run properly!
How To Know Which Ruby on Rails Hosting Is The Best For You?
There are two types of cloud solutions which will be useful for Ruby web development. If you have skills and time or hire a DevOps, there are IaaS solutions (Infrastructure as a Service). You pay for the devoted infrastructure of a certain kind, and not much more. Configuration, maintenance, and traffic- it’s all yours. However, if you don’t want to spend time and money on it, there are PaaS solutions as well (Platform-as-a-Service). Usually, they come pre-configured (for example with RoR environment). Most often as a user you will get the interface to easily change parameters depending on your actual needs.
Almost all hosting providers claim their infrastructure is Ruby-friendly. Reason for that is that there are more and more Ruby on Rails companies. No matter if you think about running SaaS platform, e-commerce business, or simply have the most stunning company website on the Internet. Ruby on Rails will do the job. For the beginning, it’s good to have some pre-configured environment. Later on, you will need more and more resources. Scaling is important, and you should plan your future success. Ruby on Rails is great for that, so hosting providers also want to be part of that. Some have GitHub integration (like Heroku or Azure), while others require manual deployment.
Before you choose your hosting provider, you need to know your future costs. Almost everybody tries to seduce you with a free sample. Sometimes it’s hard to compare costs due to various pricing models. You should check your requirements and ask for personalized calculations. Some providers simply bill you monthly no matter how much you use. Others will charge for hours of use. In general VPS options will be cheaper than cloud-based solutions, and PaaS should be cheaper than IaaS. However, it may change while you scale up. In time you will see what levels of which parameters are best for your application. Then it is often better to migrate from VPS to PaaS or even to IaaS and use a more personalized solution.
As a start-up, you don’t want to work on too many things, that do not deliver benefits to your customers or users. Take care of Ruby web development part and delivering a wonderful experience, then let others do everything else. Solutions good for you are all VPS services.
Flexible And Low-Cost Solutions
Amazon Lightsail provides you with the one-month free trial. Paid plans start at 3,50$ per month. It’s based on AWS, which is good because later it will be easy to scale up and migrate to AWS EC2. If you want, you can also stay at Lightsail and just buy other AWS services of your choice.
Another good service for you may be DigitalOcean. It delivers Ruby On Rails ready environment. Prices start from 5$ per month. You don’t need many Dev-Ops skills because it’s easy to set up and launch.
Yet another provider is Linode. Prices start at 5$ per month. If this cheapest hosting plan is not for you, you can always scale up and move to more pricy one. Good thing it’s an easily scalable solution.
Hosting provider mostly associated with Ruby web development is Heroku. It is a PaaS platform working mainly on AWS infrastructure. Unlike most competitors, Heroku was built especially for Ruby. Of course, now it supports other languages as well. Its free plan may be enough if you have a Minimum Viable Product to show your investors. As soon as you have users, you will need at least the Hobby plan for 7$ per month per dyno. Professional plans cost up to 500$ per dyno, and the question is how many dynos you will need to support your traffic. After some time migration to the more personalized and flexible solution will be more cost-efficient.
You Have Grown Up – Now What?
When you grow really big it can be purposeful to migrate to big IaaS or even dedicated server. Your problem now is not how to find the cheapest hosting provider. What you need now is sustainable growth and solution that will serve huge traffic from users around the world. Most suitable for you will be on of the biggest like Amazon AWS, Microsoft Azure or Google Cloud platform. Each of them will give you almost unlimited possibilities in terms of configuration. At the same time, it is an occasion for cost optimization.
Amazon AWS is a cloud solution providing both Iaas and PaaS. It gives you a free 12-month tier if you are a new client. It gives you full control over your infrastructure and is easily scalable but you need DevOps experience. The biggest problem with AWS is pricing. If you really want to know your future costs, you will need AWS calculator.
PaaS Microsoft Azure also has a 12-month free option, but basic service plan supporting Ruby costs ca. 37.96$ per month. On the other hand, Azure provides an Isolated plan, that gives you a dedicated environment. Azure offers GitHub integration and updates your app every time its code changes. As usual with Microsoft products, once you depend on their solutions, it may be difficult to migrate or integrate with other providers.
Google offers a pay-as-you-go payment. You can limit your monthly spendings for cost-control. Its PaaS solution – App engine – is managed by Google and prepared to develop and run applications on it. App engine and much more is free with performance limit. For more demanding clients Google offers Compute engine which is IaaS. Of course, it is easily scalable since you use Google infrastructure.
Wrapping up, there isn’t and cannot be one solution for all. Even if you have already chosen hosting provider for your Ruby application, it doesn’t mean it’s forever. Your needs may change. The number of your users will hopefully increase. You will broaden your service range. Who knows? If you still don’t know how to choose, let us help you.
Michał is a digital marketing veteran with a growth hacking mindset and 10+ years of experience. His goal is building high-quality technological content, with particular emphasis on React and Ruby on Rails. Traveler, climber, remote work advocate.