The majority of websites these days are hosted on shared hosting services. This means each site is on a single server with hundreds or thousands of other websites, which is why they are called "shared". Since the web hosting company only has to run one server, they are able to sell these services at a really low cost, typically $4-10 per month.
Although this might sound like a great way to host your Rails website, there are many disadvantages to it that you need to think about before you put your site on a shared host.
Shared hosting plans share all of the resources on the server. While you might think that they are shared equally, where each website gets a percentage, they are actually shared in such a way that it's an "all you can eat". So when a single website gets a spike of traffic, they eat up all of the server resources for that split second while the other sites are left with nothing. This happens every second and if there are enough sites loaded onto a server, the entire server could get knocked offline. Even if you're lucky and find a good shared host who doesn't overload their servers, your site still has to compete against other sites or it will load web pages slowly.
Like most budget or low cost things, the solution is to spend a bit more money.
A technology called virtualization is now used heavily by hosting companies. This lets them sell virtual private servers (VPS). What happens is that a single server runs the virtualization software which splits it into several smaller servers. Each of those smaller servers gets a guaranteed portion of the main server's resources to run whatever it needs to run.
This might sounds exactly like what shared hosting is but there is one major difference with a VPS that makes them ideal for Rails.
They are private.
When a VPS is split from the main server, it gets it's own set of resources like CPU, RAM, and disk. These resources are only allowed to be used by the VPS, no one else can use them. Not even the main server can use them or take them back without turning off the VPS. So if you use a VPS for your Rails hosting, it won't be affected by the other hundred sites running on the main server. This means the other sites can't slow down your site or accidentally take it offline.
VPS systems do have some disadvantages though.
VPS servers are typically more expensive than shared hosting, but I've seen some in the $15-20 per month range which is only a little more than most shared hosting plans. The other disadvantage is that you are responsible for setting up the VPS yourself, though some hosting companies can do this for you now too. Just look for a Managed VPS or a Pre-Built VPS. Managed VPSs cost a bit more but you can be sure that everything is set up correctly and securely.
With cheap virtual private servers available, I rarely use shared hosting any more. When your Rails website has to be online 24/7, the peace of mind knowing that your VPS has control over it's own resources will help you rest easy.
Author Resource:
Most of the best Rails hosts offer virtual private servers now. Rails Host Gator is a good example of one you can use.