The One thing you can do to Ensure Success in Open Source Deployments
What is it about an Open Source project that gets business excited? I'm not talking about individuals here, but specifically why is it that a business gets excited about an Open Source project? And more importantly, is there substance- ROI- under the hype?
The primary reason most enterprises focus on Open Source solutions is the potential cost savings, followed closely by the potential to fix or modify the technology to something specific for the business, without having to wait for enterprise software updates. A third reason, heard more frequently now that there are more Open Source middleware products, such as Infrastructure-as-a-Service (IaaS) offerings and application development frameworks, is the ability to change out an underlying, closed source vendor if need be, given the abstraction delivered by the middleware layer, and... see above, cost and flexibility...
But while these high level benefits are often real, there lurks a hidden pain point that often negates the flexibility or cost or vendor freedom business value. This is the operational (and development) support needed to implement an Open Source project deployment. Nowhere is this perhaps more obvious than in the OpenStack(TM) IaaS datacenter middleware space, where it is often important to build up a team of experts on the middleware in addition to supporting the resources that still manage the underlying physical services needed to support the Open Source middleware in the first place! And the latest trend in this infrastructure abstraction- virtual containers- is no different, even if the marketing buzz around the space drives the impression that the world of the container-based infrastructure resolves all of the issues of the other solutions and it too is all Open Source as well.
While it may appear that Open Source, based on the above examples, is not something that any sane business manager or CIO should ever consider, in reality, it’s just a sense of awareness that Open Source is not the cure for all ills. Open Source tools do have the advantage that a bug that the “software provider” is unwilling, or for whatever reason, unable to fix, is still something that can be addressed, either by one’s own organization (if the development skills and understanding exist) or through a consultancy/services approach.
If the organization has the right mix of resources already in place, implementing an Open Source solution can indeed enable better service deployment scale and function. A large part of this comes from automation of the full application life cycle along with the ability to morph the tool to the exact business solution needed. Even more so, if the development/operations team is agile and can follow Dev/Ops workflows, then the team can both modify the infrastructure and business driving applications to improving customer success and satisfaction in an incremental and always improving fashion.
The key to all of this is understanding what Open Source really is. It is an opportunity: to leverage automation, to build the right class of infrastructure and teams, and to make use of the latest and greatest leaps in technology more quickly and efficiently. These benefits apply to both internal users and use cases and for customers and their interactions with the business.
Let’s look at what it might really take to get a project like OpenStack off the ground successfully for a small service deployment. In it’s simplest deployment model, OpenStack provides datacenter Infrastructure-as-a-Service (IaaS), providing application programming interface (API) based interfaces for managing the lifecycle of compute, network, and storage services. It is most often compared to services like early versions of Amazon Web Services or Microsoft Azure. The Open Source message appears to be “replace your expensive virtualization platform with OpenStack and you’ll make your virtualization platform cost free”. Oh, and let’s not forget the fact that OpenStack is “The Open Source Cloud Solution”, so it will also remove the need for any IT staff to manage your new virtualization platform, so it’ll not only remove your Virtualization costs, but also your IT staff (and associated costs) that were required to manage that system!
So what’s the reality? With OpenStack, as with any other Open Source platform, understanding the operations of the system helps to bring the hype level back into alignment with reality. Firstly, yes, there are real value propositions to Open Source tools like OpenStack, and for a service as complex as any IaaS offering, the ability to tweak the service to a specific deployment is immensely useful in many cases. It was this sort of flexibility that allowed European Organization for Nuclear Research, CERN, to add central authentication to their Active Directory services infrastructure well before any of the community (or other vendors offering to support the project) were able to do so. The cost savings can also be real, as in the case of many who have deployed the tools using internal operations teams that are familiar with the care and feeding of Open Source projects, and are able to deal with the issues that come up through the Forums and IRC channels that make up the Open Source community.
The key aspect of the success of using Open Source is still having an organization that is aware of the operational needs in deploying and managing and running Open Source projects, whether they be as simple as the Apache web server, or as complex as deploying OpenStack for Infrastructure services, and mapping Cloud Foundry on top to provide a Platform-as-a-Service offering to application developers in the organization. Ramping up a major Open Source initiative has to be looked at first from the long term value, and secondly from the understanding that there are new and different costs that many initially offset the perceived savings that an Open Source toolset should eventually provide.
So if you are considering entering the world of Open Source, see through the hype and plan ahead prior to enabling your Open Source solution. Be ready to bring a team up to speed on the internal workings of the tool and how to manage it in production. Do so and you will have unlocked the key to getting great value from Open Source software, platforms, and service offerings, as you would do with any software.