Heroku puffs out Java cloud with one-click app stack

Dreamforce 2012 Heroku's core fanbase of Ruby on Rails hipsters must be mortified. Since being bought by Salesforce.com in 2010, the platform as a service (PaaS) vendor has steadily added support for more languages – including boring old Java – and as of this week's Dreamforce 2012 conference in San Francisco, it's even started muttering the e-word.

"Today, we are announcing Heroku Enterprise for Java, a new product that makes it simpler than ever for enterprise developers to create, deploy and manage Java web applications using their preferred tools and processes," the Salesforce subsidiary said in a blog post.

Heroku launched its Java offering last year with a public beta, but until now it has offered only basic language support. With the Enterprise product, it's aiming to make it easier to deploy a full stack of components for enterprise Java apps on the Heroku platform.

That includes deploying apps on the customer's choice of Java runtime. Initially, Heroku only offered version 1.6 of the JDK, but Enterprise for Java customers can now choose between OpenJDK versions 6, 7, or 8.

In addition, Enterprise for Java throws in an Apache Tomcat 7 web application container, a Memcache store for managing distributed session state, and a Heroku PostgreSQL production database instance. All come pre-configured and pre-integrated, and the full stack can be deployed with one click.

You prefer JBoss over Tomcat? Your apps are coded for MySQL instead of PostgreSQL? Too bad. Heroku might support multiple languages, but in other respects its approach has always been to provide a complete, consistent set of tools to make deploying apps fast and easy. Choice doesn't figure into it.

On the plus side, while Heroku's Java support originally required developers to compile and deploy their apps using the Maven build tool, the Enterprise product now supports uploading Java apps as .WAR files – a biggie for businesses that want to migrate existing code.

Heroku has taken steps to integrate its cloudy platform with popular Java development tools, including providing a plug-in for Eclipse that allows developers to create and deploy applications right from within the IDE. It also offers a plug-in for Atlassian's Bamboo continuous integration tool, which can be used to automate the full application development lifecycle, from code check-ins to production deployment on Heroku's cloud.

Rounding out its pitch, Heroku is offering enterprise customers premium support based on guaranteed service-level agreements (SLAs). Pricing for the Enterprise product starts at $1,000 per month per production application, according to Salesforce's press release.

The trouble, of course, is that with this product, Heroku is entering an increasingly crowded field, and some of the players have very deep pockets indeed. Google, Red Hat, VMware, and even Microsoft all support deploying Java apps to their respective clouds, and a number of smaller players are priced aggressively.

More than likely, Heroku Enterprise for Java's chief appeal will be to developers who are already heavily invest in both Java and the Salesforce platform, which offers APIs for integrating Heroku apps. Somehow, however, your Reg hack suspects that this audience couldn't be more different from the Ruby hackers who were the Heroku's earliest adopters. Where will they go now, he wonders? ®