elastic management of clusterbased services in the cloud

18
1/23 Distributed Systems Architecture Research Group Universidad Complutense de Madrid Elastic Management of Cluster-based Services in the Cloud Rafael Moreno-Vozmediano , Ruben S. Montero, Ignacio M. Llorente First Workshop on Automated Control for Datacenters and Clouds (ACDC09) June 19th, Barcelona, Spain

Upload: dangnga

Post on 02-Jan-2017

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Elastic Management of Clusterbased Services in the Cloud

1/23

Distributed Systems Architecture Research GroupUniversidad Complutense de Madrid

Elastic Management of Cluster­based Servicesin the Cloud

Rafael Moreno­Vozmediano, Ruben S. Montero, Ignacio M. Llorente

First Workshop on

Automated Control for Datacenters and Clouds (ACDC09)

June 19th, Barcelona, Spain

Page 2: Elastic Management of Clusterbased Services in the Cloud

2/19

Contents

• Introduction• Elastic management and implementation of 

clustered services• Experimental results• Conclusions• Demo

Page 3: Elastic Management of Clusterbased Services in the Cloud

3/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)

Cloud Provider(Amazon EC2)

OpenNebula CoreCapacityManager

XEN / KVMDrivers

EC2Driver

OpenNebula

Infrastructure Layer Local Infrastructure

Virtual service infrastructure

Service Layer

Service Users

Page 4: Elastic Management of Clusterbased Services in the Cloud

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 

Page 5: Elastic Management of Clusterbased Services in the Cloud

5/19

Introduction

• The VM Manager (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

OpenNebula CoreCapacityManager

XEN / KVMDrivers

EC2Driver

OpenNebula

http://OpenNebula.org

Page 6: Elastic Management of Clusterbased Services in the Cloud

6/19

Contents

• Introduction• Elastic management and implementation of 

clustered services• Experimental results• Conclusions• Demo

Page 7: Elastic Management of Clusterbased Services in the Cloud

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 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)

Page 8: Elastic Management of Clusterbased Services in the Cloud

8/19

Implementation of clustered services in the cloud

• Implementation of a computing cluster• Batch job submission system

• Sun Grid Engine (SGE)

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

Amazon EC2

Physical resource pool

    OpenNebulaHypervisor (XEN)

Virtualized back­end nodes (SGE worker nodes)

Front­end server node(SGE master host)

Hypervisor (XEN)

Job submissionrequests

Service LAN

Page 9: Elastic Management of Clusterbased Services in the Cloud

9/19

Implementation of clustered services in the cloud

• Implementation of a web server cluster• Based on NGINX software• Cluster components 

• Front­end node: 

NGINX reverse proxy• Back­end nodes: 

NGNIX web servers

Amazon EC2

Physical resource pool

    OpenNebulaHypervisor (XEN)

Virtualized back­end nodes (NGINX web servers)

Front­end server node(NGINX reverse proxy)

Internet

HTTP Client

HTTP Client HTTP 

Client

Hypervisor (XEN)

Service LAN

Page 10: Elastic Management of Clusterbased Services in the Cloud

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  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

Page 11: Elastic Management of Clusterbased Services in the Cloud

11/19

Implementation of clustered services in the cloud

• The network infrastructure (ii)

Amazon EC2

Internet Connection

Bridge

Bridge Bridge Bridge

Back­endNode

     Front­end 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) 

Back­endNode

Back­endNode

Back­endNode

Back­endNode

Back­endNode

Back­endNode

Back­endNode

Back­endNode

OpenVPN clients

Page 12: Elastic Management of Clusterbased Services in the Cloud

12/19

Contents

• Introduction• Elastic management and implementation of 

clustered services• Experimental results• Conclusions• Demo

Page 13: Elastic Management of Clusterbased Services in the Cloud

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,0E­03

1,0E­02

1,5E­02

2,0E­02

2,5E­02

3,0E­02

3,5E­02

4,0E­02

4,5E­02

5,0E­02

0L+4R 4L+0R 4L+4R 4L+8R

Jobs

Thro

ughp

ut (j

obs/

sec.

)

Page 14: Elastic Management of Clusterbased Services in the Cloud

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)

Page 15: Elastic Management of Clusterbased Services in the Cloud

15/19

Contents

• Introduction• Elastic management and implementation of 

clustered services• Experimental results• Conclusions• Demo

Page 16: Elastic Management of Clusterbased Services in the Cloud

16/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.

Page 17: Elastic Management of Clusterbased Services in the Cloud

17/19

Contents

• Introduction• Elastic management and implementation of 

clustered services• Experimental results• Conclusions• Demo

Page 18: Elastic Management of Clusterbased Services in the Cloud

18/19

Elastic Management of Cluster­based Services in the Cloud

QUESTIONS?

THANK YOU FOR YOUR ATTENTION