Platform-as-a-Service pioneer Heroku, now part of the Salesforce.com cloud empire, has released a new version that expands programming support beyond its Ruby roots and gives developers more control and insight than previously available. The new version, code-named “Celadon Cedar” and currently in public beta, supports the increasingly popular Node.js programming
language framework, lets users define processes via new “procfiles,” and grants real-time access to log files and process status. Heroku is evolving along with the PaaS landscape, where providers are trying to complement automation and abstraction with a greater sense of control for users.
In the cloud computing stack, PaaS sits above the Infrastructure-as-a-Service level and eliminates the need for developers to worry about lower-level concerns such as configuring servers and operating systems. However, as PaaS users have gotten more advanced, they want more visibility into how their applications are performing, as well as some control to customize their applications within the platform itself. They also want the ability to deploy applications in multiple languages instead of being confined to just one option.
Heroku has long been the poster child for PaaS automation, abstraction and single-language support, so its new features should be well received. In Celadon Cedar, the company addresses users’ requests for more control with a new process model that allows developers to run background and heterogeneous processes via a new feature called “procfiles.” Heroku says procfiles can be used outside its platform thanks to the new Foreman open-source project.
Heterogeneous processes give users more flexibility in defining application processes, said Heroku Co-Founder James Lindenbaum in an e-mail to me, by letting developers break application components into individual processes that scale independently of each other. He added that this is just the beginning, though, because procfiles allow “any piece of code to run as a process,” which opens up a whole range of use cases for creative developers.
The new Heroku version addresses visibility with a variety of log file features. Developers have real-time access to log files for running applications, as well as the ability to view consolidated logs for all their applications and infrastructure. Lindenbaum said Heroku’s new logging features are the result of an internally developed tool called “Logplex,” which also lets users direct their logs to third-party products such as Splunk. Heroku itself uses Splunk internally.
Heroku also has added real-time visibility into the state of running applications, and a feature called “Releases,” which tracks changes to application versions and lets users roll back to a previous version if need be.
People in the cloud industry have suspected Heroku would eventually support the Node.js development framework in addition to Ruby for a while, but even if it’s not surprising, it’s still noteworthy. Node.js is catching on among web developers, and development-leader Joyent and DotCloud are among PaaS platforms that already support it.
Heroku is just the latest PaaS provider to evolve beyond the model’s initial black-box-like atmosphere and limited application scope. Already, we’ve seen this trend materialize to some degree with other providers, including Amazon Web Services with Elastic Beanstalk, Red Hat with OpenShift and startup DotCloud, all of which support multiple languages and provide a degree of infrastructure- and/or performance-level insight.
These are steps in the right direction for all involved, but they’re just the first steps in the journey for PaaS providers as they look to start attracting greater number of enterprise developers. There will no doubt be a lot more discussion about how PaaS will evolve at Structure 2011, which takes place next month in San Francisco. The leading PaaS providers and projects will be represented both onstage and in the audience, and with the new version of Heroku, as well as last week’s acquisition of Duostack by DotCloud and Red Hat’s official foray into PaaS, there should be plenty to talk about.