I Think I’ll PaaS on Heroku for Java: Overcompensating for Technical Inadequacy?

Yesterday, the folks at Heroku announced the public beta of Heroku for Java based on the Jetty application container. Everyone is happy that they have expanded past Ruby into other languages as of late. This validates what developers have been telling us all along, they want lots of choices when it comes to languages and frameworks and killer Java support is often at the top of the list.

However, developers also want modern frameworks like Contexts and Dependency Injection (CDI) and they want Java EE. In yesterday’s blog post announcing Heroku for Java, Adam goes on to slam Java EE, brooding over Java Enterprise Edition version 2 (Hello, we’re on version 6 now!) and quoting 10 year old documents. We wouldn’t be so silly as to do the equivalent and make fun of Ruby v1 for being slow and unstable – both of which were real problems five years ago.

While this just shows that Heroku “doesn’t get it” about Java - and remembering that the origins of Heroku are in the small business hosting world, not the enterprise – I’m thinking the reason Adam went on this diatribe on behalf of Heroku is to try and justify something they can’t do technically: They can’t run Java EE.

At OpenShift, we’ve had Java EE (the latest version, not the 10-year-old one) since the day we launched, and we’ve attracted thousands of Java EE developers in the process. The latest Java EE framework, CDI, is slick, fast, small and very efficient at execution and most importantly for developer productivity. Check out some of that productivity here. Some say it’s to Java what Rails is to Ruby and then some.

The reality is, to offer Java EE in a Platform-as-a-Service (PaaS), you can’t just throw Jetty in a container and call it a day, unless a checkbox is all that you’re after. You need advanced application platform technology to really make Java work as developers expect it to on a PaaS. Only Red Hat’s got it. (although we develop it as Open Source – so you’re free to use it and contribute back if you’d like!). By integrating JBoss AS7 into OpenShift we have delivered Java EE into a modern platform that does not require a “classic software delivery process” and works in the precise way that Heroku and other PaaS do (even using git as the deployment technology). It took the vertical integration of an advanced application server with a PaaS stack, all based on the best operating system out there with awesome multi-tenancy capabilities. To date, only Red Hat has delivered something this unique.

We can stand behind and support the full stack too, from the KVM hypervisor to Red Hat Enterprise Linux to JBoss to Java EE,  Hibernate and CDI…all by just walking down the hall to an expert engineer from the relevant community.

Oh and watch out: We’re catching up to you on Ruby. :)