Where should I host my Ruby on Rails webapp?
This depends on a number of things:
- Which operating system will you be hosting on?
- How comfortable are you with managing a server?
- How much are you willing to pay?
Typically Ruby on Rails webapps are hosted on a Linux or BSD based system. It is more difficult to setup and maintain a production quality Rails webapp on a Windows server, thus it is generally discouraged by most Rails developers. If you must host on a Windows server, you will need to support this yourself as there are no widely recognized hosting companies that provide support for hosting Rails on Windows.
If you do not have the expertise or time to manage server setup + maintenace tasks yourself you will want to use a managed hosting solution. Managed hosting costs the most money upfront, but relieves you from the burden of systems administration. Some popular managed hosting providers are:
If you can setup and manage a server on your own you can save some money. There are two tiers of hosting that you can choose from: a VPS (which is equivalent to having your own physical server for all practical purposes) or shared hosting. VPS is the most popular option, basically you get the Linux distrobution that you prefer and are free to it up as you like. Some popular VPSs used by Rails developers are:
- Amazon Elastic Cloud Storage - Note: this is what Heroku is built on top of
- Rackspace Cloud (formerly Slicehost)
Shared hosting is the cheapest option, but is unsuitable in many situations. There are several problems with shared hosting:
- RAM usage tends to be severely restricted, and Ruby on Rails applications typically need a lot of RAM
- shell access is typically not available, thus it's difficult to configure
- in most cases you'll need to use the Ruby interpreter and Rails version that the shell provider has installed which may be out of date