Shifting to the Cloud

Over the past few years, I’ve seen an increase in tension between traditional IT and IT consumers. Users are questioning why costs and the length of time to provision are as large as they are, especially when they can go out and push their applications directly to the cloud in a short amount of time with low upfront costs.

This has led to many conversations within businesses and within IT organizations about how to solve these problems. I’m not going to try and get to the heart of this issue or argue whether the solution is to streamline existing IT process, move to a DevOps strategy, outsource everything to SAAS providers, or any other strategy du jour (there are already too many people on the internet doing just that, not to mention that I believe the true solution requires a delicate balance of all available solutions).

My current position with Red Hat is with our Production Control team (roughly an Application Operations role). Our responsibilities straddle typical IT Operations and Developer roles, and puts us in a unique position to see the conflict between traditional IT and developers. One of the things we are evaluating to alleviate some of the pain is the use of an internally hosted PAAS to enable developers to quickly deploy and scale applications without the traditional provisioning process.

The PAAS we are building is based on OpenShift Origin, which is the core code that runs OpenShift Hosted. If you are not already familiar with OpenShift, it is kind of like Google App EngineEngine Yard, or PHP Fog, except with the ability to run whatever language or framework you want (using the DIY cartridge if there is not official support). The only publicly available PAAS that seems to match it in terms of features is Heroku, however unlike Heroku, OpenShift is Open Source and allows you to deploy an instance within your own data center (or IAAS provider of choice).

This will give us the flexibility deploy code developed on the same environment in a different number of ways.  We will have the ability to chose to self-host applications, host applications in the cloud on the IAAS of our choice, or host the same application on OpenShift hosted.  We can use any criteria that we like to decide where the code is deployed (cost, security, reliability, etc) and easily change our minds later.

Additionally, since the project is Open Source, we have the ability to directly impact the project by contributing bug fixes, new features, or help change existing functionality to better fit real world use cases. No need to rely on vendor promises of feature requests, we have the ability to make it happen.