© 2014 IBM Corporation IBM Confidential Autoscaling as a service for PaaS Seetharami R. Seelam...
-
Upload
mae-freeman -
Category
Documents
-
view
215 -
download
1
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
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
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 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