OpenStack and CloudStack: Open Source Solutions for Building Public and Private Clouds Amine Barkat, Alysson Diniz dos Santos, Thi Thao Nguyen Ho Politecnico di Milano Dipartimento di Elettronica Informazione e Bioingegneria Piazza L. da Vinci, 32 - 20133 Milano, Italy Email: amine.barkat@polimi.it, alysson@virtual.ufc.br, thithao.ho@polimi.it Abstract—Cloud computing is continuously growing as a prominent technology for enterprises. While several giant public cloud providers, such as Amazon, Microsoft, IBM, Google are competing to extend their market, there is still a large number of organizations asking higher level of privacy and control over cloud solutions. Therefore, the need to have private cloud solutions is obvious. To overcome this need there are several on-going open source software frameworks for building public and private clouds. Among them, OpenStack and CloudStack are growing at fast pace and gaining more attention. An analysis on these software stacks is necessary in order to choose the most suitable solution that matches an enterprise’s requirements. This paper main contribution is an in depth study and comparison of the cloud properties of these two open source frameworks, providing useful information on open source cloud solutions that are not available elsewhere. KeywordsOpenStack, CloudStack, cloud computing, open source, public cloud, private cloud, IaaS I. I NTRODUCTION Cloud computing is a new computing model that brings together all disciplines, technologies and business models to deliver Information Technology (IT) resources on-demand. This is a new trend that well fits in an environment where resources are provisioned dynamically and exposed as a service on the Internet [1]. In this context, open source cloud technolo- gies such as OpenStack, CloudStack, OpenNebula, Eucalyptus, OpenShift, and Cloud Foundry have gained significant momen- tum in the last few years. For a researcher and practitioner, they present a unique opportunity to analyze, contribute, and innovate in new services using these technologies [2]. Cloud computing consists basically of three levels of offerings [2]: 1) Infrastructure as a Service (IaaS), where the equip- ments are provided in the form of virtual ma- chines. The client maintains the applications, run- time, integration SOA (Service Oriented Architec- ture), databases, server software while the supplier maintains the virtualization layer, server, storage, and network hardware. Among the main actors of IaaS, we find Amazon EC2, Rackspace, GoGrid. 2) Platform as a Service (PaaS), user can develop his own applications using the services provided. The client maintains only his applications, while the sup- plier maintains all the cloud stack from hardware up to application containers. We have among the key players: Google Apps Engine, Windows Azure. 3) Software as a Service (SaaS), entire applications are available remotely. Among the providers we have GoogleApps, Salesforce, and Facebook. At the three levels of cloud offerings are shown in Fig. 1, the lowest level is the focus of this paper. The IaaS manages computing resources (computing, storage, network), and the virtualization layer that allows the access to the physical resources (e.g, processor, memory and other devices) providing resource isolation and security. Fig. 1: Offering levels in cloud computing In the need of having IaaS solutions that can give more privacy and control over the system, open source clouds are born to build private clouds. Eventually, these open source solutions can be used to set up public clouds, private clouds or a mix of them, i.e, hybrid clouds. With the emergence of different open-source cloud solutions, the decision to choose the most suitable one that meets users needs becomes a difficult task, because every platform has its specific characteristics [3]. Moreover, since hybrid clouds are the most widely used nowadays, surveying open source middlewares that simplify cluster management and the creation of private clouds enabled for cloud bursting is an important matter. In this sense, several papers begin to analyze and compare each platform, trying to establish a starting point to look when deciding which open source cloud technology should be adopted. [4]–[6] give essentially an overview of Eucalyptus, Nimbus and Open- Nebula solutions, highlighting their different characteristics. [2], [7]–[10] conduct surveys, classify and compare different open source solutions. Concerning specifically OpenStack and 2014 16th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing 978-1-4799-8448-0/15 $31.00 © 2015 IEEE DOI 10.1109/SYNASC.2014.64 427 2014 16th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing 978-1-4799-8448-0/15 $31.00 © 2015 IEEE DOI 10.1109/SYNASC.2014.64 429