Red Hat’s OpenShift platform as a service offering has been in public beta for a while now. It offers a fairly simple way for people to jumpstart “cloud” development efforts by abstracting out all the messy business of setting up application and database servers. Instead, you simply publish your source code to OpenShift, and their platform does the rest. Supported languages are those used heavily by nimble, agile startup types: PHP, Python, Ruby. Interestingly, OpenShift also supports Java. That’s not a language that many people associate with cloud solutions. Today, Red Hat is announcing that they’re improving their support of Java on OpenShift with support for “full Java lifecycle for developers”.
I spoke with Issac Roth, Red Hat’s PaaS Master (a groovy title, if ever there was one) and Jason Anderson, from Red Hat’s middleware team, about the announcement. According to Roth, OpenShift has always aimed to support those technologies used by open source developers — usually the “P” in the LAMP stack, as well as Ruby. But Red Hat also wants to support enterprise developers, and wants to help enterprise developers get working on cloud solutions using their preferred language. They’re doing that in a couple of ways, with today’s announcement.
First, OpenShift is getting integration into JBoss Tools, their Eclipse-based Java development environment, “allowing developers to easily push their code to the cloud from the leading Java IDE. Future integration is also planned for JBoss Developer Studio.” I asked Roth about OpenShift integration with other IDEs, and he assured me that work was underway. Indeed, Cloud IDE should work with OpenShift right now.
The ability to push an app to a platform from your IDE isn’t the only new feature being announced. Red Hat is also working to minimize the pain of building Java apps. OpenShift is adding support for Maven to help streamline the dependency resolution process, and Jenkins to provide “build as a service” functionality.
According to Roth, this is a push to allow Java developers to do everything “in the cloud”: code, build, and scale. Java app developers can focus on their apps, and not worry about the infrastructure. The addition of Maven allows developers to get away from manually wrangling library dependency installations for their apps, and in some cases may avoid the use of Ant scripts altogether. Jenkins support helps developers iterate quickly, and the existing OpenShift platform handles scalability.
When I think of Java apps, I usually think of monolithic corporate apps that communicate with corporate databases and directory services. I don’t think of cloud apps. So I asked Roth and Anderson who was driving this push at OpenShift. Specifically, what customers were saying to Red Hat “Gosh, I wish we could build our Java apps in the cloud!” They declined to discuss customer specifics, but did share that Red Hat is eating its own dogfood by deploying several content portals and mobile app backends with Java on OpenShift.
It’s not entirely surprising that Red Hat is driving Java in the cloud. After all, they own JBoss, one of the major Java middleware offerings in use today. While OpenShift’s Java support is currently limited to JBoss AS, the community-driven version (like Fedora is to Red Hat Enterprise Linux), we can probably expect to see JBoss EAP support in the not-too-distant future. Moreover, there are few PaaS offerings on the market today, save maybe for Microsoft Azure. Most folks seem to be focusing on infrastructure as a service, so the move toward PaaS opens up some interesting new opportunities.
OpenShift is currently free to use, with some modest limits on application size and scalability. If you’re a developer, why not take it for a spin?