Java developers have had a number of options for deploying applications to the Cloud, including Amazon’s Elastic Beanstalk and the Google App engine amongst others. Recently, Heroku has released a service that enables Java to be run on their Cloud platform.
Heroku was originally a Ruby on Rails Platform as a Service (PaaS) which was acquired by Salesforce.com around a year ago. Since then, the platform has continued to develop at a rapid pace and Java is now the fourth language officially supported on Heroku. One of the interesting and unique features of Heroku is its approach to deployment tools. The toolset programmers use is typically highly dependent on the programming language used. Ruby developers use say Capistrano for deployment, Python developers may use Fabric. Java Web applications are packaged as war files to be deployed to an application server. Heroku, with the launch of the Celadon Cedar stack, claim to have developed the polygot toolset bringing normalization and unification across languages Ruby, Node.js, Clojure and now Java.
There is a sublety and elegance in what Heroku have achieved and continue to develop, in that a uniform development and deployment process as well as application monitoring process means that selecting the best programming language for a particular task does not require a change in the complete toolset. The benefits of the platform extend to not only the recognised ones of reduced administration, scalability etc but also now the flexibility in programming language choice that a consistency in tools across a wide variety of programming languages provides.