Ruby clouds: Engine Yard vs. Heroku

Engine Yard provides the most extensive control over the application environment, while Heroku makes life easier for developers

In the world of Ruby development, there are two primary cloud-based, platform-as-a-service offerings: Engine Yard and Heroku. Both provide an easy-to-scale, managed hosting environment, both are built on Amazon EC2, and both have a long and intimate history with the Ruby community. Nevertheless, they offer contrasting approaches and features that will appeal to different audiences.

Heroku's streamlined approach to application deployment and management, for instance, dramatically eases the administrative burden, eliminating time-intensive tasks requiring system administration skills. Yet, with Heroku, you don't have a lot of control over the environment. On the other side of the coin, Engine Yard exposes far more bells and whistles related to application management and tuning. Thus, Engine Yard provides a powerful degree of control, but at the expense of rapid configuration and deployment.

HTML5 Deep Dive
[ Read the individual reviews: Engine Yard Cloud and Heroku cloud application platform | Also on InfoWorld: 4 Java clouds face off | See if you can pass InfoWorld's programming IQ test, round 1 and programming IQ test, round 2 . | Get software development news and insights from InfoWorld's Developer World newsletter . ]

Depending on one's viewpoint, each platform has advantages and disadvantages -- strengths and weaknesses that make sense in light of each company's target market. That is, Heroku began marketing toward the Ruby hobbyist, while Engine Yard took its message in an opposite direction: to the business community via large companies.

These different targets produced different platforms and price points. For example, Heroku is without a doubt the less expensive option of the two; nevertheless, you're apt to receive far more computing resources for your money with Engine Yard. With Heroku, you receive a virtual slice of computing resources; the sandbox in which your application must reside in a mere subset of what Amazon gives you. With Engine Yard, you get an entire allotment of Amazon computing resources. Engine Yard provides a base platform, and the rest is up to you. Accordingly, Engine Yard stokes the inner sys admin in all of us, while Heroku caters to development skills.

Note that, although both providers reside on Amazon's cloud infrastructure, you only receive one bill. Amazon's charges are incorporated into each provider's costs and passed on to you. In the case of Heroku, the middleman even absorbs the cost for customers who are content to make use of limited resources for free. When you start to use more Heroku resources, Heroku begins to make up for any small losses incurred from its freemium model. The same can be said for Engine Yard. Although Engine Yard gives away 500 hours for a free trial, it makes up any losses eventually when an account begins to pay for resources.

Interestingly, Engine Yard's and Heroku's different market directions seem to have influenced each platform in other ways. For instance, Heroku's documentation is light compared to that of Engine Yard. Whereas Heroku leans on command-line utilities, Engine Yard provides an extensive dashboard. Heroku draws on a much stronger collection of community and third-party extensions than Engine Yard, as found in Heroku's extensive suite of add-ons and rich language support in addition to Ruby.

Regardless of these platforms' initial target markets, both Engine Yard and Heroku now boast a healthy mix of small corporate clients all the way up to large entities. Accordingly, each has a strong community, drawn to the features unique to the respective platform. As Ryan McGeary, the founder of BusyConf and proponent of Heroku, states:

Heroku allows us to focus on our application without having to worry about the underlying infrastructure. Our application is what matters most to us; the commodity hardware, not so much.

On the other hand, Keith Turner, the head of engineering at Natron Baxter and a strong supporter of Engine Yard, has this to say:

We wanted a hosting provider where the core technology stack was taken care of for us so we did not have to worry about installing and testing upgrades, security patches, basic configuration, etc. [Engine Yard] provides the capabilities for us to easily install and configure features that are not included in the core technology stack e.g. search, queuing features.

To put it simply, Heroku will appeal more to developers and Engine Yard will appeal to operations folks. Consequently, when evaluating the two platforms, one's choice usually comes down to what's more important: Heroku's rapid deployment via a hands-off infrastructure, or Engine Yard's total control over all aspects of application deployment, provisioning, and monitoring. For the full story, read the individual reviews:

InfoWorld review: Engine Yard Cloud

InfoWorld review: Heroku cloud application platform

Engine Yard and Heroku at a glance

 Engine Yard CloudHeroku
Language supportRuby, JRuby, PHP, Node.js (and any languages you choose to install yourself)Ruby, Java, Python, Node.js, Scala, Clojure
Database supportMySQL, PostgreSQLPostSQL (additional RDBMS and NoSQL databases available via third-party add-ons)
Third-party toolsSparse60-plus and growing
DocumentationExcellent (videos, webinars, etc.)Adequate (no videos)
Entry feeFree trial (500 hours)Free indefinitely
Base hardware specs1.7GB memory and 160GB storage512MB memory and 1MB storage (aka 1 dyno)
Scaling methodAdd more instance clustersIncrease dynos
Base hardware specs1.7GB memory and 160GB storage512MB memory and 1MB storage (aka 1 dyno)
Deployment styleCommand line tools, Web GUICommand line Git
AdministrationFine-grained control, command line and Web GUILimited options, command line only
Dashboard, reportingFeature-rich dashboardLimited
MonitoringMultiple options

Logging only

This article, "Ruby clouds: Engine Yard vs. Heroku," was originally published at Follow the latest developments in application development, Ruby on Rails and cloud computing at For the latest developments in business technology news, follow on Twitter.

Copyright © 2011 IDG Communications, Inc.