Review: OpenShift shines for developers and ops

From the pain-free install and easy app deployment to gear idling and automatic scaling, OpenShift fulfills the promise of platform as a service

The two major open source PaaS (platform as a service) offerings are Red Hat's OpenShift and Pivotal's Cloud Foundry. Like Cloud Foundry, OpenShift was designed to provide rapid self-service deployment of common languages, databases, Web frameworks, and applications. One of OpenShift's current differentiators is that continuous integration (using Jenkins) is a standard part of its workflow.

OpenShift is useful for both developers and operators, as well as for streamlining the process from development through testing and production deployment. Like Cloud Foundry, it can run in a public or private cloud, or on-premise.

OpenShift comes in three versions: Online (no version number, but monthly updates), Enterprise (version 2.1), and Origin (version 3.0), all produced from the same upstream code. The Origin version is the bleeding edge, community supported, free open source edition. It receives daily updates and runs on your hardware using Fedora as the underlying operating system. You can download a preconfigured virtual machine, configure it yourself with Puppet or Vagrant, or even build it yourself from source code. Origin is not really intended for production environments, but can provide a good, fast, free development environment that runs on a laptop or desktop.

The OpenShift team takes a three-week-sprint "cut" from the Origin version for the Online version on a monthly basis. OpenShift Online runs on Red Hat Enterprise Linux (RHEL) hosted on Amazon and has seen roughly 1.8 million total apps deployed. Any bugs that surface under this heavy use are fixed in the Origin version. The Online version is appealing to developers and testers and to provide anyone interested in trying it out a quick, installation-free PaaS.

Two to three times a year, a stable cut from the Online version is released to the Enterprise channel. If you look at the cartridge versions ("cartridge" is the OpenShift term for a deployment package) you'll notice that the language, Web framework, database, and application versions are newest in Origin, older and more stable in Online, and most stable in Enterprise. The Enterprise version most often is deployed on-premise, but it can also be deployed onto any IaaS cloud that can run RHEL.

OpenShift architecture and features
OpenShift uses two kinds of servers, referred to as "brokers" and "nodes." Brokers are responsible for managing user logins, DNS, application state, and general orchestration of the applications. Users communicate with brokers using the Web console, CLI tools, or the JBoss Tools/Eclipse IDE.

Brokers, which are Rails applications, communicate with nodes over a message queue. Nodes host the cartridges that will be made available to users and the "gears" where user applications will actually be stored and served. A gear represents the slice of the node's CPU, RAM, and base storage. Gears combine the partitioning capabilities of control groups with the security features of SELinux.

InfoWorld Scorecard
Documentation (15.0%)
Installation and setup (15.0%)
Management (20.0%)
Ease of use (20.0%)
Breadth of support (20.0%)
Value (10.0%)
Overall Score (100%)
Red Hat OpenShift Enterprise 2.1 8.0 9.0 9.0 9.0 8.0 9.0 8.7
1 2 3 4 Page 1
Page 1 of 4