OpenStack and CloudStack are two robust cloud-management tools. In the first part of this series, we examine the...
evolution of the two approaches. The second part of the series looks at how the vendors behind each strategy measure up.
Interest and investment in both public and private cloud computing have grown rapidly due to their ability to reduce costs and speed application deployment. Enterprises no longer need to maintain computing resources that are used periodically but are often idle, and staff time can be devoted to application development rather than system maintenance. OpenStack and CloudStack are open source cloud orchestration architectures that help make cloud-computing management more efficient.
When considering OpenStack versus CloudStack, it's helpful to understand their roots. Each was designed with the same goal: to provide a set of open source components that together deliver the functions necessary to manage clouds consisting of up to thousands of individual servers. Both are aimed at service providers building public clouds and enterprises consolidating their resources in private clouds.
Both OpenStack and CloudStack include a compute function that allocates virtual machines to individual servers, a network function that manages switches to create and manage virtual networks, object and block storage systems, an image management function and a cloud computing management interface in support of all of these components. While the two approaches share the same goals and have the same basic functions, their histories and project organizations differ.
OpenStack began as an open source project in 2010 by Rackspace Hosting Inc. and NASA. At the time, Rackspace was developing a storage component for use in its public cloud, and NASA was developing a compute component for its private cloud. The two organizations found that they could eliminate redundant development efforts by joining forces and making their components available as open source. Consequently, they combined their efforts and created the OpenStack project. They then invited other vendors to contribute components to create a complete open source cloud-computing solution.
The first release in 2010 contained only the Rackspace and NASA components. Subsequent releases have contained additional components developed by vendors that have joined the project. Initially, Rackspace managed the project, but in 2012 the OpenStack Foundation was created. The foundation is governed by an elected board of directors. The OpenStack Technical Committee consists of project leaders for each of the core software projects, and the User Committee represents the views of organizations that have deployed OpenStack.
OpenStack.org currently claims 850 foundation members from 87 countries. Platinum Members provide the highest level of support for the foundation followed by Gold Members, Corporate Sponsors and individual members. Among the eight current Platinum Members are AT&T, HP, IBM and Rackspace. Today, there are 14 Gold Members including Cisco, Dell and VMware. Code is freely available under the Apache 2.0 license.
CloudStack: The beginning
Work on CloudStack began at Cloud.com. The goal was to enable service providers and enterprises to create and operate public or private clouds with capabilities equivalent to Amazon's Elastic Compute Cloud. In 2010, Cloud.com released a freely downloadable community version under the GPLv3 license and subsequently released two supported versions.
In July 2011, Citrix Systems Inc. acquired Cloud.com. Citrix had been one of the early members of the OpenStack community but decided early in 2012 to leave that community. According to press reports, the decision was made because Citrix believed that the code originally developed by Cloud.com was more stable and offered users more capabilities than OpenStack.
In April 2012, Citrix released the Cloud.com code to the Apache Software Foundation. Development is now governed by the Apache Foundation with the code available under the Apache 2.0 license. Citrix continues to offer a supported version of the solution. Since the transition to Apache, other vendors have joined the effort by adding capabilities and enhancing the core software.
Unlike the OpenStack Foundation with its list of sponsors, there is no similar published list of CloudStack supporters. The Apache Foundation is responsible for a large number of projects; Apache project members are listed as individuals rather than the companies they represent.
Companies interested in an Apache project assign individual staff members to work on the project. Among current CloudStack project members are employees of Citrix and several from less well-known companies such as Sungard, Schuberg Philis, TCloud Computing and EPAM Systems. Project direction is set by individual participants representing the wishes of their employer.
Despite the lack of a comprehensive list of CloudStack contributors, Citrix lists contributors on its website, including Big Switch Networks, Brocade, Cisco, Juniper Networks and a number of smaller companies such as Basho Technologies, Cloudsoft, PuppetLabs and SwiftStack.
OpenStack vs. CloudStack: Differences based on history
Cloud.com developed and released Cloud.com before the effort was opened to a larger community. As a result, most of the core components of CloudStack were developed by Cloud.com and then enhanced by Citrix.
The OpenStack project, by contrast, was opened to a community early in its development. The result is that OpenStack has gathered support from a larger number of major vendors than CloudStack. These vendors in many cases developed components for OpenStack first and created CloudStack interfaces later.
Additionally, Cisco and Nicira have taken major roles in developing Quantum, the OpenStack networking component. Quantum receives directives from virtual machines defining the virtual networks they require and then issues commands to switches and routers to create these networks. Now that work is done in developing Quantum for OpenStack, Cisco and Nicira are now interfacing it to CloudStack.
Each switch vendor must create a plug-in that is installed in Quantum. The plug-in translates Quantum directives into the command syntax specific to that vendor's devices. Extreme Networks and Brocade, both OpenStack Foundation members, have created and tested plug-ins for OpenStack. Both intend to add support for CloudStack in the future.
OpenStack and CloudStack also differ in how components are selected for a deployment. An OpenStack deployment uses OpenStack components to support each required cloud function. In addition to Quantum, a deployment will include Swift and Cinder for object and block storage.
By contrast, CloudStack has a pluggable model. It includes a management component, a compute component that allocates virtual machines to individual servers and an image repository. It includes network support for software-defined networking (SDN), flat networking with elastic IP, load balancing as a service (LBaas), firewall, virtual private clouds and complex VLANs.
CloudStack's pluggable model provides options to implement these features. Customers may choose SDN support from Nicira, Midokura or Big Switch Networks and choose load balancing using NetScaler or F5. For object storage, CloudStack offers a choice of products from Basho, Caringo, Cloudian or EMC's Atmos. Users also may choose OpenStack's Swift component. Block storage choices include products from SolidFire or Inktank Storage.
Both OpenStack and CloudStack support a selection of hypervisors. OpenStack supports KVM, LXC, VMware ESX/ESXi, Xen, PowerVM and Hyper-V. CloudStack supports KVM, vSphere and Citrix XenServer.
Determining the best choice
Enterprises must examine each solution carefully before making a choice. Citrix points to a list of large service providers, universities and others to demonstrate CloudStack's stability.
Those concerned about OpenStack stability can select a supported release from Piston Cloud Computing or from Dell and Rackspace.
Both products continue to evolve. CloudStack offers a range of options for storage and networking. CloudStack had superior Layer 3 network support until the most recent OpenStack release. Formerly, CloudStack also boasted greater compatibility with Amazon EC3, but OpenStack has now improved in this area as well.
Enterprises must identify their requirements carefully and examine how each solution meets their needs. While both support a number of widely used hypervisors, companies must assess which best supports the hypervisor selected for use in the cloud. Determine which solution offers the best support for existing network and storage equipment and servers. And if you are working with integrators or VARs, ask about their specific experience with one or both of the solutions. Make sure to review all these considerations before making your final choice.