Recent Researches in Information Science and Applications

Comparison of multiple IaaS platform solutions

OMAR SEFRAOUI MOHAMMED AISSAOUI MOHSINE ELEULDJ MOHAMED I UNIVERSITY MOHAMED I UNIVERSITY MOHAMED I UNIVERSITY National School of Applied Science National School of Applied Science National School of Applied Science BP 669 Al Qods, OUJDA BP 669 Al Qods, OUJDA BP 669 Al Qods, OUJDA MOROCCO MOROCCO MOROCCO [email protected] [email protected] [email protected]

Abstract: Currently, several solution IaaS (Infrastructure ) exists. Administartors, developers and users need to choose the best environment for them.The availability of free open source Cloud platforms is essential to further drive the proliferation of private and hybrid Cloud computing environments. In this paper, we present a comparative study between some of the IaaS commonly used to select the best suited one for deployment and research development in the field of cloud computing. The aim is to provide the computer industry with the opportunity to build a hosting architecture, massively scalable which is completely open source, while overcoming the constraints and the use of proprietary technologies. Then, we present the solution OpenStack retained by the comparative study. We discuss in detail its functional and architectural system. We finish by a discussion of the motivation of our choice of the IaaS solution.

Key–Words: Opencloud, IAAS, OpenStack, , OpenNebula, Cloudstack, Virtualization, Scalable

1 Introduction supplier maintains the Cloud virtualization, hard- ware server, storage, networks. Among the main Cloud computing is relatively a new concept that actors of IaaS we find Amazon EC2, Rackspace, brings together all the disciplines, technologies (Web GoGrid. services, virtualization, SOA: service oriented archi- tecture, grid computing,. . . ) and business models used 2. (PaaS), you can develop to deliver IT capabilities (software, platforms, hard- your own applications using the services pro- ware) as a service request, scalable and elastic [24]. vided. The client maintains only those appli- This is the new trend of computing where IT resources cations while the supplier maintains the run- are dynamically scalable, virtualized and exposed as a times Cloud, SOA integration, databases, server service on the [8]. software, virtualization, server hardware and the Cloud computing is often associated with the sup- storage networks. We have among the key play- ply of new mechanisms that allow providers to give ers: Apps Engine, Windows Azure. users access to a virtually unlimited number of re- sources (Resource Outsourcing). It also uses billing 3. (SaaS), the entire ap- mechanisms to use these resources on the basis of plications are available remotely. Among the their consumption, allowing on-demand model: pay- providers we have GoogleApps, , face- per-use [8]. Warranties are offered by the infrastruc- book. ture provider through tailored service contract: Ser- vice Level Agreements (SLA) [8]. Today, all major industry players offer cloud so- The three levels of cloud offering are shown in lutions, especially Amazon EC2, Azure, figure 1, the lower level is the computer hardware re- Google Apps and IBM blue cloud [23]. sources (computing, storage, network), and mecha- Cloud computing consists of three levels of offer- nisms called virtualization , which virtual- ings: ize access to the material resources of a physical ma- chine (processor, memory and other devices). The in- 1. Infrastructure as a Service (IaaS), where the terest of a hypervisor is to dynamically add or remove equipment is provided in the form of virtual ma- instances of virtual servers on one physical server. chines. The client maintains the applications, This is done using the tools of services and interfaces runtimes, integration SOA (Service Oriented Ar- management. The upper level represents the interac- chitecture), databases, server software while the tions between the users of the services and the cloud.

ISBN: 978-1-61804-150-0 212 Recent Researches in Information Science and Applications

ula, including characteristics, architectures and appli- cations are done in order to provide more freedom of choice for the users of the cloud. Concerning Open- Stack, little work has addressed this solution [11]. We find in [11] a comparative study of Eucalyptus, Nim- bus and OpenNebula. This study, from 2011 is out- dated. OpenStack has since then evolved, requiring an update. Recently, G. von Laszewski [6] outlined the differences between Eucalyptus IaaS platforms, OpenNebula, Nimbus and OpenStack. The focus is on the look and feel interface, storage and network usage in a project called FuturGrid. The openness of the cloud is not addressed.

3 COMMON ANALYSIS OF CLOUD SOLUTIONS Different solutions exist for the deployment of open source clouds. Among these, we have Nimbus, Euca- lyptus, OpenStack, OpenNebula and Cloudstack. We propose a comparative study of the last four solu- tions in order to select the most appropriate solution Figure 1: General architecture of the Cloud. to our criteria. These include popularity, community use, modularity, openness, open source. Evaluating of comparing several IaaS cloud solutions requires a Currently, several proprietary and some open set of criteria such as: Management, Virtualization, source solutions exist, but are not easily amenable to Storage, Network, Security and Community Vendor experimentation or instrumentation. Researchers in- Support Criteria. terested in pursuing studies on Cloud Computing IaaS have few tools to work with. In this paper, from a comparative study of exist- 3.1 Eucalyptus ing IaaS solutions, we propose an open source cloud Eucalyptus is a solution that allows the installation of platform, modular and totally open, for any use in- a private and hybrid cloud infrastructure. It is writ- cluding research. The paper is organized as follows. ten in Java language, C and Python, with a main stor- First, we compare the different IaaS solutions. Then, age controller walrus and controllers on each node. we present the OpenStack platform adopted by this The network is managed by the component cloud con- comparative study. After that, we present the different troller and each controller is authenticated by SSH key works done on IaaS solutions. Finally, we conclude files and permission to authenticate transactions. Eu- with a general summary and possible future works. calyptus scalability is limited, compared to the mas- sive scalability, and the source code of some of its modules are closed. This is why it is being abandoned 2 RELATED WORKS for other solutions. Eucalyptus is the platform used by Amazon EC2. Earlier studies about IaaS solutions focused on two sides, the study of middleware platforms and on the comparative studies of the different solutions. Euca- 3.2 OpenNebula lyptus [5, 14], OpenNebula [1, 17] and Nimbus[12] OpenNebula is another cloud solution, it is open have been largely studied in the literature. In these source under Apache 2 license. It is written in C++, works, the architecture and various components of Ruby and Shell. The network is managed manually these solutions were presented. There are also com- by the administrator. Storage, the default copy of the parative studies of different solutions [21, 25]. In [1, virtual machines are accessed via SSH. OpenNebula 12, 14], it is essentially an overview of the solutions supports authentication via LDAP. OpenNebula is the Eucalyptus, Nimbusm OpenNebula and a presentation recommended platform for Europe and developed by of their different characteristics. In [21, 25], compar- a Spanish company. It is an easy to use solution for ative studies of Eucalyptus, Nimbus and OpenNeb- Data Centers and Private Cloud.

ISBN: 978-1-61804-150-0 213 Recent Researches in Information Science and Applications

3.3 Cloudstack Table 1: Comparative study of IAAS solution . CloudStack [3] is an open source IaaS Cloud platform Solutions cloud computing IAAS originally developed by Cloud.com. In April 2012, Eucalyptus OpenNebula Cloudstack OpenStack Citrix donated CloudStack to the Apache Software Storage + + + + + + + + + + + + + + + + + + Foundation, while changing the license to Apache 2.0. CloudStack implements the Amazon EC2 and Network + + + + + + + + + + + + + + + + + + S3 , as well as the vCloud API, in addition to Security + + + + + + + + + + + + + + + + its own API.CloudStack, written in Java, is designed Hypervisor + + + + + + + + + + + + + + + + to manage and deploy large networks of VMs. Cloud- Scalable + + + + + + + + + + + + + + + + + Stack currently supports VMware, Oracle VM, KVM, Installation + + + + + + + + + + + + + + + XenServer and Cloud Platform. CloudStack has Docs + + + + + + + + + + + + + + + + a hierarchical structure, which enables management Code Openness + + + + + + + + + + + + + + + + + + of multiple physical hosts from a single interface.

3.4 OpenStack study, it appears that the best solution is OpenStack, it can become the reference solution of open source OpenStack solution is recent and under active devel- cloud computing because of its characteristics. opment. It has great potential due to its architecture and community and the support of its partners. All code is licensed under Apache 2 license. OpenStack is a platform developed by NASA dedicated to mas- 4 OPENSTACK ARCHITECTURE sive infrastructures. OpenStack architecture is built using three main com- OpenStack main characteristics are that is : ponents: OpenStack Compute, Image and Object (see figure 2). In this section, we will explain in detail • Scalable: This solution is already deployed these components and we will describe other compo- worldwide in companies whose data volumes nents of OpenStack. is measured in petabytes of distributed archi- tectures and massively scalable up to 1 million physical machines, up to 60 million virtual ma- 4.1 OpenStack Compute chines and billions of stored objects [9]. OpenStack Compute, also known as Nova, is a man- agement platform that controls the infrastructure to • Compatible and Flexible: OpenStack supports control IaaS clouds. It is similar in scope to Amazon most virtualization solutions of the market: ESX, EC2 [12] and Rackspace CloudServers [13]. Nova Hyper-V, KVM, LXC, QEMU, UML, Xen and Compute allows managing large networks of virtual XenServer [2, 23]. machines and redundant and scalable architectures. • Open: Being an open source technology, the en- It provides an administrative interface and an API tire code can be modified and adapted as needed. needed for the orchestration of the Cloud. It includes The project OpenStack also presents a validation instances management for servers, networks and ac- process for the adoption and development of new cess control. Compute requires no prerequisite hard- standards. ware and is completely independent of the hypervisor Nova consists of seven main components (Fig- This project is supported by many companies in ure 3). At first, we have the API Server, which is the world (mainly in the U.S.) and is based on the code considered the heart of Nova. It acts as the Web front used by NASA and . In April 2012, end service control of the hypervisor. Then, we find the project lead and management functions have been the Message Queue that implements the mechanism transferred to a newly formed OpenStack Foundation. for dispatching the exchanged instructions to facilitate It is written in python and currently implements two communication. After that, Compute Controller han- control APIs, the EC2 API and Rackspace. It uses dif- dles the lifecycle of instances, it is responsible for cre- ferent drivers to interface with a maximum number of ating and manipulating virtual servers, while the com- (Xen, KVM, HyperV, Qemu) [19]. This ponent Object Store provides storage services. Vol- project is dedicated to providing the computer indus- ume Controller component handles the assignment, try with the opportunity to build a hosting architecture attachment and manipulation of volumes. While the and massive scalability and is completely open source, network Controller is responsible for the creation of while it overcomes the constraints of the use of pro- Bridges / VLAN / DHCP / DNS and firewall rules. prietary technologies. According to this comparative Finally, Scheduler distributes tasks and determines

ISBN: 978-1-61804-150-0 214 Recent Researches in Information Science and Applications

Figure 2: OpenStack Architecture [10]. where they should be executed. 5 DISCUSSION Several considerations should be taken to determine 4.2 OpenStack Imaging Service the best suited solution for the implementation of a Imaging Service (project Glance) provides storage cloud platform. services, recording and distributing the images to vir- In addition to the aspects discussed in the pre- tual machine disks. It also provides an API compati- vious section, respecting the openness and scalabil- ble with the REST architecture to perform queries for ity criterea. We insist on two very important points : information on the images hosted on different storage Opensource and support for new standards. systems. From the beginning, OpenStack was completely open source. Eucalyptus recently opened its source 4.3 OpenStack Object Storage code but the development of additional plugin is still commercial. Object Storage (Swift project) is used to create a stor- age space redundant and scalable for storing multiple OpenStack also supports the Open Cloud Com- petabytes of data. It’s not really a file system but is puting Interface (OCCI) [15], which is an emerging especially designed for long term storage of large vol- standard defining IaaS APIs, and delivered through umes. It uses a distributed architecture with multiple the Open Grid Forum (OGF) [16]. For a purely open access points to avoid SPOF (Single Point of Failure). source policy, OpenStack seems to follow the trends dictated either by the needs of users or by compliance with the new open standards. Thus Openstack has 4.4 Other components proposed a support for the OpenFlow standard [22]. Features are added to fill a missing service or improve The same applies to OpenNebula, but indirectly with an existing one like: the usage of Open vSwitch [18] [20]. While Eucalyp- • OpenStack Dashboard - horizon tus has not yet supported this very promising standard. • Keystone, Identity Service for OpenStack. It is the authentication system of OpenStack. This 6 CONCLUSION new component is emerging to address the prob- lem of authentication and authorization of Open- OpenStack is designed to allow administrators and re- Stack. searchers to deploy IaaS infrastructure and provide tools for creating and managing virtual machines on • Quantum, OpenStack Virtual Networking and top of existing resources. This work aims to illus- Atlas, OpenStack Load Balancer. trate that the system OpenStack has filled an im-

ISBN: 978-1-61804-150-0 215 Recent Researches in Information Science and Applications

Figure 3: Nova system architecture [10]. portant niche in the design space of cloud comput- Grid Indiana University, Bloomington, IN, Fu- ing by providing an easy to deploy over the existing tureGrid Draft Paper, April 2012. resources, easy to use in experimentation by being [7] Google Insight URL: http://www. modular, and most importantly formsopen source and google.com/insights/search/?hl= provides powerful features while following emerging en open standards. Currently, we deployed the entire sys- [8] Keith J., Burkhard N.(2010).The fu- tem. This system will be used in future works to study ture of cloud computing. Opportuni- and evaluate its performances in dynamic reconfigura- ties for European Cloud Computing be- tion in a IaaS Cloud Computing. yond (2010). Expert group report, URL: http://cordis.europa.eu/fp7/ict/ ssai/docs-cloudreport-final.pdf) References: [9] Ken pepple july 2011. Deploying OpenStack. [1] B. Sotomayor, R.S. Montero, I.M. Llorente, OReilly Media, Inc., 1005 Gravenstein Highway I. Foster, Virtual infrastructure man- North, Sebastopol, CA 95472. agement in private and hybrid clouds [10] Ken pepple URL: http://ken.pepple. IEEE Internet Comput. 13 (2009) 1422. info/ doi:10.1109/MIC.2009.119. [11] M Mahjoub, Mdhaffar A, Halima R.B, Jmaiel [2] Citrix Systems. (2010). Xen Cloud Platform M. Comparative Study of the Current Cloud - Advanced Virtualization Infrastructure for Computing Technologies and Offers 2011. the Clouds. URL: http://www.xen.org/ [12] Nimbus. URL: http://www. products/cloudxen.html. nimbusproject.org/. [3] CloudStack URL: http://cloudstack. [13] Nova URL: http://nova.OpenStack. org/ org/runnova/index.html [4] Elastic IP and Security Groups using OpenFlow [14] Nurmi, D., Wolski, R., Grzegorczyk, C., URL : http://blog.opennebula.org/ Obertelli, G., Soman, S., Youseff, L. et al. (2009) ?p=2695 The Eucalyptus Open-Source Cloud Comput- ing System. In: 9th IEEE/ACM International [5] Eucalyptus URL: http://www. eucalyptus.com/ Symposium on Cluster Computing and the Grid .Shanghai, China 2009. [6] G. von Laszewski, J. Diaz, F. Wang, and G. C. [15] Open Cloud Computing Interface URL: http: Towards Cloud Deployments using Future- Fox, //occi-wg.org/.

ISBN: 978-1-61804-150-0 216 Recent Researches in Information Science and Applications

[16] Open Grid Forum URL: http://www.ogf. org/. [17] OpenNebula URL: http://opennebula. org/ [18] OpenNebula Project. (2010). OpenNebula.org The Open Source Toolkit for Cloud Computing. URL: http://www.opennebula.org/. [19] Openstack Open source software for building private and public clouds., URL: http:// www.OpenStack.org/. [20] Open vSwitch URL : http:// openvswitch.org/ [21] Peter Sempolinski and Douglas Thain,A Com- parison and Critique of Eucalyptus, OpenNeb- ula and Nimbus, University of Notre Dame. [22] Quantum NEC OpenFlow Plugin URL : http://wiki.openstack.org/ Quantum-NEC-OpenFlow-Plugin [23] Takako,P., Estcio,G., Kelner,J., Sadok,D. (2010) . A Survey on Open-source Cloud Computing Solutions.WCGA - 8th Workshop on Clouds, Grids and Applications.Gramado:28 May, 3-16. Teyssier,S. (2010). [24] Vaquero LM, Rodero-Merino L, Morn D (2011) Locking the sky: a survey on IaaS cloud secu- rity. In Journal of computing Springer Verlag 91(1):93,1/2011 1-26 . [25] Z. Lei, B. Zhang, W. Zhang, Q. Li, X. Zhang, and J. Peng Comparison of Several Cloud Com- puting Platforms. Sec-ond International Sympo- sium on Information Science and Engineering, pages 2327, 2009.

ISBN: 978-1-61804-150-0 217