We’ve talked a lot in this space about how open clouds are driving business model transformation. But one thing we’ve not talked much about is the collection of open source projects that comprise the open cloud.
A Basic Definition
Open source software is licensed via an open source license, examples of which include Apache, GPL, GNU and MIT (News - Alert) licenses. The copyright holder is usually a foundation established for the purpose, and licenses generally cover rights to study, change and distribute the software at no charge and for most any purpose. The code is developed in an open, collaborative manner by volunteer developers and by commercial entities interested in leveraging the software for use in their own products.
Open source is more than software. There also are open source projects for hardware and data center design. We’ll take a greatly simplified look at three open source software projects and, even more briefly, three open source hardware and design projects that form the foundation of the leading open clouds. (Obvious omissions like Linux were passed over because they are not, strictly speaking, cloud projects.)
Three Infrastructure as a Service Projects
Three major open source software projects offer options for companies wanting to build infrastructure as a service clouds. Eucalyptus, CloudStack and OpenStack each offer differing degrees of scalability, API compatibility with public clouds like Amazon Web Services (News - Alert) and the ability to run on commodity hardware.
Eucalyptus was the first to the IaaS party, launching in 2008. Born from a university project funded by the NSF to develop programming languages and runtimes for large-scale grid computing applications, the project has grown to add a substantial feature set and a sizeable user base. Eucalyptus Systems is the corporate sponsor, and the software is licensed via the GPLv3 license.
Eucalyptus deployments are chiefly private clouds and, to a lesser extent, hybrid clouds leveraging the AWS API set. The workloads that run on Eucalyptus-based clouds tend to be legacy enterprise workloads, and the goal of most deployments has chiefly been server consolidation using existing hardware assets.
CloudStack came along next, with a 2010 initial release. It was developed by Cloud.com, which was acquired by Citrix in 2011, and the software is licensed under the Apache license. CloudStack moved in a different direction than Eucalyptus, adding features that improved scaling, high availability and support for a wider selection of hypervisors. Citrix is the project’s corporate sponsor.
OpenStack is the youngest of the three open IaaS projects. The project was launched in 2010, with its first stable release, Essex, in 2012. The code is licensed under the Apache license. Core OpenStack projects include Nova compute, Swift (News - Alert) object storage, Cinder block storage, Quantum networking and Horizon dashboard. About 7,000 individual members from 850 companies participate in the project. OpenStack is designed to provide standards in cloud architecture to drive greater interoperability. Rackspace (News - Alert) was the original corporate sponsor, but the project is now owned by the OpenStack Foundation and funded by an array of corporate sponsors.
The choice of IaaS software – Eucalyptus, CloudStack or OpenStack – should be driven chiefly by your intended use case. If server consolidation and virtualization with a measure of automation running legacy workloads is your goal, Eucalyptus and CloudStack are both good choices. If you want to support new, dynamic workloads designed to provision and manage their own resources in an architecture that looks more like AWS, then OpenStack is the strongest contender.
Open Hardware, Open Networking and Open Datacenter Design
The same principles that make open source software a winning proposition for cloud – collaboration, agility, community, economics – also make open source hardware, networking and datacenter design projects work.
Open Compute is a project launched by Facebook in 2011 to open source the design of commodity servers. The project now embraces storage and datacenter design as well. Similar to OpenStack, the goal is to drive interoperability through standardization.
OpenFlow is a software-defined networking project managed by the Open Networking Foundation. It improves network efficiency and performance by giving a remote controller the ability to modify the behavior of network devices through a “forwarding instruction set.”
The Open Data Center Alliance was formed in 2010 by a group of large enterprises and Intel (News - Alert) to build open reference standards for datacenter designs that are efficient and simple compared to the heterogeneous design approaches that prevail in enterprise datacenters worldwide.
In summary, without open source, there is no open cloud. And the more you know about each of the key projects, the better prepared you’ll be to design a cloud strategy that ideally suits your organization’s objectives.
(Disclosure: Randy’s company, Cloudscaling, builds its product, Open Cloud System, on OpenStack.)
Edited by Stefania Viscusi