Professional Documents
Culture Documents
Lightweight Web Services Migration Framework in Hybrid Clouds
Lightweight Web Services Migration Framework in Hybrid Clouds
Abstract— Service-oriented architectures allow the deployment and concerns, is a private cloud where all the services are
of loosely coupled services that are platform independent. An exclusively managed and accessed by the company. When a
enterprise can take advantage of service-oriented architecture private cloud is unable to handle peak periods of workloads,
in two different directions. On one side, the abstraction of it can be expanded through the adoption of a public cloud to
technology implementation allows the deployment of web outsource services that need more resources and can accept
services in disparate systems. On the other side, the flexibility the offered security features. The public and private clouds
and independence of services from each other makes scalability form a hybrid cloud and dealing with such a heterogeneous
easier to achieve. This paper presents a migration solution of platform requires solving service, data, compatibility and cost
web services in hybrid clouds. The adoption of hybrid cloud
challenges. The move from a private to a public cloud to get
solutions is valuable for dynamic workloads to maintain the
availability of web services during periods of spikes in demand.
additional resources and to avoid service interruption is called
The migration solution is a lightweight framework composed of cloud bursting. When an application, initially deployed in a
web services to manage cloud instances and the migration task private cloud, requires resources that are not available in the
of web services deployed on Java-based web containers. The private cloud it bursts to the public cloud.
peak management process is based on Java Management A survey shows that research work about cloud bursting
Extensions (JMX) technology to monitor resources and addressed different aspects like cloud infrastructure [3],
deployed web services. In addition, the framework dynamically service integration, control, sharing [4], [5] and resource
integrates a set of JMX metrics to synchronize enterprise optimization [6], [7]. However, there is no cloud bursting
demand for resources with the migration process. Finally, a work focused on web service migration. In fact, most cloud
design of the framework prototype is described and a real case bursting work targets the infrastructure layer [8-14]. At the
of CPU intensive web service is presented to test the migration platform level, Tekin et al. [15] proposed a framework for
process and show an improvement of CPU usage and execution data-intensive computing to balance the computation in
time. hybrid cloud, and Philipp et al. [16] proposed a cloud bursting
solution to enable elastic applications to run across private
Keywords-component; web services; hybrid cloud; migration; cloud boundaries. However, the latter work lacks predictive
JMX; monitoring capabilities and it limits the bursting and consolidation to the
I. INTRODUCTION application performance parameters.
The scope of this work is service migration on hybrid
Enterprises have been trying to reduce costs by adopting cloud platforms. Initially, the services are installed on a
scalable infrastructures that fit their needs; cloud computing private cloud, and during peak periods they are migrated
offers such an elastic and flexible infrastructure. The National within the private cloud or to a public cloud platform. The
Institute of Standards and Technology (NIST) defines cloud migration process is composed of three steps: (1) selection of
computing as a model for enabling on-demand network access candidate web services managed by a web service controller,
to a shared pool of computing resources that can be rapidly (2) selection of web service JMX metrics associated to each
provisioned and released [1]. NIST presents three types of candidate web service and web container JMX metrics
clouds: public, private, and hybrid clouds. A public cloud associated to cloud instances and (3) definition of migration
offers off-site services over the Internet on a pay-for-use basis. task associated to each candidate web service in step (1). The
A private cloud is maintained on a private network of the migration process should be simple and should maintain the
enterprise for exclusive management and usage. The hybrid cloud infrastructure scalability.
cloud is a composition of two or more distinct clouds (private This paper presents a framework to migrate web services
or public). One of the major challenges of cloud solutions is in hybrid cloud platforms. Web services are platform
security and data privacy. Outsourcing services and data to a independent services and best candidates to be used in cloud
public cloud provider makes data integrity and privacy hard to environment [17]. The framework is composed of three web
maintain [2]. A typical cloud solution for enterprises such as services: A Controller WS (Web Service), a Migrator WS and
banks, insurance companies, etc., that have safety regulations a Cloud WS (see Figure 1). The Controller WS monitors
candidate web services to be migrated based on a set of web
service JMX metrics and manages the dynamic endpoints of
migrated web services. The migrator WS creates duplicates of
a candidate web service or transfers the latter to a different
cloud instance. The Cloud WS manages the cloud instances
based on web container JMX metrics. The Migrator WS uses
the instances returned by Cloud WS to execute migration tasks
requested by Controller WS.
We use the function Fws to compute the distance of w’s The framework is composed of three configurable and
parameters means from their respective thresholds. We define independent web services: Controller WS, Migrator WS and
a migration threshold θw such that if Fws(w) < θw then w has to Cloud WS to reflect three separated roles: monitoring,
be migrated. Each web service w has a defined threshold θw. migration and cloud management. The three web services are
detailed in the following sections.
On the cloud level, we assume the virtual machines are
equal to receive web services to be deployed and they have
1- Controller WS
the same performance parameters set V={v1…vs}. Each
The Controller WS automatically starts the monitoring
parameter vÎV has a threshold θv and a mean µv. We define process once it is deployed. It performs the following tasks:
the performance function Fvm and a performance threshold θvm § Monitoring task: for each JMX metric added to
of a virtual machine vmÎ Spublic ∪ Sprivate such that: controller WS, a monitor is created and registered in a
# 1
!<= (>?) = ( )*<, − µ< 0 ; >4 ∈ @ (2) Management Bean Server (MBean Server). A String JMX
489 , metric has a corresponding String monitor, a variable numeric
If Fvm (vm) < θvm, vm cannot accept the deployment of new JMX metric has a corresponding Gauge monitor, and an
web services. In fact, we want to maintain a minimum virtual increasing numeric JMX metric has a corresponding Counter
machine performance so that the deployed web services are monitor [21]. To receive notifications, a notification listener
not negatively affected and to avoid overuse situations. We is added to the monitor to take required actions. If a
define the set of available virtual machines on the private notification satisfies the candidate web service migration
cloud Savailable={vmÎ Sprivate | Fvm (vm) > θvm}. threshold, the monitor passes the notification to the listener to
The web services are ranked based on the function Fws. If trigger a migration task of the candidate web service (see
Figure 5).
two services w1 and w2 are deployed on the same virtual
§ Load balancing task: the Controller WS has a load
machine such that if Fws(w1) < Fws(w2), Fws(w1) < θw1 and balancer that manages the endpoints of candidate web
Fws(w2) < θw2 then w1 has the priority to be migrated over w2. services. The load balancer uses the defined selection criteria
A migration task consists in transferring or duplicating a to return available endpoints to candidate web service clients.
web service. We monitor the web service JMX parameter The migration task results in updating the web services list
requestCount of a service w and we define the threshold used by the load balancer. To simplify the management
MaxReqw to limit the number of requests processed by w and process, the control of resources availability is limited to the
to avoid requests rejection. If Fws(w) < θw and requestCount < JMX monitors loaded by the Controller WS.
MaxReqw then w will be duplicated, else if Fws(w) < θw and
V. FRAMEWORK DESIGN
To implement the migration framework, a set of packages
are created to group the components of Controller WS,
Migrator WS, and Cloud WS. Each component is deployed
as a web service. Figure 8 shows the design of the migration
framework.
Initially, a candidate web service WScand is deployed on a
web container. To manage the migration of WScand, we
deploy Controller WS, Migrator WS and Cloud WS. Once
Controller WS is deployed, it automatically starts instances
Figure 5. Web Services Monitoring of JMXMonitor class to control WScand. To migrate WScand,
Migrator WS contains a WAR file of WScand to duplicate
2- Migrator WS WScand. On the cloud level, Cloud WS manages a set of
The Migrator WS executes deployment and uninstallation virtual machine instances and returns an instance address to
tasks to transfer a candidate web service or deploy a duplicate Migrator WS to process duplication or transfer tasks (see
of the candidate web service in a destination cloud instance Figure 9).
(see Figure 6). In the transfer case, Migrator WS deploys a
duplicate of the candidate web service in the destination
cloud instance and uninstalls the original candidate web
service.
To maximize the configurability of Migrator WS, the
latter updates and uses a deployment WAR (Web application
ARchive) file of the candidate web service. The deployment
and uninstallation tasks are achieved by dynamically building
and executing corresponding deployment and uninstallation
URLs.
3- Cloud WS
The Cloud WS manages cloud instances requested by
Migrator WS. It uses a snapshot to create new virtual machine
instance. The snapshot is created from an instance containing
a deployed web container. Once a cloud instance is deployed,
its corresponding web container URL is returned to Migrator
WS (see Figure 7). Each cloud platform has one Cloud WS.
VI. EXPERIMENTATION
The goal of the experimentation is the management and
control of CPU usage during high peaks of demand. The
deployment of the migration framework will allow reduced
CPU usage and improve the overall execution time of web
service requests. To get accurate results, we will focus on the
web container where a migration candidate service is
deployed. We will collect and analyze information of
execution time, max and average CPU usage by using
JConsole.
To test CPU usage scenario, we coded a CPU intensive
web service WSFib that implements Fibonacci function F(n) Graph 2. Execution Time
To improve the time performance of the client side, in the requests execution was split between WSFib and its duplicate
third scenario we deployed Controller WS on WC1 and deployed on WC2. The split is shown in Graph 4 where the
Migrator WS on WC2 (see Figure 10). As WC2 has more number of parallel requests executed by WC1 is less than 6
resources than WC1, we configured the load balancer so that requests.
overall requests executed on WC2 are approximately twice
the requests executed on WC1 when Controller WS starts the
migration process. If the duplicate of WSFib is not active,
Controller WS sends a request to Migrator WS to undeploy
the duplicate of WSFib.