Here are some recommended services to host your Ruby on Rails apps. They’re ordered by alphabet and it does not mean one service is better than the others. I listed those services, which I had experience with them.
Do remember that, each service had its own advantages and its own disadvantages.
You need to choose it based on your project’s needs.
If needed, consult with your developer before choosing one of them.
In many cases, you may need to experiment with each of them, before sticking to the one for a long time.
Here are the recommended services to host Ruby on Rails apps
AWS contains many services like EC2, RDS, S3, CloudFront, and others.
You can host both apps and databases on the same EC2 instance.
Or, you can also host them on each own EC2 instance.
Or, you can host an app on EC2 while putting the database on RDS instance.
Most of the projects I’ve worked on using the last option.
One of the drawbacks with AWS is you need someone who had experience with DevOps and able to set up, maintain and scale the infrastructure on AWS.
That guy should be familiar setting up the infrastructure on AWS, setting up the security group, and even optimize them for both performance and cost.
One of the advantages of AWS is you’ll pay as you go.
Besides, you’ll have full control of servers ( AWS instances ) where you run the apps.
I may forget to mention this: AWS offered free tier service for your first year with them ( note: I never try this free tier service )
Unlike AWS, I consider DO fill the gap between AWS and Heroku.
DO did not provide such many services like AWS (EC2, RDS, S3, CloudFront and others), yet it still gives you full control of your own droplet ( the VPS you run on DO )
On DO, you may host both apps and databases in the same droplet or you can host them on a different one.
One of the advantages of DO is their cheap price.
You can run a VPS with a price starting from $5/month.
The price is even comparable for the monthly price of an ordinary shared hosting plan.
One of the drawbacks with DO is the same as AWS.
You need someone with DevOps capability to set up the droplet to host the Rails apps there.
He needs to be able installing the required package, setting up the database, and maintain it down the road, or optimize it if needed.
This is my favorite platform.
Unlike AWS or DO, Heroku provides you a platform as a service.
Unlike AWS or DO, you have no need to worry anything about setting up and optimizing the infrastructure.
You can roll up the new update on your app only with git command.
Yes, just like you pushed your changes to Github or Bitbucket, you only need git push command to deploy on Heroku.
It’s even offering you with 1000 free dyno hours per month.
You can even test your apps without paying anything with those free dyno hours.
The only drawback is you did not have full control over the infrastructure where your app runs.
It completely depends on Heroku’s own infrastructure.
And as you know, Heroku’s infra is running on AWS.
So, basically, your apps are also running at the top of AWS infrastructure, layered by Heroku.
I rarely work on a Rails project which hosted on shared hosting.
Among many of the projects I’ve worked on, only one hosted on shared hosting.
It’s using a2hosting service.
I don’t remember quite well about the details, but the price is a bit more expensive compared to other shared hosting services.
Personally, I don’t recommend to host your Rails apps on the shared hosting plan.
But if you insisted to go with shared-hosting to host your Ruby on Rails app, I would like to recommend IWFhosting
I knew it from the site that claimed itself to be the front page of the internet and so far it’s working fine for me.
Their shared-hosting plan supports SSH and Ruby on Rails app and it started from $4.91 Per Month. Much cheaper than Heroku’s Hobby $7/month plan.
Now, the choice is yours.