Elastic Management of Clusterbased Services in the Cloud Automated ...

5 downloads 6578 Views 895KB Size Report
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 Cluster­based Services in the Cloud Rafael Moreno­Vozmediano, 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 (in­house) 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 life­cycle 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 cluster­based 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 

Front­end server node (SGE master host)

• Front­end node: SGE master • Back­end nodes: SGE workers

Service LAN

Virtualized back­end 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

• Front­end node:  NGINX reverse proxy • Back­end nodes: 

Front­end server node (NGINX reverse proxy)

NGNIX web servers

Service LAN

Virtualized back­end 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  front­end  through  the  service  LAN  (using private addresses)

• The local (in­house) 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 Back­end Node

Back­end Node

Back­end Node

Internet  Connection

OpenVPN Tunnels

Bridge      Front­end Node

+ OpenVPN Server

Physical  Host 0

Bridge

LAN (Gigabit Ethernet) 

Bridge

Back­end Node

Physical  Host 1

Bridge

Back­end Node

Back­end Node

Physical  Host 2

Bridge

Back­end Node

Physical  Host 3

Bridge

Back­end Node

Back­end 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,0E­02 4,5E­02 4,0E­02

Throughput (jobs/sec.)

3,5E­02 3,0E­02 2,5E­02 2,0E­02 1,5E­02 1,0E­02 5,0E­03 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  cluster­based  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 Cluster­based Services in the Cloud

THANK YOU FOR YOUR ATTENTION QUESTIONS?

18/19

Suggest Documents