Ruby hosting in the cloud – Elastic Beanstalk vs Heroku vs EngineYard

Three platforms stand out for cloud based hosting – Elastic Beanstalk, Heroku and EngineYard. Here I present my experiences with the three, and thoughts on which might be best to use under various factors.

To cut to the chase – Elastic Beanstalk wins, but as usual it depends on your situation.

Common features

All the below services feature:

Note that none of these features came with Elastic Beanstalk when it first launched – its come a long way, so may be worth reconsidering if you’d previously disregarded it.




We use Heroku for all our test applications, and for little pet projects that might grow. I wouldn’t use it for actual scaling though, its too expensive and you don’t get enough for your money.




I would recommend EngineYard for production products where money is no issue, and support and absolute minimal interaction with setting up addons is required.

Elastic Beanstalk



Elastic Beanstalk is where I would recommend hosting production products to get a balance of service and price. You could even start a pet project on there right away due to the free storage tier. There are more cons, but I feel these are offset by the price for many situations.

  • Wonderful Comparison! Thank you for the post! 🙂

  • Nice comparison!

  • todbot

    Cool, thanks. “A sample low traffic site on Elastic Beanstalk after the free period is $35 per month.” Is this based on a setup that includes EC2, RDS, and S3?

  • ykessler

    I remember RDS being expensive- north of $80 a month? – did you factor db costs into these comparisons?

  • markirby

    RDS on the free tier is free, but is then priced by the hour. Price depends on how much you need – the sample data came from Amazon. Full details here:

  • For a startup looks like Heroku wins.

  • LeonidMirsky

    Nice comparison.

    Did you have a chance to check AWS OpsWorks in comparison to BeanStalk?
    Are you planning to perform such a comparison 🙂 ?

  • Ryano Taylor

    So, start your startup with Heroku and port to Elastic Beanstalk when you have 1 year before revenue for easy scalability?