Red Hat is hosting its JBoss World and Red Hat Summit events side-by-side in Boston this week, where it kicked off the festivities by revealing its plans to commercialize its OpenShift platform cloud, which had thus far been in beta and relegated mostly to Java developers looking for a place to let their code roam on Shadowman's nickel.
OpenShift was announced last May at Red Hat Summit as a response to Microsoft's Azure platform-as-a-service (PaaS) cloud, as well as to platform services from Amazon Web Services and a handful of other popular clouds on which developers chuck their code.
OpenShift was created to run Java, Ruby, PHP, and Python applications and it supports Oracle's MySQL database and 10gen's MongoDB NoSQL big data store. The whole kit and caboodle is enabled by Red Hat's own Enterprise Linux, Enterprise Virtualization (the commercial implementation of the KVM hypervisor), various JBoss middleware components, and other cloudy management code that Red Hat either created or acquired. Those tools focus on configuration, security, and automatic scaling up and scaling down of PaaS slices on OpenShift as developers create, test, and run their code.
Initially, there were three different versions of OpenShift. The first was a freebie Express Edition that could run Ruby, PHP, and Python applications on Amazon's AWS infrastructure, for which Red Hat paid as part of the service. OpenShift Flex was the second option, and this is where you would deploy multi-tier Java and PHP apps back-ended by MySQL or MongoDB. The big kahuna was OpenShift Power Edition, based on a more sophisticated cloud controller fabric called CloudForms, which was designed to run on Amazon's AWS cloud as well as IBM's SmartCloud public clouds, and supported Microsoft's Hyper-V, VMware's ESX, and Red Hat's KVM hypervisors.
Last August, Red Hat added support for Java Enterprise Edition 6 middleware to OpenShift, and in November it added the Jenkins build service and the Maven dependency checking engine to the platform cloud, transforming it to be a build cloud that programmers could use to iterate, compile, and test their code.
The marketing people and the tech people at Red Hat apparently had a little sit down earlier this year, and when the company open sourced the code behind OpenShift in late April, it did away with the Express, Flex, and Power editions and just open sourced the whole shebang as the OpenShift Origins project under an Apache V2 license, while at the same time adding support for Perl and Node.js on the language front and PostgreSQL on the database front.
The metaphor that Red Hat is going for with OpenShift is the concept of an automatic transmission in a car, and as such the atomic unit of work on OpenShift is called a "gear". This is a resource container from which to run some code, and it has a limited amount of virtual memory and disk which you aggregate gears into nodes that can be physical or virtual machines. A gear is comprised of "cartridges", which is the runtime where executes or where databases and datastores reside.
Red Hat introduced this new metaphor not because it loves confusing people, but because it intends to charge for use of the OpenShift platform cloud based on the number of gears and the size of the gears you use when you move from development to production.
Rather than keep all of its powder dry for the Summit and JBoss World events, Red Hat announced Enterprise Linux 6.3 and an in-memory NoSQL data store called Data Grid 6 as part of the JBoss stack, the latter being based on the Infinispan project. Presumably, Data Grid will be added to the OpenShift platform cloud at some point, and RHEL 6.3 will be the underpinnings of it all as well.
What Red Hat will explain on Tuesday is how OpenShift will evolve and how it plans to charge for the service. Isaac Roth, who has the title "PaaS Master" at Red Hat, tells El Reg that over the long haul, Red Hat will address four different use cases for OpenShift. Most importantly for developers, all four scenarios will offer compatible runtimes.
There are three scenarios that are based on the OpenShift Origins code, and one that is based on Red Hat's "Project Aeolus" mashup of the OpenStack cloud fabric, the KVM hypervisor, and other elements of the CloudForms cloud controller. First there's the hosted version of OpenShift, which Red Hat will continue to puff up on top of Amazon's EC2-S3 combo. Second, you can just grab the OpenShift code and run it internally on your own private platform cloud. The third scenario is a more sophisticated multi-tenant platform cloud that you run privately, which Roth calls the "DevOps" variant
Finally, there's the Aeolus-derived "ITOps" cloud that is really more focused on being an infrastructure cloud, but which – when equipped with the right middleware and databases – will support code written on any of the three OpenShift platform clouds.
In addition to laying out the platform strategy, Red Hat this week is stratifying the public OpenShift platform cloud, and will also begin to charge for it.
The freebie OpenShift is now called FreeShift, and is the entry tier. Developers who have been using the OpenShift beta will be able to automagically migrate to the FreeShift tier. Red Hat will offer gears in T-shirt sizes (small, medium, large, extra large), and FreeShift comes with three small gears, each with 512MB of virtual memory allocated to it. If developers have more than three small gears of OpenShift capacity, they will have to upgrade to the MegaShift tier.
Medium gears with 1GB of virtual memory are available in the MegaShift tier, and you can have up to 16 total gears deployed with the first three gears (small ones with 512MB of virtual memory) being free. It costs $42 per month for the MegaShift tier, and you'll pay 5 cents per gear-hour for a small gear and 12 cents per gear-hour for a medium gear on top of that. If you want to run Java EE 6, you have to add 3 cents more per gear-hour on top of those prices.
The MegaShift tier has a two-day response time with a 99 per cent uptime service level agreement, according to Roth, who says that some companies will think this is fine for production applications and others will not. There are production applications running on the OpenShift beta right now, he adds, just like companies deployed production apps on Amazon's EC2 soon after it launched in 2006 – and at their own risk.
"We do plan to follow up MegaShift with better SLAs, better support, and added features for enterprises," says Roth, and he hints that this will come out in 2013, will sport higher prices, and that it may be called PetaShift.
FreeShift is available now, and MegaShift will enter a private beta this fall with shipments (or fluffing, or whatever you want to call it) before the end of the year. ®