PaaS, OpenShift, is getting an upgrade that will make Java developers happy. Starting today, OpenShift is adding in "Build-as-a-Service" to its features for Java. Developers write code wherever they like, then build software in OpenShift.Red Hat's
Using JBoss Tools or another IDE, developers can push their Java code up to OpenShift, and then the rest is going to be done "in the cloud."
As OpenShift PaaS Master Issac Roth writes, the standard procedure for Java developers is to "develop locally on their workstation, pull updated libraries (such as log4j and Hibernate) in from the Internet over the wide area network, and compile their projects using local compute power. This would result in a generally quite large, binary bytecode file (often a .war or .ear file) that would need to be uploaded to the cloud for deployment."
Now? OpenShift lets developers push code to OpenShift and the compiling and dependencies are dealt with remotely. In fact, once the code is in OpenShift, developers only need to send a diff to the cloud after that.
One concern that developers might have is that there would be a lag in compilation. Often when using shared build services, there's a wait queue for packages or software to be built. But Roth said yesterday that might happen, while OpenShift is still in development, but the plan is that when OpenShift is in production, "the intention is that this should be instantaneous."
After code is deployed, OpenShift is capable of auto-scaling applications, and has the monitoring and management features you'd expect in a PaaS. Red Hat has two plans for OpenShift currently, Flex and Express. The Express plan is the free tier for developers to get used to OpenShift or deploy small applications that don't need scaling, etc. Flex provides the scaling, monitoring and management features, plus a wider selection of databases. (MongoDB and Membase, plus MySQL as with Express.)
When will OpenShift be production ready? Red Hat isn't giving a firm date, but Roth says that it should be the middle of next year. But he does note that some developers are already using OpenShift heavily.
When OpenShift launches, it has the potential to be a front-runner in the PaaS market depending on pricing. While there's plenty of competition in the PaaS market, OpenShift has a few things going for it. First, OpenShift has comprehensive language support. OpenShift not only supports Java EE6, but PHP, Ruby, Python and Perl as well. Though Red Hat doesn't make much of Perl support, I think this actually has the potential to allow a lot of "legacy" apps to move into the cloud with minimal hassle.
The other big thing in OpenShift's favor is its openness. Eventually, Red Hat will be releasing the source to OpenShift. Roth re-affirmed yesterday that it would be open sourced, but since OpenShift came through an acquisition, it's taking time to do due diligence on the code before release.
Right now the service runs on top of Amazon Web Services (AWS), but Roth says that Amazon will eventually work with other providers. This means that there may be more of an ecosystem around OpenShift than PaaS services that are closed or constrained by a single service provider.
Unfortunately, it's wait and see to find out what Red Hat's pricing model is going to be with OpenShift. Red Hat hasn't announced its pricing yet, and doesn't yet have an ETA for that. Roth says that OpenShift saw a bump in users after Google revamped its App Engine pricing but wouldn't say how many users OpenShift caught after the update, nor how many users are on OpenShift currently.
I'd be curious to hear from developers who are already using OpenShift, especially as compared to services like Google's App Engine. How's it looking, and do you think you'll stick with it for production code?