© 2014 IBM Corporation IBM Confidential Autoscaling as a service for PaaS Seetharami R. Seelam...

20
© 2014 IBM Corporation IBM Confidential Autoscaling as a service for PaaS Seetharami R. Seelam Paolo Dettori Peter Westerink IBM Research Ben Bo Yang IBM Cloud

Transcript of © 2014 IBM Corporation IBM Confidential Autoscaling as a service for PaaS Seetharami R. Seelam...

© 2014 IBM CorporationIBM Confidential

Autoscaling as a service for PaaS

Seetharami R. SeelamPaolo DettoriPeter WesterinkIBM Research

Ben Bo YangIBM Cloud

© 2014 IBM Corporation

Technology

“Faster, Cheaper, and Easier”–Anonymous

2

© 2014 IBM Corporation

Outline

Introduction to PaaS and Autoscaling

Autoscaling solution: Principles and Architecture

Autoscaling as a service

Evaluation

Conclusion3

© 2014 IBM Corporation

PaaS views

4

Host 1

P B

Host 2

I B

BB

Cloud Controller

Services

S1

PaaS Administrator viewDeveloper view

© 2014 IBM Corporation

Developer Interaction

5

Host 1

C P B

Host 2

C I B

C

BB

Cloud Controller

C

Services

S1

PaaS Administrator viewDeveloper view

© 2014 IBM Corporation

Introduction to Austoscaling

6

Host 1

C P B

Host 2

C I B

C

BB

Cloud Controller

Services

S1

PaaS Administrator viewDeveloper view

Autoscaling Service

© 2014 IBM Corporation

Requirements

7

Host 1

C P B

Host 2

C I B

C

BB

Cloud Controller

Services

S1

PaaS Administrator viewDeveloper view

Autoscaling Service

1. Apps in different languages

2. No code changes3. Dynamic binding

and removal4. Secure5. Configurable6. Fast7. Multi-tenant

© 2014 IBM Corporation

Making Autoscaling service Multi-tenant

8

Host 1

C P B

Host 2

C I B

C

BB

Cloud Controller

Services

S1

PaaS Administrator viewDeveloper view

Autoscaling Service

© 2014 IBM Corporation

Making Autoscaling service Multi-tenant

9

Host 1

C P B

Host 2

C I B

C

BB

Cloud Controller

Services

S1

PaaS Administrator viewDeveloper view

Autoscaling Service

© 2014 IBM Corporation

Autoscaling Solution: Architecture

10

Scaling Service Cloud controller

6. Aggregate & generate alarms for scaling service

7. Decide “when” to scale and “how many”

8. trigger scaling action

9. Make the placement decision(“where”) based on different aspects

10. Start new instances or stop existing instances based on the placement decision

5. Publish runtime, application, custom metrics

DEAWarden

agent

Wardenagent

…APP

APP

DEAWarden

agent

Wardenagent

…APP

APP

App containers

Agent 2

Agent2

…APP APP

Persistent Service

1. Specify policy (e.g. cpu>80% scale by 5)

MonitoringService

2. Set triggers

3. Get metrics

4. Publish metrics

Agent 1Agent 1

© 2014 IBM Corporation

Autoscaling Service User Interface

11

© 2014 IBM Corporation

Performance EvaluationAbility to handle multiple

scaling instances–Service operational in

Bluemix PaaS for over year–Over a thousand applications

used the service so far–Currently more than 1000

applications are actively using the service

–Do we autoscale the autoscaling service?

12

Ability to Scale of an instance

Set the application to scale to up to 20 instances

Scaling achieved in under 4 minutes

© 2014 IBM Corporation

ConclusionAutoscaling service architecture

–Scaling; Monitoring; Persistence; Agents; Controller

Multi-tenant service for a “as-a-service” model

Service for a single application & collection of applications

Try it for free on IBM Bluemix: http://ng.bluemix.net

Future work–Investigate algorithms to scale based on non-controllable shared

metrics (overcommitted situations)–Techniques to minimize I/O across services–Predictive scaling algorithms

13

© 2014 IBM Corporation

Technology“Faster, Cheaper, and Easier”

–Anonymous

Faster: Scale applications in the order of seconds

Cheaper: It is free; lightweight

Easier: Using the service is as easy as checking a box

14

Thank [email protected]

© 2014 IBM Corporation

Backup

15

© 2014 IBM Corporation16

Host 1

C P B

Host 2

C I B

C

BB

Cloud Controller

J

Services

S1

Developer view

1. Apps in different languages

2. No code changes3. Dynamic binding

and removal4. Secure5. Configurable6. Fas

Scaling Service

MonitoringService

Persistent Service

Agent 1

© 2014 IBM Corporation

Introduction to PaaS and AutoscalingNIST definition of PaaS: The capability … to deploy applications

created using programming languages, libraries, services, and tools. The consumer does not manage the underlying cloud but has control over the deployed applications and configurations …

IaaS offers infrastructure resources such as Compute, Network, Storage

PaaS offers higher level services like runtimes, access to services, development and operational services

PaaS provides enhanced functionality to the provider’s infrastructure services

Autoscaling enables dynamic resource management to satisfy SLA’s

17

© 2014 IBM Corporation

Autoscaling: IaaS vs. PaaS IaaS:

– Add and remove VM’s as per user specified metrics– The result of a scaling action may take orders of minutes– Asymmetric scaling

PaaS– Add and remove application instances per user specified

metrics– Application run in a shared resource environment– User has no visibility into the infrastructure– Application run in isolated containers– Far more dynamic and reactive compared to IaaS autoscaling:

much shorter time scales– Work with polyglot applications and runtimes

18

© 2014 IBM Corporation

Autoscaling Solution: Principles

No application code changes

No changes to the underlying PaaS code

Horizontal scaling of applications

Micro-services based pluggable architecture

Designed for as-a-service model

Handle Polyglot applications19

© 2014 IBM Corporation

Making Autoscaling service Multi-tenantPer-application instance provisioning

Shared vs dedicated instances of services per tenant

Persistence for State information

Security considerations for the autoscaling actions

20