InfoWorld review: Heroku cloud application platform
Heroku pairs rapid application deployment with a wealth of developer tools, but is light on manageability
Scalability in Heroku is achieved via its dyno mechanism. Dynos directly affect an application's overall ability to concurrently serve requests; the more dynos available to an application, the greater the throughput. Furthermore, dynos have a memory footprint. Each dyno is allotted 512MB of memory; Heroku documentation indicates that a single dyno can typically handle somewhere between 10 and 50 requests per second. Thus, increasing the number of dynos for an application increases the maximum requests it can handle per second. However, if a request to a Web application page takes 10 milliseconds to respond, increasing dynos won't reduce that time.
Heroku has adequate documentation. In truth, the platform is so simple that copious documentation isn't required. Nevertheless, when issues arise, solutions can often be found easier via Google than via internal Heroku documentation. That aside, Heroku support is outstanding. Via status.heroku.com, one can always see the overall system's status; what's more, trouble tickets can easily be created and the team usually responds quickly with a response and solution.
Heroku: Rapid deployment
In addition to the tight deployment integration à la Git, Heroku offers a powerful command-line utility that provides all management features of the platform, including application configuration, dyno scaling, SSL certificates, and more. Heroku's command-line utility is testimony to the platform's deep developer roots.
Conversely, Heroku doesn't offer a fully functional dashboard for managing an application. With a preference for the command line, the Heroku team appears to have adopted a minimalist approach to the Web user interface. There are no bells and whistles indicating application performance or traffic, for instance. You can increase dynos or provision add-ons (third-party extensions explained below) within the browser GUI, but you'll often find these administrative tasks are more easily executed via the command line.
Heroku supports a wide variety of languages in addition to Ruby, including Java, Node.js, and even Python. Indeed, the wide variety of languages offered by Heroku reflects a growing trend toward developer polyglotism and speaks volumes to the growing community surrounding the platform. This community continually adds to the expanding base of documentation one can find in blogs, Stack Exchange, and the like.
The Heroku platform has been greatly extended through add-ons. These extra features made available by Heroku and third-party vendors span the gamut of utilities from enhanced logging via Loggly (a cloud-based logging service) to application monitoring and troubleshooting via New Relic to push notifications for mobile apps via PubNub. With more than 60 such add-ons, some of which are available at no additional cost, Heroku makes building integrated applications all the easier.
Compare Heroku with Engine Yard Cloud.
This article, "InfoWorld review: Heroku cloud application platform," was originally published at InfoWorld.com. Follow the latest developments in application development, Ruby on Rails, and cloud computing at InfoWorld.com. For the latest developments in business technology news, follow InfoWorld.com on Twitter.
Copyright © 2011 IDG Communications, Inc.