1/23
Distributed Systems Architecture Research GroupUniversidad Complutense de Madrid
Elastic Management of Clusterbased Servicesin the Cloud
Rafael MorenoVozmediano, Ruben S. Montero, Ignacio M. Llorente
First Workshop on
Automated Control for Datacenters and Clouds (ACDC09)
June 19th, Barcelona, Spain
2/19
Contents
• Introduction• Elastic management and implementation of
clustered services• Experimental results• Conclusions• Demo
3/19
Introduction
• Goals• Deployment of clustered services on top of a
virtualized infrastructure consisting of: • Local (inhouse) virtual infrastructure• Cloud resource provider (Amazon EC2)• VM manager (the OpenNebula engine)
Cloud Provider(Amazon EC2)
OpenNebula CoreCapacityManager
XEN / KVMDrivers
EC2Driver
OpenNebula
Infrastructure Layer Local Infrastructure
Virtual service infrastructure
Service Layer
Service Users
4/19
Introduction
• Motivation of the work• The proposed architecture offers several benefits
• The virtualization layer allows to separate the infrastructure
management (VM provisioning) from the service management• Elastic provisioning of virtual resources on demand, to adapt
the infrastructure to the service requirements.• Fully transparent for the service itself, and independent of the
type of service• The integration with the cloud provides additional capacity to
the virtual infrastructure
5/19
Introduction
• The VM Manager (OpenNebula)
• OpenNebula Core: manages the lifecycle of a VM by performing
basic VM operations (e.g. deployment, monitoring, or termination)• Capacity Manager (scheduler): Adjusts the placement of VMs
based on a set of configurable provisioning policies• Virtualizer Access Drivers: Pluggable drivers that provide an
abstraction of the underlying virtualization layer (Xen, KVM, EC2),
by exposing the basic functionality of the hypervisor or cloud
interface
OpenNebula CoreCapacityManager
XEN / KVMDrivers
EC2Driver
OpenNebula
http://OpenNebula.org
6/19
Contents
• Introduction• Elastic management and implementation of
clustered services• Experimental results• Conclusions• Demo
7/19
Elastic manag. and implement. of clustered services
• Benefits• Elastic cluster capacity
• The capacity of the cluster can be modified by deploying (or
shutting down) virtual cluster nodes on demand• Cluster partitioning
• The available physical and cloud resources can be used to
deploy VMs bound to different clusterbased services• This approach isolates the different workloads and the
performance assigned to each cluster• Heterogeneous configurations
• The VMs of a service could have multiple software
configurations• The different service images can be maintained with a minimal
operational cost (“install once deploy many” approach)
8/19
Implementation of clustered services in the cloud
• Implementation of a computing cluster• Batch job submission system
• Sun Grid Engine (SGE)
• Cluster components • Frontend node: SGE master• Backend nodes: SGE workers
Amazon EC2
Physical resource pool
OpenNebulaHypervisor (XEN)
Virtualized backend nodes (SGE worker nodes)
Frontend server node(SGE master host)
Hypervisor (XEN)
Job submissionrequests
Service LAN
9/19
Implementation of clustered services in the cloud
• Implementation of a web server cluster• Based on NGINX software• Cluster components
• Frontend node:
NGINX reverse proxy• Backend nodes:
NGNIX web servers
Amazon EC2
Physical resource pool
OpenNebulaHypervisor (XEN)
Virtualized backend nodes (NGINX web servers)
Frontend server node(NGINX reverse proxy)
Internet
HTTP Client
HTTP Client HTTP
Client
Hypervisor (XEN)
Service LAN
10/19
Implementation of clustered services in the cloud
• The network infrastructure (i)• The service LAN
• Every virtual node (both local and Amazon EC2 nodes)
communicates with the frontend through the service LAN
(using private addresses)
• The local (inhouse) virtual nodes• Are directly attached to the service LAN by means of a
virtual bridge configured in every physical host
• The remote (Amazon EC2) virtual nodes• Are connected to the service LAN by means of a
virtual private network (VPN) tunnel• The VPN tunnel is implemented with the OpenVPN software
11/19
Implementation of clustered services in the cloud
• The network infrastructure (ii)
Amazon EC2
Internet Connection
Bridge
Bridge Bridge Bridge
BackendNode
Frontend Node+
OpenVPN Server
Bridge
OpenVPN Tunnels
Bridge
Physical Host 1
Physical Host 2
Physical Host 3
Physical Host 4
Physical Host 0
LAN (Gigabit Ethernet)
BackendNode
BackendNode
BackendNode
BackendNode
BackendNode
BackendNode
BackendNode
BackendNode
OpenVPN clients
12/19
Contents
• Introduction• Elastic management and implementation of
clustered services• Experimental results• Conclusions• Demo
13/19
Experimental Results
• Computing cluster performance
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 320,0E+00
5,0E03
1,0E02
1,5E02
2,0E02
2,5E02
3,0E02
3,5E02
4,0E02
4,5E02
5,0E02
0L+4R 4L+0R 4L+4R 4L+8R
Jobs
Thro
ughp
ut (j
obs/
sec.
)
14/19
Experimental Results
• Web server cluster performance
4L 8L 4L+4R 4L+8R 4L+16R0
20
40
60
80
100
120
300 HTTP requests (static file 10KB)
Cluster configuration
Thr
ough
put (
requ
ests
/s)
4L 8L 4L+4R 4L+8R 4L+16R0
20
40
60
80
100
120
300 HTTP requests (static file 100KB)
Cluster configuration
Thr
ough
put (
requ
ests
/s)
4L 8L 4L+4R 4L+8R 4L+16R0
20
40
60
80
100
120
300 HTTP requests (static file 1000KB)
Cluster configuration
Thr
ough
put (
requ
ests
/s)
4L 8L 4L+4R 4L+8R 4L+16R0
20
40
60
80
100
120
140
300 HTTP requests (static file 1KB)
Cluster configuration
Thr
ough
put (
requ
ests
/s)
15/19
Contents
• Introduction• Elastic management and implementation of
clustered services• Experimental results• Conclusions• Demo
16/19
Conclusions
• We have analyzed the deployment of two clusterbased services on
top of a virtualized infrastructure, with the capacity of integrating
external cloud resources.• Computing cluster • Web server cluster
• This approach separates the resource provisioning from the service
management, and provides important benefits:• Elastic capacity to adapt the cluster to its dynamic workload• Cluster partitioning to isolate it from other running services• Heterogeneous configurations tailored for each application class
• Performance results show • A sustained performance increment when adding a growing
number of cloud nodes to the cluster• That proves the feasibility of the proposed architecture and
provisioning model, and its capacity to support service elasticity.
17/19
Contents
• Introduction• Elastic management and implementation of
clustered services• Experimental results• Conclusions• Demo
18/19
Elastic Management of Clusterbased Services in the Cloud
QUESTIONS?
THANK YOU FOR YOUR ATTENTION