that can be used to monitor third party cloud installa-
tions. To realize this, third party clouds must support
the installation and execution of SaaS agents. Many
cloud monitoring tools are capable of monitoring at
the infrastructure and application levels, while some
others can only monitor one of those levels.
Concerning cloud benchmarking, Ficco et al.
(Ficco et al., 2015) defined the roles of benchmark-
ing and monitoring of service performance in Cloud
Computing, and presented a survey on related solu-
tions. They argued that in general benchmarking tools
should be more flexible, and the usage of a single per-
formance index is not acceptable and workload defi-
nition should be customizable according to user spe-
cific needs. Leitner et al. (Leitner and Cito, 2014)
performed a benchmarking of public cloud providers
by setting up hypotheses relating to the nature of per-
formance variations, and validated these hypotheses
on Amazon EC2 and Google Compute Engine. With
this study they showed that there were substantial dif-
ferences in the performance of different public cloud
providers. Our aim is to investigate a local, private
cloud based on OpenStack.
The primary goal of the CloudHarmony (Cloud-
harmony, 2014) is to make cloud services compa-
rable, therefore they provide objective, independent
performance comparisons between different cloud
providers. Using these data, customers can quickly
compare providers and have reasonable expectations
for cloud performance. However, CloudHarmony
can only provide quantitative performance data in a
raw form produced by benchmark tools and cannot
present refined qualitative information created from
processed benchmark results.
Ceilometer (OpenStack, 2015a) is an OpenStack
project designed to provide an infrastructure to col-
lect measurements within OpenStack so that only one
agent is needed to collect the data. The primary tar-
gets of the project are monitoring and metering, but
the framework can be extended to collect usage for
other needs. Rally (Ishanov, 2013) is a more advanced
solution for benchmarking and profiling OpenStack-
based clouds. Its tools allow users or developers to
specify some kind of synthetic workload to stresstest
OpenStack clouds and get the low-level profiling re-
sults. Rally is able to collect monitored information
about executing specific scenarios, like provisioning
a thousand virtual machines (VM), and shows how a
cloud performs on average in that environment. Since
cloud operators typically do not run user workloads,
therefore Rally provides an engine that allows devel-
opers to specify real-life workloads and runs on ex-
isting OpenStack clouds. The results generated from
these kinds of benchmarks are more high level, but
they allow users to identify bottlenecks on a specific
cloud. In our work we used and extended Rally sce-
narios to benchmark our private cloud.
3 SETTING UP A PRIVATE
CLOUD BASED ON OpenStack
OpenStack (OpenStack, 2015c) is a global collabora-
tion of developers and cloud computing technologists
producing the ubiquitous open source cloud comput-
ing platform for public and private clouds. It aims
to deliver solutions for all types of clouds by being
simple to implement, massively scalable, and feature
rich. The technology consists of a series of inter-
related projects delivering various components for a
cloud infrastructure solution. It has 13 official dis-
tributions (OpenStack, 2015b), and we have chosen
Mirantis (Mirantis, 2015b) for the base distribution of
our private cloud, since it is the most flexible and open
distribution of OpenStack. It integrates core Open-
Stack, key related projects and third party plugins to
offer community innovations with the testing, support
and reliability of enterprise software.
When calculating resources for an OpenStack en-
vironment, we should consider the resources required
for expanding our planned environment. This calcula-
tion can be done manually with the help of the exam-
ple calculation (Mirantis, 2014a) or by an automatic
tool, like the Bill of Materials calculator. The Open-
Stack Hardware Bill of Materials (BOM) calculator
(Mirantis, 2014b) helps anyone building a cloud to
identify how much hardware and which server model
they need to build compute services for a cloud. In
our case we had some dedicated resources for setting
up our planned cloud, therefore we only had to per-
form a validity check (Mirantis, 2015a) to be sure that
our hardware pool is capable of hosting an OpenStack
cloud. The parameters of our dedicated hardware are
shown in Table 1.
Mirantis consists of three main components (Mi-
rantis, 2015b): (i) Mirantis OpenStack hardened
packages, (ii) Fuel for OpenStack, and (iii) Miran-
tis Support. The hardened packages include the core
OpenStack projects, updated with each stable release
of OpenStack, and supporting a broad range of op-
erating systems, hypervisors, and deployment topolo-
gies, including support for high availability, fixes for
reported but yet not merged defects to the commu-
nity source, and Mirantis-developed packages, such
as Sahara and Murano. Fuel is a lifecycle man-
agement application that deploys multiple OpenStack
clouds from a single interface and then enables users
to manage those clouds post deployment. One can
Performance Analysis of an OpenStack Private Cloud
283