Sunteți pe pagina 1din 5

2012 9th International Conference on Fuzzy Systems and Knowledge Discovery (FSKD 2012)

Comparison of Open-Source Cloud Management Platforms: OpenStack and


OpenNebula

Xiaolong Wen1, Genqiang Gu1, Qingchun Li1, Yun Gao1,2, Xuejie Zhang1,2,*
1
School of Information Science and Engineering, Yunnan University, Kunming, P.R.China
2
High Performance Computing Center, Yunnan University, Kunming, P.R.China
wxlong1222@gmail.com, gugenqiang@126.com, lqcone@gmail.com, gaoyun@ynu.edu.cn, xjzhang@ynu.edu.cn

Abstract—Cloud management platforms may manage the of further development, [12] gives an object description,
resources provided by the infrastructure as a service (IaaS) compares from some basic aspects and provides specific
cloud. With the rapid development of open-source cloud recommendations for use, [13] discusses an elaborate set of
platforms, they have been widely used due to open and free, evaluation criteria that can be used to evaluate the stability,
some of them can substitute commercial clouds. Some existed performance and features of open-source clouds and
related works only concisely compare the basic features of compares some available platforms, [14] conducts a survey
open-source platforms, and not including some new released to help readers choose the best one with their needs and build
features. In this paper, we firstly present the function of their own cloud infrastructure.
OpenStack and OpenNebula briefly, and then compare them
from provenance, architecture, hypervisors, security and other From what present above, we can get an idea that these
angles in detail. Moreover, we provide some deployment papers only focus on the basic features such as architecture,
recommendations according to different user demands and service type and virtualization, etc. And they almost present
platform characteristics. a summary of each platform and don’t give a presentation in
detail. At the same time, some platforms are developing
Keywords-Open Source; Cloud Platforms; Cloud Computing; constantly. Therefore, some new features and functions are
IaaS; OpenStack; OpenNebula not introduced and compared in these papers, and most of
them also overlook some new released but widely accepted
I. INTRODUCTION platforms such as OpenStack. Due to these, we only choose
Cloud computing [1,2] is a computing model which we OpenStack and OpenNebula to compare in this paper. It is
don’t need to compute or store resources on local computers. organized as follows. In Section 2, we make an overview of
On the contrary, resources like computing power, storage OpenStack and OpenNebula. In Section 3, we conduct a
and software are abstracted and provided as services on the detailed introduction and comparison from provenance,
Internet by the third-party which is called cloud providers. architecture and virtualization, etc. Further, we briefly
Some famous cloud providers are Amazon [3,4], Google [5] address the differences from other aspects like license,
and Microsoft [6], etc. From a cloud provider’s view, IaaS programming language and service type, etc. In Section 4,
(Infrastructure as a Service) is the low-level in the cloud, we provide some suggestions for use. The last section
aims at providing compute and storage resources and virtual concludes the paper and gives lights to our future work.
machines to users. Users of IaaS can completely control and
configure their infrastructure resources as what they want, II. OPENSTACK AND OPENNEBULA
EC2 (Elastic Cloud Computing) and S3 (Simple Storage Due to high costs of physical servers and managing data,
Service) of Amazon are the most successful examples [3,4]. IaaS Cloud is the next step in the evolution of some
However, these commercial clouds usually charge high price companies’ data centers. OpenStack and OpenNebula are the
based on how many resources you use. In some settings, it two major open-source IaaS cloud platforms and they are
might be more suitable for enterprises or organizations to currently widely used by people around the world. These are
build their own cloud. That is the reason why open-source the reasons why we choose them to evaluate. Some brief
cloud platforms and communities become buzzwords and be
introductions of them are presented below:
active now.
With the emergence of different open-source cloud z OpenStack [7,13,14] is a collection of open source
platforms, the decision to choose the most suitable one that software projects that enterprises or cloud providers
meets the customers’ needs becomes a difficult task, because can use to setup and run their cloud compute and
every platform has its specific characteristics. Therefore, a storage infrastructure. The project aims to build an
number of papers begin to research and compare each open-source community with researchers, developers
platform, [9] makes a qualitative overview and compares and enterprises, they share a common goal to create
architecture and different implementation of features, [10] a cloud that is simple to deploy, massively scalable
conducts a survey and classification of open-source solutions and full of rich features.
and compare them from different angles, [11] does a z OpenNebula [8,10,11,12,13] is an open source
comparison and analysis and also points out some challenges project aimed at building the industry standard open-

978-1-4673-0024-7/10/$26.00 ©2012 IEEE 2457


source cloud computing tool to manage the
complexity and heterogeneity of large and
distributed infrastructures. It can offer the richest
features, flexible ways and better interoperability to
build private, public or hybrid clouds.

III. COMPARISON OF OPENSTACK AND OPENNEBULA

A. Provenance
For OpenStack [7], Rackspace and NASA are the two
contributors. OpenStack includes three major parts: compute
what we called Nova is from NASA’s compute files, object
storage what we called Swift is from Rackspace’s “Cloud
Files” and Image service which is named Glance. It has
become very popular and been widely accepted by people
and enterprises such as Citrix, Dell, SUSE around the world
Figure 1. OpenStack Core Architecture
when it appeared in July 2010. Now, OpenStack’s
community has collaborated with more than 150 companies such as volume, network and scheduler via Queue
and 2600 people. The numbers are increasing continuously. Server in advanced message queue protocol (AMQP)
OpenNebula [8] was established as a research project except that internal object store which interacts with
back in 2005. However, the first public released version v1.0 Hyper Text Transfer Protocol. At the same time, all
was in March 2008 and the latest version is v3.2. Despite this, communications use a way which called
it is much earlier than OpenStack. OpenNebula [8,10,11,13] asynchronous eventually consistent communication
is the accumulation in the area of management of virtual to transport message. This means that a call-back
machines and large scale distribution infrastructures gets triggered once a response is received, and the
especially big data centers through many years. At present, it benefits are that none of the users’ actions get struck
has more than 4000 downloads per month and many research for long in a waiting state [7].
institutes and enterprises use it to build their own cloud, an z Swift [7], the storage infrastructure in OpenStack, is
successful example is CHINA MOBILE which uses it to a scalable object storage system including a Proxy
build its cloud which named Big Cloud. Server, an Object Server, an Account Server, a
Container Server and the Ring. It is a long-term
B. Architecture storage system for a more permanent type of static
Currently, OpenStack [7] not only has three core projects: data that can be retrieved, leveraged and updated [7].
compute (Nova), storage (Swift), image (Glance), it also add It is similar to Amazon’s S3, we can encapsulate it to
two new projects: Dashboard (Horizon) and Identity provide a cloud storage service. The main functions
(Keystone). All these projects indicate that OpenStack is and features are secure storage of large number and
striving to integrate more services into it so that provide a size objects, data redundancy, archival capabilities
massively scalable and rich services cloud. The architecture and media streaming.
can be seen in Fig. 1.
z The OpenStack image solution [7] is to build a
z As a major part of OpenStack, Nova [7] is the lookup and retrieval system from virtual machine
computing fabric controller for the OpenStack Cloud. images, under the known name of Glance. Glance-
It has six components including Nova-API, Message Control and Glance-Registry are the two parts of
Queue, Nova-Compute, Nova-Network, Nova- Glance and it only provides a function that is
Volume and Nova-Scheduler. Nova supports all the imaging service.
life cycles of instances in the cloud, so we can view
z Horizon [7], which provides a user interface based
it as a management platform that manage compute
on browser, makes it easier to manage the cloud
resources, networking, authorization and scalability
services.
of needs. All components in the architecture follow a
shared-nothing and messaging-based policy, shared- z Keystone [7] is a cloud identity which provides a
nothing means that each component or each group of common authentication and authorization layer and
components can be installed on any server. For an OpenStack service catalog.
example, compute controller, volume controller,
network controller and object store can be installed We can get a conclusion from Fig. 1 that the architecture
on a server or four independently servers. As we can and components of OpenStack are straightforward and stable,
see from Fig. 1, Queue Server is in the middle of the so OpenStack will be a good choice to provide specific
architecture, the meaning of messaging-based is that applications for enterprises and can encapsulate specific
cloud controller communicates with all components commercial services easily.

2458
administrators. It also can work without a shared FS, Secure
Copy (SCP) can be used to transfer files [9,10,11]. This is
very different to OpenStack’s Swift.
What shown above hint that OpenNebula doesn’t bound
to a certain type of environment and can provide a uniform
management criterion no matter what the virtualization
platform, so it is more suitable to some research institutes
which want to build their own cloud and can expand any
funtions such as cloud storage as what they want.

C. Virtualization Hypervisors
In cloud computing, virtualization hypervisor [14] is used
to describe the interface provided by the specific
Figure 2. OpenStack Core Architecture functionality of IaaS. It is also called virtual machine
manager (VMM), is one of many hardware virtualization
OpenNebula [8,10,11,13,15] is an open-source toolkit
techniques allowing multiple operating systems, termed
aims to provide a flexible, open, scalable and comprehensive
guests, to run concurrently on a host computer [14]. In
management layer to manage and simplify the operation of
literature [14], the paper conducts a detailed introduction and
big data centers and transform existing infrastructure into an
comparison about VM monitors. Based on this paper, we get
Iaas Cloud. Fig. 2 shows the OpenNebula architecture and
that Xen, KVM and VMWare are three preferred solutions in
main components. OpenNebula’s architecture is flexible and
cloud computing. In Table I, we list some famous
modular, which makes it easier than OpenStack to integrate
hypervisors and make a comparison between OpenStack and
multiple storages, network infrastructures and hypervisor
OpenNebula, which one supports the hypervisor will get a
technologies. OpenNebula architecture includes three layers:
“yes (Y)”, not will get a “no (N)”.
Drivers, Core and Tools.
From Table I, we can get a conclusion that OpenStack
z Drivers layer [8,9,10,11] contains many important
almost support all available hypervisors including which not
components in the OpenNebula. It communicates
listed in the Table I such as ESX, QEMU and UML,
directly with the underlying operating system and
however, OpenNebula only support three: Xen, KVM and
encapsluates the underlying infrastructure as an
VMWare currently.
abstract service. The functions are responsible for
the creation, startup and shutdown of virtual TABLE I. COMPARISON BETWEEN OPENSTACK AND OPENNEBULA
machines (VMs), allocating storage for VMs and OF VIRTUALIZATION HYPERVISOR SUPPORTED
monitoring the operational status of physical
machines and VMs. Hypervisors
Open-Source
Project Xen
Xen KVM HyperV VMWare LXC
z The core layer [8,9,10,11] is a centralized layer that Server
manage the virtual machines’ full life cycles, OpenStack Y Y Y Y Y Y
including setting up a virtual network dynamically
OpenNebula Y Y N N Y N
so that allocate a dynamic IP address for a VM,
which makes the networking solution transparent to D. Scale and Activity Level of Community
users, and managing a VM’s storage allocating such
as a VM’s disk. OpenStack and OpenNebula are open-source platforms,
so their development can’t separate from the contributions
z Tools layer [8,9,10,11] provides some interfaces from the community. A community may consist of
such as command line interface (CLI), browser and individuals, teams and organizations, so no matter you are a
libvirt API [9,10,11,12] to communicate with users user, a developer, a service provider, even a corporation, you
and users can manage VM through these interfaces. can join in the community and contribute yourself to build a
A sheduler manages the functionality provided by better open-source cloud. We have done a statistics about the
the core layer. External users are capable of sharing users of community and find that most users of OpenStack
these functionalities through a cloud interface which are people from companies and OpenNebula are from
is provided by Tools layer. universities, research institutes and data centers. We believe
Regarding the storage, image repository [8] is to store that the number of mailing list is important and useful, it also
and manage registered images. It allows administrators and reflects the level of activity of a community, so we pick
users to set up their own images, these images can be used some data about the number of total participants from the
in VM easily and shared with other users. By default, mailing lists of OpenStack [7] and OpenNebula [8], and then
OpenNebula uses a shared file system [8,9,10], typically do a comparison, see Fig. 3. As what shows from Fig. 3, the
NFS or GlusterFS to store all files. The benefit of this is that number’s trend of OpenNebula is almost increasing,
it provides more of the low-level features to the users and however, the trend of OpenStack is increasing more than

2459
OpenNebula when it appeared in July 2010, its number of authentication, token, tenant and role, etc. We can know
participants is also bigger than OpenNebula. from what shown above, OpenStack spend much time to
develop a good way to ensure security and concentrate on
the authentication and authorization. It divides user into a
very small granularity and grants to different roles. A user
has a login and maybe assigned tokens to access resources.
And a role has a specific set of operations, rights and
privileges. The user inherits these rights and privileges from
the role which it belongs to [7]. Of course, VPN (Virtual
Private Network) connectivity and firewall rules are also
used in Nova-Network.
OpenNebula also develops various ways to protect its
cloud. The same as OpenStack, OpenNebula owns a secure
and efficient Users and Groups Subsystem for pluggable
authentication and authorization based on passwords, SSH
and RSA key code pairs, X509 certificates or LDAP [8].
Figure 3. Total Number of Participants from Community Mailing Lists of
OpenStack and OpenNebula
Firewall, an old but useful method, is used to configure for
VMs, in order to shutdown TCP and UDP ports, filter some
unwanted packets and define a policy for ICMP connections.
E. Cloud APIs and User Interface ACL (Access Control List) also is used in OpenNebula. An
Cloud APIs [10,11,12,13] are application programming ACL is a collections of permit and deny conditions, called
interfaces used to build applications in the cloud computing ACL rules, it enables for any user or group of users. Each
market. For OpenStack, API (Nova-API) [7] is the only operation generates a request and ACL then can grant
component that the outside world uses to manage the cloud. permission and refuse the request according to the registered
OpenStack exposes all its functionalities through a web set of ACL rules. VDC (Virtual Data Center) appears in the
service API which is compatible with the EC2 and S3 API of released version v3.0. A VDC [17] is a fully-isolated virtual
Amazon Web Service (AWS), it also provides a native API infrastructure environment, in the environment, under the
called OpenStack API. OpenNebula provides two APIs: control of the VDC administrators, users can manage cloud
Open Cloud Computing Interface (OCCI) API and EC2 API. resources, but users only can see the virtual resources not
All APIs except EC2 API provided by OpenStack and the physical infrastructure. Of course, we can use ACL rules
OpenNebula are based on Representational State Transfer in the VDC and this is an effective way.
(REST) [16] which is a style of software architecture for
distributed hepermidia systems. Functionalities of EC2 API G. Other Aspects
are: upload images, register them, run, monitor and terminate From Part A to F, we introduce and compare OpenStack
instances, etc. Therefore, they can use tool Euca2ools to and OpenNebula from six important aspects in detail. Of
manage the cloud resources. Most of these operations are course, it is impossible to list all aspects and compare them.
based on command line. In this part, we aim at giving a more detailed description
In additon to using command line interface (CLI) to and evaluation, so we list some other factors which are not
manage resources, OpenStack and OpenNebula also provide shown in previous parts and make a simple comparison. The
a user interface based on browser for users. This is easier to results can be seen in Table II.
understand and operate than CLI. DashBoard [7], a new
TABLE II. OTHER FACTORS OF OPENSTACK AND OPENNEBULA
project of OpenStack, makes users easier to manage the
cloud services. For OpenNebula, users can manage cloud OpenStack OpenNebula
services through Sunstone, a graphical user interface [8]. Open-Source Apache License Version Apache License Version
License 2.0 2.0
F. Security Cloud Types Private and public cloud
Private, public and hybrid
cloud
Security is a fundamental goal of cloud computing, for
Most Linux
exanple, many researchers consider cloud security as the Supported OS
distributions
Most Linux distributions
most challenging issue in the cloud computing and are Programming
rushing to study it. Similarly, it is also a hot issue of Iaas. Python Java and Ruby
Language
OpenStack and OpenNebula all treat is as a key point, so Data Memory Swift Shared FS or SCP
they take many measures to ensure the secutiry. Compatalibity
with public Amazon EC2, S3 Amazon EC2
OpenStack add a new project Keystone [7] to provide cloud
services for authenticating, managing and authorizing user Commercial
and account. It provides unified authentication across all Free Free
Model
projects and integrates with existing authentication systems
[7]. It has some key concepts such as: user, credentials,

2460
OpenStack OpenNebula In the future, we will utilize these two platforms to build
our own cloud and make a deeper research for resource
-Flat
Networking
-Flat DHCP VLAN
scheduling especially in the performance of image operation
Model
-VLAN DHCP and VMs management including creation, upload, save and
deletion, etc. Some features and functions will be added into
Large data centers,
Large commercial research institutes, or updated with the development, so we will also research
Used by and compare continuously.
enterprises universities and public
institutions

Build private and public


Provide cloud computing ACKNOWLEDGMENT
Main Purpose services and resources
clouds This work is supported by the National Natural Science
management
Foundation of China (Grant No: 61170222), and the authors
IV. RECOMMENDATIONS FOR USE also thank High Performance Computing Center of Yunnan
University for experimental support.
Section 2 and Section 3 illustrate the differences between
OpenStack and OpenNebula. Some suggestions for use will REFERENCES
be given below. [1] M. Armbrust, A. Fox, R. Griggith, et al., “Above the cloud: A
Berkeley View of Cloud Computing,” Technical Report No.
Because the compatibility of EC2 and S3, OpenStack can UCB/EECS-2009-28, EECS Department, University of California at
offer the same services as Amazon and be the alternative of Berkeley, USA, Feb.10, 2009.
Amazon to users who don’t want to use a billing cloud. [2] I. Foster, Y. Zhao, I. Raicu and S. lu, “Cloud Computing and Grid
Therefore, OpenStack is more suitable for an enterprise. Computing 360-Degree Compared,” in Grid Computing
Because you not only can require the resources dynamically, Environments Workshop, 2008. GCE’08, 2008, pp. 1-10.
you also can encapsulate its services as some applications, [3] Amazon Elastic Compute Cloud (EC2). http://aws.amazon.com/ec2/.
for example, Swift can be used to provide a cloud storage [4] Amazon Simple Storage Service (S3). http://aws.amazon.com/s3/.
service. From a vendor’s view, OpenStack is a better choice [5] Google APP Engine. http://code.google.com/appengine/.
for commerce. Furthermore, OpenStack is straightforward [6] Microsoft Azure. http://www.windowsazure.com/.
because the guide documentations can be seen on the website, [7] OpenStack Home Page. http://www.openstack.org/.
so it is possible to build a cloud even you have no any [8] OpenNebula Home Page. http://www.opennebula.org/.
specialist personnel [7,13,14]. [9] D. Cerbelaud, S. Garg, J. Huylebroeck, “Opening the Clouds:
Qualitative Overview of the State-of –the-art Open-Source VM-based
OpenNebula is suitable both for research institutes, Cloud Management Platforms”, Proceedings of the 10th ACM
universities and enterprises especially large data centers International Conference on Middleware, 2009.
which want to build an open, flexible and scalable cloud to [10] Patrícia Takako Endo, Glauco Estácio Gonçalves et al., “A Survey on
support their research and are interested in the VM Open-source Cloud Computing Solutions,” VIII Workshop em
technology, it is also ideal for users that want to run a Clouds, Grids e Aplicações, ,pp. 3-16, 2010.
number of cloud machines quickly [11,12,14,15]. And, [11] P. Sempolinski, D. Thain, “A Comparison and Critique of Eucalyptus,
OpenNebula is well suitable for dealing with large amounts OpenNebula and Nimbus,” 2nd IEEE International Conference on
Cloud Computing Technology and Science, pp. 417-426, 2010.
of data and leveraging existing IT infrastructures, protecting
your investments and avoiding vendor lock-in [8]. Further, [12] S. Wind, “Open Source Cloud Computing Management Platforms:
Introduction, Comparison and Recommendations for
similar to OpenStack, all the documentations such as Implementation”, IEEE Conference on Open Systems, pp. 175-179,
introduction and installation can be found in [8], this makes 2011.
you very easy to use and develop the platform. [13] I. Voras, B. Mihaljecić, M. Orlić, et al, “Evaluating Open-Source
Cloud Computing Solutions”, MIPRO, Proceedings of the 34th
International Convention, pp. 209-214, 2011.
V. CONCLUSION AND FUTURE WORK
[14] M. Mahjoub, A. Mdhaffar, et al. “A Comparative Study of the
In this paper, we clearly show differences of OpenStack Current Cloud Computing Technologies and Offers,” IEEE First
and OpenNebula from provenance, architecture, hypervisors, Symposium on Network Cloud Computing and Applications, pp. 131-
security and other angles, etc. We also present proposals for 134, 2011.
implementation. We believe that this evaluation will help [15] Junjie Peng, Xuejun Zhang, et al. “Comparison of Several Cloud
Computing Platforms,” 2nd International Symposium on Information
people understand their functions, goals and diversities. The Science and Engineering, pp. 23-27, 2009.
recommendations will result in a better use of OpenStack [16] Representational state transfer. http://en.wikipedia.org/wiki/REST.
and OpenNebula.
[17] Virtual Data Center. http://blog.opennebula.org/?p=1802.

2461

S-ar putea să vă placă și