OpenShift platform it unveiled in March. The Platform-as-a-Service (PaaS) play from Red Hat now supports Java Enterprise Edition 6 (EE6) via JBoss Application Server 7 (AS7) and MemBase in OpenShift Flex.Red Hat announced today that it's beefing up the
OpenShift was announced at the Red Hat Summit in May of this year. OpenShift follows Red Hat's acquisition of Makara in November of 2010. Markara was already integrating the JBoss middleware in its "cloud application platform," but Red Hat says that OpenShift is the first platform to deliver Java EE6 as a PaaS play.
As Juan Noceda, product manager for OpenShift, points out in a post about OpenShift's new features, Java EE6 brings Contexts and Dependency Injection (CDI) which makes Java "less restrictive and much more extensible compared to Spring." Not surprising that Red Hat would call out CDI, as the company had specification leads on the CDI Java Specification Request (JSR).
Note that it's not all about Java – OpenShift also has support for Python, Perl (now 5.10), Ruby, and PHP. It supports Spring, Turbogears, Django, Symfony, Rails, Sinatra, and a number of other frameworks. For data service, OpenShift supports MySQL, MongoDB, Memcache, Membase, Deltacloud, and others.
OpenShift's latest update also brings an improved REST API, which means that developers should be able to tap into OpenShift easier and integrate it with their IDEs, and tie in with build systems like Jenkins and Apache Ant.
OpenShift comes in two versions – Express and Flex. Express is a free version for application developers to use. It's a multi-tenant offering and developers are welcome to use it as long as they like to host applications that don't require the monitoring tools and additional capacity that Flex offers. The Flex platform offers the dedicated application servers (JBoss, Tomcat) shell access, and dedicated hosting.
Java EE is typically known for its heavy footprint, so how is Red Hat able to offer it for free in a multi-tenant environment. Issac Roth, formerly of Markara and now Red Hat's "PaaS Master" says:
To run a free service without breaking the bank, a service provider needs to be able to run the free users in a multi-tenant environment. And that is exactly what Red Hat has done. Because the engineers that work on hypervisors (KVM), operating system (Linux), JBoss middleware, and the EE6 APIs (such as CDI) are collaborating, we've been able to do what one analyst recently called a "complete vertical stack integration as a service." In technical terms, we're running JBoss AS7 multi-tenant with complete isolation between tenants while packing many users onto a virtual machine and doing load-sharing.
Basically, OpenShift is allowing developers to develop applications and run them on a platform without having to worry about scaling out the platform or managing the underlying software. Red Hat is providing monitoring tools for application profiling and the like with OpenShift, but developers can concentrate on writing an application against a development stack without having to put the stack together first. How does this differ from something like Google's App Engine (GAE)?
The short answer is, GAE isn't Java EE6 compliant. Red Hat says it's difficult to move apps in or out of GAE, whereas OpenShift will support "bi-directional" movement of applications as long as companies are using the standard application stacks.
Currently Red Hat is running OpenShift on Amazon Web Services, but it's planning to offer the service on other cloud providers as long as they're Red Hat certified. It also sounds like they'll be packaging it for larger customers that might want to run it in a private cloud as well. The company also plans to release OpenShift as an open source project at some point, but the company is currently still going through and vetting the parts of OpenShift it acquired from Markara for release. This is a process that can involve quite a few legal and engineering cycles.
What's all this goodness going to cost you? For now, nothing. The service is in developer preview, so Red Hat is not charging for the service even for those using Flex – though customers will have to pay the AWS fees for Flex. The costs for OpenShift, unfortunately, are not yet available. Pricing should be announced before OpenShift reaches production status.