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

1 2 3 4 Page 2
Page 2 of 4

Cartridges represent pluggable components that can be combined within a single application. These include programming languages, database engines, and various management tools. The built-in cartridges are different for the three versions of OpenShift, but the lists are all extensive, albeit limited to items that run on RHEL. (There is a version of OpenShift that runs on Windows Server, but we have not reviewed it.)

If your company has LDAP, OpenShift can use it for creating teams. If not, you can still create teams, using OpenShift's own identities.

OpenShift supports the cloning of applications and uses multiple subdomains. When you combine these, you can set up OpenShift to easily do promotion of builds from development to QA to staging to production. You would give the owner of each level read access to the next lower level; for example, QA could pull a clone to its domain when the developers say they have a build ready for testing.

OpenShift applications can be versioned. You can define how many versions are retained in your cloud at any time in the application lifecycle. If you discover a bug after you deploy a new version, you can revert to a stored version.

The OpenShift Watchman feature automatically stops and restarts misbehaving applications, which helps avoid downtime. Automatic scaling adds gears and even nodes when an application becomes heavily used. It's built into OpenShift and doesn't require a front-end scaling service. Both features reduce the amount of monitoring and operations work you have to do to run an application on OpenShift.

Along the same lines, OpenShift automatically detects applications that are not getting any HTTP traffic, and eventually idles the applications' gears without any intervention needed by the developer or operations. At such time as the application is requested again, the environment will automatically load it back into memory and handle the HTTP requests. Gear idling allows OpenShift to support a very high density of applications.

OpenShift uses SELinux for gear isolation. This keeps gears from being able to intrude on one another's memory space. In the future, OpenShift will be changing its container model and cartridge specification to use Docker. A Red Hat proposal for Docker container integration with OpenShift cartridges is posted on GitHub.

When you absolutely have to work offline -- say, on a plane trip without Wi-Fi -- you can use OpenShift Enterprise's offline mode to take an image of the PaaS with you. When you reconnect, you can sync your offline changes to the live PaaS.

OpenShift installation and use
I did full installations of the Red Hat Cloud command-line, rhc, and an OpenShift Origin virtual machine on a Mac, then installed the WordPress QuickStart in both OpenShift Online and OpenShift Origin. With the small exception of incompatibility with one of my virtual machine managers (namely, Parallels Desktop), the whole installation process was quick and easy.

The rhc tool comes as a Ruby gem. Once you install it, it tells you to run rhc setup. You don't have to do this right away. If it's not set up, rhc defaults to connecting to OpenShift Online, and lets you enter your credentials manually.

OpenShift Online QuickStart
OpenShift QuickStarts combine application code with one or more cartridges, making it easy to install whole applications. This QuickStart uses PHP 5.3 and MySQL 5.1 cartridges to deploy a WordPress instance in OpenShift Online.
1 2 3 4 Page 2
Page 2 of 4