Open source cloud technologies at a glance
Cloud Quartet
Until recently, the open source cloud platform race was easy to keep track of: In 2008, it was a one-horse race with OpenNebula available under the Apache License; a year later, the GPLv3-licensed Eucalyptus joined in. Again, a year later, the OpenStack project was initiated by Rackspace, which has been the subject of increased media attention recently. In summer 2011, just two months after taking over cloud provider Cloud.com, Citrix also put its cloud management platform CloudStack [1] under the GPLv3.
The handover of the project from Citrix to the Apache Foundation in April 2012 was accompanied by a change in the license for the CloudStack platform to the Apache 2 license, while Citrix still remained the main sponsor. According to Citrix, the license change was meant to bring about the fastest possible dissemination of "open, interoperable cloud computing." To meet all of the Apache Foundation's requirements, numerous licenses went through checks, and other formalities had to be met. Thanks to the tremendous rate of development work, efforts were rewarded with the promotion to top-level Apache project [2].
Ubiquitous
Now, you have four open source Infrastructure as a Service (IaaS) solutions from which to choose, each with a different emphasis. The underlying technology (hypervisors), standards, and interfaces largely overlap, as do the supporters and sponsors involved. For example, along with Citrix, Microsoft, IBM, AMD, Google, Yahoo, and Facebook are backing CloudStack. CloudStack support from Microsoft is interesting, in that CloudStack will in future support Hyper-V, in addition to the Citrix Cloud Platform, Oracle VM, VMware (vSphere), KVM, and XenServer hypervisors.
The Citrix contribution to OpenStack seems strange because, within the company, the commitment to CloudStack is clear, at least since the Apache license change. Their commercial cloud platform [3] is also based on CloudStack, which is aimed primarily at commercial competitors and already offers support for vSphere and Oracle VM; the current version also supports bare metal provisioning. However, Citrix had previously introduced vSphere support into OpenStack.
OpenStack
OpenStack, which was launched by Rackspace and NASA and implemented in Python, supports the KVM and Xen hypervisors. Support for Hyper-V, which was implemented temporarily, had to be removed early last year because Microsoft had not maintained the code. Besides Citrix, Canonical, SUSE, Dell, HP, AMD, and Intel also support the project. Early in 2012, IBM and Red Hat joined in.
The OpenStack Dashboard introduced a web interface to supplement the REST API some time back. The Django-based implementation by Canonical goes by the name of "Horizon." Interestingly, the REST API in OpenStack can also be controlled via the Eucalyptus command-line interface. One famous user of OpenStack is Deutsche Telekom, who used it to implement a new "Business Marketplace" last year [4].
The OpenStack version "Folsom," available since last September, was replaced by the current seventh release, OpenStack "Grizzly," shortly before the editorial deadline for this issue; it now also supports bare metal provisioning (for more details, check out the OpenStack article in this issue). The biggest shortcoming of OpenStack is the lack of an interface to AWS out of the box, although third-party solutions, such as Canonical's AWSOME (Any Web Service Over Me), are available.
Eucalyptus
The two older IaaS solutions, Eucalyptus and OpenNebula, are the result of research projects. Eucalyptus, which was created at the University of California stood out from the competition from the beginning, thanks to its compatibility with Amazon Web Services (AWS) and EC2 S3. The current version is still 2.0.3 from 2011. It is worth mentioning that version 1.5 of Eucalyptus was officially integrated into Ubuntu and used as the foundation of Ubuntu Enterprise Cloud (UEC). Meanwhile, however, Ubuntu favors OpenStack. Eucalyptus has also been included in Debian GNU/Linux since version 1.6.2.
Supporters of Eucalyptus, in addition to Amazon, are Dell, HP, Intel, Novell, Red Hat, and Ubuntu. The strength of Eucalyptus is API compatibility with Amazon's EC2 platform. Admins can set up a test system composed entirely of free software for evaluating EC2. Furthermore, companies that are already AWS customers can integrate Eucalyptus into their own development projects before they go online in the Amazon cloud. Eucalyptus' reputation among experts, apart from the integrated Ubuntu version, is that it is not trivial to install or configure.