Cloud computing with OpenShift

OpenShift as a Run Time

In my experience, most people don't really like computers, or operating systems, or platforms, or software in general. People like getting things done. People like things like a Rubik's Cube-solving LEGO robot [5].

Most interactions with OpenShift are via Git; you simply edit your local code repository, commit, and push to OpenShift (be it the service or your own instance). You can also use things like Jenkins, a continuous integration server that supports multiple languages. You commit a change, it builds and passes tests, and it gets committed to production. Or, you can provide your developers with an OpenShift instance and the cartridges you plan to use (SQL, NoSQL, etc.); then, they build something that works on those versions, and you can easily deploy it on your own servers.

The days of consultants delivering an application that only runs on some weird set of out-of-date libraries are past (I hope). Much like the Linux Standards Base (LSB), you can define a common set of software packages and versions that the application must support and run within. However, unlike the LSB, you can define it yourself and easily provide an example environment to your developers.

Conclusion

As with any technology, you began by walking, then running, then driving cars, then adding seat belts and airbags and comfortable seats. PaaS is potentially a very easy-to-use technology that provides you control over your environment but is offset by the actual availability of the PaaS software and environment.

I love using online *aaS providers like AWS and OpenShift Online – things just work. Scaling is literally not my problem, and backups are as easy as hitting the "make AMI image" button or typing git clone <example>. In fact, scaling can be as easy as doing nothing and letting the PaaS layer take care of it. As for deployment, OpenShift Origin has Puppet scripts, so you can drop OpenShift on top of your existing physical servers, your IaaS, or whatever, which, if you ask me, is a whole lot better than setting up physical servers.