Is there is one thing you could agree with, it is that there are many hosting options for your Ruby on Rail application. And this is a good thing for you. This is good because this means that there are a lot of companies competing for your business.
But it can be easy to get lost in this multitude of offers. So you need to define a selection process before you begin. Write down the criteria that you find important. And as you do your research, that list may change, and that’s ok. This is only a starting point. If you change that list too much, this may be warning flag that you are getting influenced too much but what you are reading.
To help you get started, here’s the list I used when selecting a hosting service:
rails support: that’s the main reason you are looking for a hosting solution. So get the best you can get! This one almost trumps all the others. Ideally you want to find someone that has had quite a bit of experience with rails, and has had a chance to fine tune their systems over time. You also want to make sure they offer more than just plain CGI, something like FastCGI, or FCGI, or even offer LightTPD support. If you don’t have to set it up, any of these will do. In my experience, it is not so important that they provide the latest gems and rails versions as you are better off freezing your gems.
Subversion support: to use Capistrano, this is something which is going to be helpful. You may be able to get CVS working, but subversion is a much better solution overall.
Capistrano support: with ssh and svn, you should be good
Price: Price matters, but most offerings are in the same ballpark, making this secondary. Get something you are comfortable with.
Disk space: you need enough to get your application running. If you envision something with a lots of graphics, sounds or movies, then you will need a lot.
Bandwidth: same as for disk space. You can start small to keep the price down, and most hosting companies will let you upgrade to their next offering, which generally gives you more bandwith, and only charge you the price difference.
Number of domains: how many domains do you really need? 5 to 10 should be more than you need. The thing you really need is the ability to have real domains, without some sort of redirection or frame redirecting to a subdirectory to your main domain.
Number of subdomains: I would not settle for less than an unlimited domain.
Number of databases: you only generally need just 1 or 2 for your application, but why you be charged by the database? They already limit the disk space and the bandwidth. So you’ll get the more serious ones by selecting one that doesn’t limit you.
Backup: once your application reaches production state, you need backups (trust me on that one, you don’t want to get caught without a backup). Site5 has a very nice feature where you get to restore your onw backups whenever you want.
Statistics: you need at least decent statistics. although you may feel the need to use a specialized service, such as Google Analytics, SiteMeter, or more analytics options which will give you a lot more details that what most hosting services give you.
SSH access: this one is a must. To run Capistrano, you need this. Plus this generally comes with ftp access, you get to run rails by hand if necessary, etc.
Email: that’s a no brainer, and I would just look for a good spam solution to go with that.
Excellent uptime: 99.9… or so. You can only go with what the vendor claims. If they are willing to back it with some refund, then they really mean it.
Moneyback: all the serious hosting company will let you try it for at least a month. To weed out the less serious, insist on 60 days or more.
Once you’ve defined your list of criteria, do some research, use google, ask your friends, look for what other people are using.
Create a spreadsheet where you list the various plans for each hosting company with some notes on each criteria.
Very quickly, the top 2 or 3 will start to emerge. Then you can dig a bit deeper, look for what others are saying, look to see if there are a lot of people complaining. For the price, you may even want to give your top 2 or 3 a test drive and see for yourself.
99.9% uptime is irrelevant refered to rails applications, due to the different nature of the Rails applications work with Apache. It is not unusual to have Apache working ok for PHP and Perl applications, but unable to work with FastCGI.
If the host itself is not available, then you are in trouble anyway. That’s why I consider it important. And you are absolutely right in saying that FastCGI can have its own problem, and that why I have in #1 the fact that you should look for hosting companies experienced with rails, that have been doing it since rails started and have now tweaked their system to work as best at it can. There are also things you can do on your side by tweaking the parameters to FactCGI to tweak things like how often it does garbage collection (see http://work.alexyoung.org/archives/102/dreamhost-and-rails-500-errors for some suggestions).
I would recommend Dreamhost.com They have support for svn, capistrano, great disk space and bandwidth and unlimited domains hosting for a low monthly price, $7.95 mo.
Dreamhost is where this site is hosted ;) I’ve been quite happy with their level of service, and it is hard to beat the bandwith they provide for the price!
I would like to introduce [SpeedyRails](http://www.speedyrails.com)
We offer a great performance Ruby on Rails hosting service, both on shared and of course dedicated servers.
We are offering free shared service until January 31st and 10% discount for life on dedicated servers.
We proud our self of a very personal and flexible service. We are always glad to help you deploying your application or even help you to optimize it.
We do not offer SSH, but you can run any rake command (including Capistrano tasks) through our control panel.
Thanks for the (shameless?) plug ;) $30 a month seems a bit pricey, doesn’t it?
Can you share with us how many accounts you would put per machine? See [my latest post](http://blog.nanorails.com/articles/2007/01/16/out-with-dream-host-in-with-rails-playground) for why I’m asking.
Hello Pascal, the real problem is not the number of accounts per machine, it’s more important to limit the number of mongrel instances. In our case, we do not put more than 24 mongrel instances per server. We have published new plans, offering more options to our customers.
We allocate 60MB of memory for every mongrel by default. But we can allow more memory per Mongrel if required (for free in most of the cases)!!!
indeed, 24 mongrels per machine sounds reasonable.
I would like to add that you can easily compare many Rails hosting companies at Rails Hosting Info. I would also like to ask everyone to post a comment about his/her experience with any of these hosts, which makes it easier for others to find a good home for their Rails projects.
Thank you, Nick. This looks like a helpful resource.
RailsCluster is the fastest and most reliable Ruby on Rails hosting platform from the Netherlands. The platform is fully redundant, twice as fast as other Ruby on Rails hosts and has an availability of 99,8%. Rack applications such as Merb are supported as well.
You can connect an unlimited number of domains and subdomains, have got Subversion, Git and Capistrano support, do AWstats for free, and finally there’s even a backup service to a nuclear bunker.
There’s a free 30 day trial at http://en.railscluster.nl. Check it out.
I’ve also done a round up of the various ruby on rails hosting providers based on my own personal experiences. There is also some impartial feedback from various people from their own experiences in the comments.
@Roderick, the railscluster offering looks interesting.
@Glenn, looks like a needed update to this article. Although I’m not sure your comments on Rackspace is accurate, I would think they are either on par or more expensive than EY.