Heroku's New Enterprise Cloud Service for Java

Salesforce unveiled a new Heroku-based enterprise cloud service for Java at its annual Dreamforce conference, underway this week in San Francisco. The company is billing Heroku Enterprise for Java as "the complete cloud solution for agile Java Web app delivery." The new service includes a full Java stack, continuous delivery integration, multiple-environment runtime and native Java tools.

Heroku is a cloud platform-as-a-service (PaaS) acquired by Salesforce in 2010. Heroku Enterprise for Java is now part of the cloud-based Salesforce Platform, which comprises the Force.com enterprise computing platform, the Database.com DB, the Site.com Web content management system, the new Salesforce Identity ID management system and some other components.

The new service provides support for the full Java stack, including the core JDK, the JVM, and the JDK 7 and JDK 8 builds. It uses the Tomcat app server and the SQL database. It comes with a "very unobtrusive" Eclipse plugin. It supports direct deployment of Java WAR files. It includes memcache for session management and horizontal scaling, and Postgres for relational data management. Heroku also partnered with Atlassian to support use of the Bamboo continuous integration service (CI).

"We're basically giving you a single-click way to provision a full-stack Java environment," said Heroku senior product director Jesper Joergensen.

When Salesforce acquired Heroku 20 months ago, it was the leading Ruby-based application platform-as-a-service. At the time, Salesforce CEO Marc Benioff was calling Ruby the lingua franca of the next-generation cloud. There were about 100 applications live and deployed on the Heroku platform back then. In August of this year the company passed the 2.25-million-app mark, and the last two years have seen a significant evolution in Heroku beyond its Ruby roots. Although Ruby continues to be the most popular language on the platform, the numbers of apps written in other languages deployed on Heroku are "shooting up," said Heroku COO Oren Teich.

"Even before the acquisition, we were already talking about what we needed to do to become a true polyglot cloud and support multiple languages," Teich told ADTmag. "As we began to support other languages, we realized how important it is to have a common way to do that."

A few months ago, the Heroku team introduced Cedar, a general-purpose stack with no native language support. Cedar gave developers the ability to add specific language support by layering on a build-time adapter. They called these adapters Buildpacks. Heroku now supports open-source default buildpacks for Ruby, Node.js, Cojure, Python, Java, Gradle, Grails, Scala, and Play. There are currently more than 400 community-developed Buildpacks, Teich said. "You name it and somebody's got it running on Heroku these days," he said.

The evolution of Heroku from a Ruby-based PaaS to a polyglot dev platform within Salesforce is evidence of the company's commitment to integrating the two platforms, observed IDC analyst Al Hilwa.

"In essence the company is showing significant progress in integrating the Heroku acquisition with the established Force.com platform, which has been historically used to extend the Salesforce applications," Hilwa said in an e-mail. "Now you can write Ruby or Java apps that use Force.com meta-data and context."

Heroku Enterprise for Java is available now. More information is available here.