This document proposes a new Cloud Elasticity as a Service (CES) framework in OpenStack for efficiently managing cloud infrastructure utilization. CES allows cloud administrators to define policies with configurable quality-of-service parameters. It periodically validates policies by collecting monitoring data and automatically scales resources up or down using templates when policy conditions are met, without human intervention. The framework was tested by increasing load on a virtual machine and observing CES scale it up by triggering the policy template as CPU usage exceeded thresholds.
2. Swaroop and Dr.Poosapati Padmaja
http://www.iaeme.com/IJCET/index.asp 25 editor@iaeme.com
1. INTRODUCTION
Adoption of Cloud Computing increasing rapidly and constantly most of the IT
companies are moving towards Cloud Computing instead of traditional data center
approaches. Cloud Computing has a been a new paradigm because of the increasing
demand of Cloud adoption by Enterprises and Small/Medium scale Business (SMB).
SMB doesn’t need to have the datacenter in-house and the infrastructure (resources)
can be provisioned by Cloud Service Provider. And the number of Cloud Service
Providers (CSP) increasing rapidly and this will enable the end customers to build the
Application rather than bothering about infrastructure or datacenter or real estate
space. This enables pay-by-use [1] model and facilitates ease of managing
datacenters. Cloud Service Providers are continuously adding new infrastructure to
their datacenters to meet the needs of the workload request of the customers.
Major challenges [2] the cloud administrators facing today’s is automatically
scaled up/down of infrastructure management based on the end-user QoS parameters.
Managing the resources automatically scaled-up and down in a Cloud [3] is tedious
tasks and also to ensure SLA specified by end-user is intact. Therefore, in this paper,
we are proposing a framework for proactively managing a policy template for
automatically scale-up and down of the resources on demand basis as per the user
QoS parameters for effective infrastructure management. Cloud auto-scaling
decisions are made based on infrastructure metrics which are static in nature.
However, in a cloud environment, static metric based scaled-up or scale-down may
not be reliable and enough for making auto-scaling up/down of the resources.
For example consider Customer-A, who needs to perform high intensive
operations which require more CPU cycles. Where as in case of Customer-B who
needs better network latency throughput to route the packets in stipulated time.
In such scenarios scaling up/down of cloud resources cannot be static in nature
based on the predefined parameters. To overcome this problem we are proposing a
new service called Cloud Elasticity as a Service (CES). CES responsible for scale-
up/down of resources through template orchesteration by allowing cloud provider to
define the Qos parameters based on the end-user needs and if the Qos parameters
thresholds met, then the resources are scale-up/down based on end-user conditions.
2. CLOUD COMPUTING MANAGEMENT SERVICES
Cloud services [4] are distributed shared pool of resources comprising compute,
network and storage that are abstracted using Infrastructure as a Service. Templates
provides the configuration details of compute, network and storage from the end user
perspective to the Cloud Administrator but doesn’t provide which infrastructure the
work load request to be provisioned.
We considered Open source community driving Cloud Computing management
platforms [5] such as Openstack (http://www.openstack.org), CloudStack, Cloud
Foundry, etc. We have considered Openstack as the Cloud management platform,
since Openstack community contributing a large way and most of the companies, end
users are deploying the Openstack services. Details of Openstack are described as
below:
Openstack (http://www.openstack.org) is a set of software services for managing and
provisioning cloud computing platforms. OpenStack is managed by a non-profit
organization which oversees both development and community-building around the
project. Openstack is an open source Cloud management Service [6] platform which
3. CES: A Framework For Efficient Infrastructure Utilization Through Cloud Elasticity As A
Service (CES)
http://www.iaeme.com/IJCET/index.asp 26 editor@iaeme.com
facilitates different types of services [7] for managing and which are easy to plugin
with others service. Figure-1 Openstack [8] deployment diagram provides overview
how the cloud resources will be managed through various services [5]. Since
Openstack provides different type of deployment methodologies devstack (which is
for developers can run as a sandbox for developing the services without need of
physical hardware) and Openstack management software can be deployed as highly
available services on physical servers as well. Openstack [9] consists of below
services for managing the cloud:
Keystone is a services for authenticating and authorization of cloud users.
Nova is the major computing engine of OpenStack. Nova is mainly for deploying and
managing large numbers of virtual machines and other instances to handle computing
tasks.
Neutron is for managing different type of networks between the computes, storage
and also cloud management software.
Cinder is a services for managing SAN storage typically block storage management
of SAN arrays.
HOT is an orchestration service of Openstack which provides a template based
provisioning and the template supports heterogeneous resources configuration stored
in the standard format YAML or json or XML format. HOT also known as Heat
Orchestration Template which provisions resources invoking other services such as
Nova, Neutron, Cinder, Swift and Glance.
Ceilometer is a metering and measuring service of openstack cloud management
platform for collecting the capacity and performance data of cloud resources
Storage Group
Servers (Computes)
Networks
Storages
Cloud
Administrator
Keystone
Cinder
Nova
Neutron
HEAT
Figure-1 Openstack deployment
Cloud Elasticity as a Service (CES) talks to multiple services for cloud resources
automatically scale-up and down of the resources based on the user defined QoS
parameters in the policy.
3. CLOUD ELASTIC POLICY SERVICE WORKFLOW
From Fig-1 depicts cloud management with Open stack Cloud Management software.
Managing cloud resources elastic effectively is a herculean task, to overcome we are
proposing a new service Cloud Elasticity as a Service. Cloud Elasticity as a Service
consists of multiple components for Policy Manager, Cloud Data Collection Manager.
Design and workflow of Cloud Elastic as a Service is depicted as below:
4. Swaroop and Dr.Poosapati Padmaja
http://www.iaeme.com/IJCET/index.asp 27 editor@iaeme.com
1. Cloud Admin creates a policy with different conditions and the policy can be
stored as XML or json or YAML file.
2. Based on the Policy schedule interval time, CES periodically checks the policies
that required to be triggered and invokes Cloud Data Collection Manager to
collect metering and monitoring data for the resources
3. Policy Manager invokes the Validation Rule Engine to check the condition in
policy are met with metering and monitoring data collected from Cloud Data
Collection Manager.
4. If the conditions are satisfied, CES services invokes the HEAT service of
Openstack for scale-up or scale-down the resources based on template specified
in the Policy.
5. CES checks whether the resources are scaled-up or down and periodically
monitors the resources through Cloud Data Collection Manager.
Policy Manager CloudDataCollectionMa
nager
Nova
(Compute
Service)
Validates Policy based
on the data collected
Neutron
(Network
Service)
Cinder
(Storage
Service)
Ceilometer
(Meter &
Measuring
Service)
HEAT
(Template
Provisioning)
Collects monitoring data from Ceilometer service
If Policy condition meets
the measured data,
invoke HEAT Service
with template specified
by the user
Yes
Scaled up/down
the resource based
on the templateprovided by
the end-user
during policy creation time
If policy condition
doesn’t met continue to
run the policy validation
as per user scheduling
No
Openstack
Service
Cloud Elastic as a Service
Cloud Elasticity as a
Service
Cloud
Infrastructure
Figure 2 Architecture diagram of Cloud Elasticity as a Service
5. CES: A Framework For Efficient Infrastructure Utilization Through Cloud Elasticity As A
Service (CES)
http://www.iaeme.com/IJCET/index.asp 28 editor@iaeme.com
3.1. Policy
Policy defined in CES services is a flexible and combination of multiple rules, a rule
is a condition defined by the Cloud Admin as per the user needs. Cloud Provider can
request the end user on what basis the infrastructure can be scaled-up or down and
what criteria that are need to be satisfied and what different metering and monitoring
parameters should be validated. Typically by default the cloud providers monitors
only “used” metrics of CPU, memory or storage. But the customer’s requirement
might be varying based on the load , demand and billing cost. Policy defined in the
CES services provides provision to monitor not only “used” metrics of CPU, memory
or storage, but can also include monitoring of resources that are underutilized based
on “free”, “unused” metrics, so that the user is aware of billing cost for under/heavily
utilized resources and can take appropriate action.
Below is the Policy XML format with condition:
<?xml version="1.0" encoding="utf-8"?>
<ces-policy>
<policy>
<meta-data>
<uuid>bca31566-5240-11e5-885d-feff819cdc9f</uuid>
<name>app-usage</name>
<schedule-interval-mins>15</schedule-interval-mins>
</meta-data>
<resource>
<meta-data>
<uuid>01fa990e-5241-11e5-885d-feff819cdc9f</uuid>
<name>vm-mysql-webapp</name>
<scale-up>
<heat-template>952cb76e-5243-11e5-885d-
feff819cdc9f</heat-template>
</scale-up>
</meta-data>
<rule>
<criteria name="cpu_loaning">
6. Swaroop and Dr.Poosapati Padmaja
http://www.iaeme.com/IJCET/index.asp 29 editor@iaeme.com
<metric-name>cpu.loan_perc</metric-name>
<condition>
GREATER_THAN_EQUAL</condition>
<value>60</value>
</criteria>
<criteria name="memory">
<metric-name>swap_used</metric-name>
<condition>GREATER_THAN_EQUAL</condition>
<value>2048</value>
</criteria>
<criteria name="network">
<metric-name>incoming_bytes_sec</metric-
name>
<condition>GREATER_THAN_EQUAL</condition>
<value>1024</value>
</criteria>
</rule>
</resource>
</policy>
</ces-policy>
4. RESULTS
Our experimental goal is to check the resource utilization and CES services
periodically validates the policy rules against the conditions specified. We started
increasing the load on the cloud to trigger for testing applications. From the Figure-
3, depicts the Virtual Machine CPU load and Network throughput over a period of
time. But the Virtual Machine CPU is heavily utilized for processing the data
constantly, CES service identified this trend based on the policy conditions and scale-
up the resources as per the template provided in the policy.
7. CES: A Framework For Efficient Infrastructure Utilization Through Cloud Elasticity As A
Service (CES)
http://www.iaeme.com/IJCET/index.asp 30 editor@iaeme.com
Figure 3 Depicts the Virtual Machine CPU load and Network throughput over a period of
time
5. CONCLUSION
In this paper we proposed a new service Cloud Elastic Policy Service in Openstack
cloud management, this service identifies the policies that exceeds the thresholds
defined by end-user QoS parameters and automatically scaled up/down of cloud
resources with no human intervention. We experimented with scaling up/down the
virtual machine configurations based on the policy template defined. In this research
work few guidelines have been proposed that could be efficiently employed for
assisting cloud administrator for creating policies with configurable QoS parameters.
Experimental results show the feasibility and effectiveness of our algorithm especially
for datasets related to applications deployed in IaaS Clouds. Although the initial
evaluation results are satisfactory, we have several ideas to improve the framework.
Further we will expand the applicability of our approach to different Cloud
deployment scenarios.
REFERENCES
[1] J. Greenberg et al., The Cost of a Cloud: Research Problems in Data Center
Networks, Computer Communication Rev., 39(1), 2009, pp. 68–73.
[2] Q. Zhang, L. Cheng, and R. Boutaba, Cloud Computing: State-of-the-Art and
Research Challenges, J. Internet Services and Applications, 1(1), 2010, pp. 7–18.
[3] L.M. Vaquero-Gonzalez et al., A Break in the Clouds: Towards a Cloud
Definition, Computer Communication Rev., 39(1), 2009, pp. 50–55.
[4] J. Cardoso, K. Voigt, and M. Winkler, Service Engineering for the Internet of
Services, Enterprise Information Systems, Lecture Notes in Business Information
Processing, 19(1), Springer, 2009, pp. 15–27.
[5] A. Li et al., Cloud Cmp: Comparing Public Cloud Providers, Proc. 10th Ann.
Conf. Internet Measurement, ACM, 2010, pp. 1–14.
[6] R. N. Calheiros, R. Ranjan, A. Beloglazov, C. A. F. D. Rose, R. Buyya,
CloudSim: a toolkit for modeling and simulation of cloud computing
environments and evaluation of resource provisioning algorithms, Software:
Practice and Experience,2011, 41(1), pp.23-50
[7] M. Smit, P. Pawluk, B.Simmons and M.Litoiu, A web service for cloud metadata
in Proceedings International Conference on Cloud Computing, 2011, pp.404-411.
[8] R. Buyya, C.S Yeo, S.Venugopal, J Broberg and I. Brandic, Cloud computing
and emerging its platforms: Vision, hype and reality for delievering computing as
the utility, Future Generation Comp. System. 25(6), pp.599-616, 2009
[9] https://www.openstack.org/