How open will the cloud be?
Cloud computing has been built around proprietary software - will companies be able to use open source software in future?
The marriage of ultra-flexible cloud computing technologies with open source software's innovative community based approach to refinement and product enhancement appears at first glance to be a marriage made in heaven doesn't it? Superb elasticity at the back end as the cloud manages server, storage, interconnectivity and update challenges, matched with application hosting using best-of-breed open source apps. What could possibly go wrong?
Well for a start, putting open source technologies into the cloud throws up an immediate question. Truly "open" versions of open source software will rely on what are known as dynamic libraries, where source code is effectively an open wound (for want of a less negative analogy) that can be changed at any time. This is arguably going to be a tough option to sell to the CTO who has to oversee a multi-million dollar business and wants to lock down every sector of his IT backbone if he possibly can.
From dynamic to the static state
There is of course another option. Commercially licensed versions of open source software will be built with static (as opposed to dynamic) libraries, which are more stable and can be optimised for a single use case environment. Industrial automation systems and test measurement units are good examples here where code library lock down is a prerequisite, so that risk levels can be quantified. A static library provides rigidity so that an application can be "certified" and given a warranty before usage.
Of course, some software developers will work in environments where implementation of commercially supported (and licensed) code is mandatory because they are bound by a stipulated level of risk due to the sensitive nature of their work. Others will be able to work without consultancy support, so in these environments a more open approach may be acceptable.
So enough analysis of open source then. Suffice to say that the issue of open source "openness" creates special challenges, especially so in cloud computing environments that, in the main, will be business-centric deployments that require lock down. So how do we serve up a portion of open source in the cloud and keep it well managed. Surely we are going to need an agreed set of standards?
Does OpenStack lead the pack?
Cloud Pro Newsletter
Stay up to date with the latest news and analysis from the world of cloud computing with our twice-weekly newsletter
Well that is exactly what Rackspace, NASA, Dell, Citrix, Cisco, Canonical and over 50 other organisations have tried to do by forming OpenStack. This alliance sets out to be (in their own words), "A global software community of developers, technologists, researchers and corporations collaborating on a standard and massively scalable open source cloud operating system. Our mission is to enable any organisation to create and offer cloud computing services running on standard hardware."
So far, the OpenStack project has developed two projects in the shape of OpenStack Compute and OpenStack Object Storage. OpenStack Compute is described as software to provision and manage large groups of virtual private servers and OpenStack Object Storage is software for creating redundant, scalable object storage using clusters of commodity servers to store terabytes or even petabytes of data.
So far so good then, open source cloud computing progress is being made in some areas at a surface level if nothing else -- implementation and deployment figures are unsurprising hard to come by. That being said, OpenStack is available free of charge under the Apache 2.0 license and any developer or organisation can run it, build on it, or submit changes back to the project. So it is very real and tangible, plus one doesn't imagine that NASA would back a lame horse.
Ubuntu Enterprise Cloud
Looking further afield, the open source cloud has gained significant traction in other areas, with the Ubuntu Enterprise Cloud making a charge for the lion's share of the headlines over the last few months. Canonical (the company that oversees Ubuntu) has built the Ubuntu Enterprise Cloud so that it is integrated with the Eucalyptus private cloud platform. The argument here being that it is more straightforward to use and can create a private cloud with fewer configuration requirements than trying to install a distro of Linux in the first place and then trying to add a layer of Eucalyptus on top.
NB: Eucalyptus itself is more fully described as an open-source infrastructure for the implementation of cloud computing on computer clusters. The name EUCALYPTUS is derived from the acronym: "Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems."
"Private clouds offer immediacy and elasticity in your own IT infrastructure. Using Ubuntu Enterprise Cloud, you can experience the benefits of cloud computing behind your firewall. Deploy workloads and have them running immediately. Grow or shrink computing capacity to meet the needs of your application," says the company.
Canonical is arguably slightly over-bullish at the moment regarding the implementation of this technology and has asserted that Ubuntu is 'at the heart' of cloud computing. Attempting to justify this statement, the company says that, "We ought to look at more evidence here. In addition to being the OS at the heart of new cloud infrastructures, we are seeing enormous usage of Ubuntu as the guest OS on the big public clouds, such as AWS and Rackspace, for instance. It is probably the most popular OS on those environments and others."
Managing the open source cloud
What we will also need to embrace is the question of system management here, as more than one vendor has put a strong foot forward already. VMware has just unveiled a new strategy designed to simplify and automate exactly how developers should manage services in dynamic virtual and cloud environments. VMware vCenter Operations sets out to replace traditional management tools and processes, which were designed to handle discrete processes across static computing stacks and work with more virtual cloud based resources instead.
Also comfortably nestled in the cloud management space is Nimbula Director, a product designed to manage both private and public clouds. This product also supports what is described as 'controlled access' to Amazon Elastic Cloud 2 and is somewhat similar to Eucalyptus in terms of form and function. Finally there's also CloudSwitch, which claims to enable enterprises to run applications in the cloud, without the need for re-architecting the application or changing management tools and policies.
NB: VMware, Nimbula, CloudSwitch are not open source technologies themselves, but they do sit alongside the type of cloud deployments discussed here -- and they are interoperable with most of the technologies covered in this piece.
… open clouds at sunset
So as we approach sunset on this chapter of the open cloud computing journey, what do we know? One certainty is that we need wider adoption of standards, but in truth not all of these standards have even been laid down yet, so you may justifiably say that it's still early days. We also know that there will be heavy competition among the operating system vendors for a slice of this compute pie -- and as we're in the cloud here, this means that extensibility and interoperability will be of key importance. We also know that there is a management element to accommodate for -- and in that this will generally come 'after' the open cloud solutions themselves, so we may need to mind the gap.
Open source cloud computing may not be quite a marriage made in heaven then, but we can say with some certainty that a second romantic date is definitely on the cards.