Elastic Management of Clusterbased Services in the Cloud. Rafael MorenoVozmediano, Ruben S. Montero, Ignacio M. Llorente. First Workshop on. Automated ...
First Workshop on
Automated Control for Datacenters and Clouds (ACDC09) June 19th, Barcelona, Spain
Elastic Management of Clusterbased Services in the Cloud Rafael MorenoVozmediano, Ruben S. Montero, Ignacio M. Llorente
Distributed Systems Architecture Research Group Universidad Complutense de Madrid
1/23
Contents • Introduction • Elastic management and implementation of clustered services • Experimental results • Conclusions • Demo
2/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) Service Users
Virtual service infrastructure
Service Layer Capacity Manager
OpenNebula Core XEN / KVM Drivers
EC2 Driver
OpenNebula
Cloud Provider (Amazon EC2)
Infrastructure Layer
Local Infrastructure 3/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
4/19
Introduction • The VM Manager (OpenNebula) Capacity Manager
OpenNebula Core XEN / KVM Drivers
EC2 Driver
http://OpenNebula.org
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 5/19
Contents • Introduction • Elastic management and implementation of clustered services • Experimental results • Conclusions • Demo
6/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) 7/19
Implementation of clustered services in the cloud • Implementation of a computing cluster • Batch job submission system
Job submission requests
• Sun Grid Engine (SGE)
• Cluster components
Frontend server node (SGE master host)
• Frontend node: SGE master • Backend nodes: SGE workers
Service LAN
Virtualized backend nodes (SGE worker nodes)
OpenNebula Hypervisor (XEN)
Hypervisor (XEN)
Amazon EC2 Physical resource pool
8/19
Implementation of clustered services in the cloud • Implementation of a web server cluster • Based on NGINX software • Cluster components
HTTP Client
HTTP Client
HTTP Client
Internet
• Frontend node: NGINX reverse proxy • Backend nodes:
Frontend server node (NGINX reverse proxy)
NGNIX web servers
Service LAN
Virtualized backend nodes (NGINX web servers)
OpenNebula Hypervisor (XEN)
Hypervisor (XEN)
Amazon EC2 Physical resource pool
9/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
10/19
Implementation of clustered services in the cloud • The network infrastructure (ii) Amazon EC2 OpenVPN clients Backend Node
Backend Node
Backend Node
Internet Connection
OpenVPN Tunnels
Bridge Frontend Node
+ OpenVPN Server
Physical Host 0
Bridge
LAN (Gigabit Ethernet)
Bridge
Backend Node
Physical Host 1
Bridge
Backend Node
Backend Node
Physical Host 2
Bridge
Backend Node
Physical Host 3
Bridge
Backend Node
Backend Node
Physical Host 4 11/19
Contents • Introduction • Elastic management and implementation of clustered services • Experimental results • Conclusions • Demo
12/19
Experimental Results • Computing cluster performance 0L+4R
4L+0R
4L+4R
4L+8R
5,0E02 4,5E02 4,0E02
Throughput (jobs/sec.)
3,5E02 3,0E02 2,5E02 2,0E02 1,5E02 1,0E02 5,0E03 0,0E+00 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 32 Jobs
13/19
Experimental Results • Web server cluster performance 140 120 100 80 60 40 20 0
300 HTTP requests (static file 10KB) Throughput (requests/s)
Throughput (requests/s)
300 HTTP requests (static file 1KB)
4L
8L
4L+4R
120 100 80 60 40 20 0
4L+8R 4L+16R
4L
8L
80 60 40 20 0
300 HTTP requests (static file 1000KB) Throughput (requests/s)
Throughput (requests/s)
300 HTTP requests (static file 100KB)
100
4L
8L
4L+4R
4L+8R 4L+16R
Cluster configuration
4L+8R 4L+16R
Cluster configuration
Cluster configuration
120
4L+4R
120 100 80 60 40 20 0
4L
8L
4L+4R
4L+8R
4L+16R
Cluster configuration
14/19
Contents • Introduction • Elastic management and implementation of clustered services • Experimental results • Conclusions • Demo
15/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. 16/19
Contents • Introduction • Elastic management and implementation of clustered services • Experimental results • Conclusions • Demo
17/19
Elastic Management of Clusterbased Services in the Cloud
THANK YOU FOR YOUR ATTENTION QUESTIONS?
18/19