Two of the most popular cloud management platforms from the open-source space are OpenStack and OpenNebula. Both of them provide an open source scalable software platform that allows cloud service vendors and enterprises to provision and orchestrate large deployments of virtual machines, as well as manage and control networking, processing and storage resources in a data center. Both also offer a web based dashboard, as well as command line and API services to better control all of the interrelated components, in IaaS private cloud. However, even though OpenStack and OpenNebula are certainly among the most recognized open source cloud management platforms, in this post I introduce two other CMPs that in my opinion deserve to be explored, namely the CloudStack and Eucalyptus open cloud management platforms.
HP Helion Eucalyptus – Cloud Management Platform
Eucalyptus (Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems) is an open-source platform for creating Amazon AWS compatible cloud environments. The initial release of Eucalyptus goes back to 2008 when Eucalyptus Systems developed it, but the company was eventually acquired by Hewlett-Packard in 2014.
Eucalyptus can manage either Amazon AWS or its own instances and in such way supporting private as well as a hybrid cloud. It allows users to transition between Amazon EC cloud and Eucalyptus private cloud.
Figure 2 shows Eucalyptus architecture overview, which illustrates how well is Eucalyptus designed when it comes to AWS integration, fully supporting auto scaling, elastic load balancing, identity management of entire virtualization model (compute, storage and networking). Eucalyptus Console similarly to other cloud management platforms offers a UI where clients can configure all virtualization resources. Access to VMs over RDP (Windows) or SSH (Linux, BSD) is a norm.
Figure 2 – Eucalyptus Architecture. Eucalyptus Platform Architecture (2013)
According to Eucalyptus (2017), IaaS service components Cloud Controller, Cluster Controller, Walrus, Storage Controller, and VMware Broker are configurable as redundant systems that are resilient to multiple types of failures. Eucalyptus can run multiple versions of Windows and Linux virtual machine images.
Amazon Machine Images are fully compatible with Eucalyptus clouds. Other features include identity management with AD and LDAP support. Support for various network storage devices and storage arrays and direct-attached storage systems. Eucalyptus also fully supports AWS migration tools, management of AWS resources, IAM and HA capabilities.
Apache CloudStack – Cloud Management Platform
CloudStack is an open source software that allows creation, management, and deployment of cloud infrastructures and services, which according to Apache Cloudstack (2017) provides a rich, secure and brand-able user interface that leverages powerful CloudStack API (fully compatible with Amazon EC2 and S3) and in such way allows the end user to manage entire cloud infrastructure. Regarding role support it offers three
In terms of features, CloudStack offers three support roles for its API and user interface, these are namely: admin, domain-admin, and user. CloudStack includes Dynamic Workload Management which automates the networking, computing as well as storage resources while obeying policies of security, compliance and load balancing. On-Demand Virtual Data center Hosting, Broad network Virtualization Capabilities, MPLS Support in the Cloud, Secure Cloud Deployments and its hypervisor agnostic, which means that CloudStack is flexible enough to allow integration with most known hypervisors such as KVM, VMware, Citrix Xen Cloud Platform and XenServer. An excellent feature is also its support for Snapshot Management that helps to counteract the data loss issues. Usage Metering function offers a real-time view into past reports of usage and also allows to generate the invoices necessary for customer billing. As far as storage goes, CloudStack has a built-in storage tiering support as well as support for iSCSI, NFS and Ceph RBD, which allows users to pick the best storage servers from the options offered in the commodity hardware space. Regarding Guest VM OS support, CloudStack accommodates a huge range of operating systems, such as Linux, Windows, and many BSD flavors. Other functionalities are: Event/Audit Logs, User Data Support, Host Maintenance with Live Migration, Flexible Adapter, Random Password for Guest OS, OpenStack Swift Integration for Secondary Storage, Clustered LVM Support, NetScaler Support, Network As a Service and LDAP Integration.
CloudStack deployment architecture is outlined in Figure 1. As we can see, it is built primarily as an IaaS and network as a service, which has good account management feature set, native API, and support for many hypervisors.
Figure 1 – CloudStack Architecture. Apache CloudStack (2013)
Open Source Licensing Model
This section shows how the CMPs compare regarding their open source license model. I have created following comparison table (Figure 6) to put four of these open source platforms side by side.
Figure 6 – Cloud Management Platforms Comparison of Open Source Licensing. © Jozef Jarosciak (2017)
As we can see, except Eucalyptus which is using GNU GPLv3, all other cloud management platforms on our list are licensed under the terms of the Apache License, Version 2.0.
The Apache license has some advantages over GPL, mainly because it allows cloud vendors to innovate without the need to contribute their own platform modernizations back to the open source. While this is often considered as not entirely fair by the open source community, it has some advantages for enterprises, primarily because it protects “them from the “viral infection” problem often associated with other licenses, such as GPL” (Opennebula, 2017).
Following are the main differences between GNU GPLv3 and Apache License 2.0 in a side by side view (Figure 7).
Figure 7 – Open Source Apache v2.0 vs. GNU GPLv3 Comparison. © Jozef Jarosciak (2017)
Conclusion: CloudStack vs. Eucalyptus
CloudStack appears to be overall a better product among the two. Eucalyptus negatives are mainly in the area of AD integration, Management Console and Web access to VM console; and CloudStack also appears to be stronger in the area of Alerts and Notification, Template creation process, Guest OS options, Host Maintenance with Live migration and it has overall less complicated overall implementation process.
Both CloudStack and Eucalyptus are on par when it comes to their APIs, Multirole Support, Hypervisor Agnostic Support, ease of Snapshot creation, Amazon API compatibility and High Availability features.
Figure 3, illustrates detailed cloud computing comparison of CloudStack and Eucalyptus regarding features they offer.
Figure 3 – Detailed Cloud Computing Comparison (2017)
Production Readiness Comparison
Spijkers (2014) states that we should always contemplate the perspective of the cloud user, as well as the viewpoint of the technology builder, Figure 4 explores some of these differences.
Figure 4 – Cloud Management Platforms – The Perspective of the User. Spijkers (2014)
Cloud Model Flexibility Comparison
According to Llorente (2013), of the most critical dimensions of the cloud model is its flexibility regarding the abilities to adapt to data center services and to be modified to deliver a cloud service, as outlined in Figure 5.
Figure 5 – Cloud Management Platforms – Eucalyptus, CloudStack, OpenStack and OpenNebula. Llorente (2013)
Note: This article is a work in progress. The content is only somewhat complete and needs some elaboration & later revision.
OpenStack. (2017). Q&A » OpenStack Open Source Cloud Computing Software. [online] Available at: https://www.openstack.org/projects/openstack-faq/ [Accessed 15 Jul. 2017].
Apache Cloudstack. (2017). Apache Cloudstack. [online] Available at: https://cloudstack.apache.org/history.html [Accessed 15 Jul. 2017].
GitHub. (2017). eucalyptus/eucalyptus. [online] Available at: https://github.com/eucalyptus/eucalyptus/blob/master/LICENSE [Accessed 15 Jul. 2017].
Opennebula.org. (2017). FAQ – OpenNebula. [online] Available at: https://opennebula.org/about/faq/#toggle-id-16 [Accessed 15 Jul. 2017].
Apache Cloudstack. (2017). Apache Cloudstack. [online] Available at: https://cloudstack.apache.org/ [Accessed 15 Jul. 2017].
Spijkers, D. (2014). CloudStack Versus OpenStack Versus Eucalyptus. [online] Drsalbertspijkers.blogspot.ca. Available at: http://drsalbertspijkers.blogspot.ca/2014/03/cloudstack-versus-openstack-versus.html [Accessed 15 Jul. 2017].
Llorente, I. (2013). Eucalyptus, CloudStack, OpenStack and OpenNebula: A Tale of Two Cloud Models – OpenNebula. [online] Opennebula.org. Available at: https://opennebula.org/eucalyptus-cloudstack-openstack-and-opennebula-a-tale-of-two-cloud-models/ [Accessed 15 Jul. 2017].
Apache Cloudstack. (2017). Apache Cloudstack. [online] Available at: https://cloudstack.apache.org/features.html [Accessed 15 Jul. 2017].
Apache CloudStack (2013). An introduction to Apache Cloud Stack. [online] Slideshare.net. Available at: https://www.slideshare.net/mikejf12/an-introduction-to-apache-cloud-stack [Accessed 15 Jul. 2017].
Eucalyptus Platform Architecture (2013). Eucalyptus Platform Architecture, February 2013.jpg – Wikimedia Commons. [online] Available at: https://commons.wikimedia.org/wiki/File:Eucalyptus_Platform_Architecture,_February_2013.jpg [Accessed 15 Jul. 2017].
Eucalyptus (2017). Eucalyptus (software). [online] Available at: https://en.wikipedia.org/wiki/Eucalyptus_(software) [Accessed 15 Jul. 2017].
Detailed Cloud Computing Comparison (2017). [online] Available at: http://images.techhive.com/images/idge/imported/article/nww/2012/07/073012-cloud-comparison-3-100272321-orig.jpg [Accessed 15 Jul. 2017].