Hope my question does not pose as too wide. So I try to frame my question not to get too similar answers to the question of this question.

Currently I have deploy my rails application on Linode. The service works fine, the price is reasonable. But there are those administering works time to time. I could live without those. Recently I started to be interested in other rails hosting services like Heroku or EngineYard, and there are other ones as well. The services they can provide seem to me to be fascinating. They promise to free us from administration things. Ok, I cannot maybe choose the database, but I can have a database which acts like a database, or can have schema-free DBs, or cluster. If I don't really want to care about the details and just want services necessary for provision of my service than I should not bother. But.. I am looking for buts and probably there are some things to consider. I find choosing the right infrastructure for the rails application (or any application) is crucial. These things come to my mind regarding choosing the right infrastructure or the infrastructure provider:

  • simplicity to deploy
  • pricing - I see huge two models here. Paying after processing power (EngineYard) or paying for machine configuration (Heroku)? When, which model applies better?
  • migration - how simple is it to migrate the rails application and the data from one provider to another.
  • additional services - like Heroku provides WebSolr, or monitoring of the rails application. Such things might be crucial or at least useful.

Which things are necessary to consider when I want to choose the - either my private, rented or a mixture - infrastructure? Is there any comparison of these things about the rails hosting services? Are there any sources to learn how to be able to better decide any design when, what kind of model applies the best?

Hope my question does not pose too wide, and can be answered on this forum within a reasonable boundary. I would like to find the way how to design the right cocktail of private infrastructure, VPS and rails hosting services. Thanks for suggestions.

Accepted Answer

I have looked hard at Heroku and may use them in the future. The biggest benefits I see are...

  1. They take away the time cost of system administration.

  2. You can instantly increase processing power and storage if needed.

I decided not to go with Heroku for now because I need full text search and I want to use Sphinx, not WebSolr. Also, if you look at their description of the WebSolr service, you'll find that it's kind of expensive for something that's "in beta." And at this time they only index up to 10,000 documents. That rules it out for my app.

You could put your app on Heroku and other pieces -- database, search -- elsewhere, but that defeats the purpose. If you do that, you are back to being a sysadmin and if you need more power/memory/storage you'll have to handle it.

Heroku could be great if everything your app needs is on Heroku. Then the potential simplification and time savings could be huge. If I had a different kind of app with different requirements I would try it.

Written by Ethan
This page was build to provide you fast access to the question and the direct accepted answer.
The content is written by members of the stackoverflow.com community.
It is licensed under cc-wiki