A Pluggable Autoscaling System @ UCC
Upcoming SlideShare
Loading in...5
×
 

A Pluggable Autoscaling System @ UCC

on

  • 5,981 views

These slides are from my talk at UCC 2012, and discuss how we extend the AppScale cloud platform to provide a pluggable autoscaling system.

These slides are from my talk at UCC 2012, and discuss how we extend the AppScale cloud platform to provide a pluggable autoscaling system.

Statistics

Views

Total Views
5,981
Views on SlideShare
5,977
Embed Views
4

Actions

Likes
1
Downloads
7
Comments
0

2 Embeds 4

https://twitter.com 3
https://si0.twimg.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

A Pluggable Autoscaling System @ UCC A Pluggable Autoscaling System @ UCC Presentation Transcript

  • A Pluggable AutoscalingService for Open Cloud PaaS Systems Chris Bunch Vaibhav Arora Navraj ChohanChandra Krintz Shashank Hedge Ankit Srivastava UCC 2012 @ Chicago, IL November 8, 2012
  • Cloud Computing• Three tiers of abstraction: • Infrastructure: Scalable hardware • Platform: Scalable APIs • Software: Scalable applications
  • Autoscaling Cloud Services• Easy access to vast resources• Hard to automatically configure and deploy applications• Requires in-depth knowledge about the app• Lots of existing research on autoscaling• Most solutions scale on coarsely-defined metrics
  • Solving these Problems• No one solution works for all applications • Need a “pluggable” system that users can experiment with, via existing or new autoscaling algorithms• Need to automate scaling up and down for distributed software stacks
  • Cloud Computing• Infrastructure: Completely self-service• Platform: Automated access to certain APIs• Software: Optimized for one piece of software
  • AppScale• An open source implementation of the Google App Engine APIs• Can run over Amazon EC2 or Eucalyptus• Configures and deploys automatically• Users need only specify the number of nodes to run over
  • Role System• Represent each component in the AppScale stack as a “role”, which requires: • Startup scripts • Shutdown scripts • Metric collection / storage
  • AppScale Roles
  • AppController + Roles• AppController controls all other roles• Automatically places roles on nodes• Handles ordering dependencies• Can scale based on role or node state
  • Scaling in a PaaS• Can scale based on SaaS or PaaS-level info: • SaaS-level: Application statistics • API usage, request latency • PaaS-level: Role or node statistics • # of roles/nodes alive, failure history
  • High Availability• AppControllers periodically check in w/ Metadata service• Any AppController missing their check in has failed• Next AppController spawns a new node with roles of the failed node
  • Quality of Service• Load Balancer checks in with Metadata service with: • # of requests per app • # of queued requests per app• Estimate these values for next check in• Scale up or down if predictions exceed customizable thresholds
  • Cost Awareness• Amazon EC2 meters on a per-hour basis• Scaling down => hot spares• Scaling up => use hot spares first• Reap VMs near the hour boundary• Use Spot Instances to save money
  • Evaluation Methodology• Python / Java Guestbook apps from Google• Three-tier web deployment model• Three virtual machines• 40,000 web requests (70 concurrently)• All values are the average of five runs
  • Python Guestbook
  • Java Guestbook
  • Wrapping it up• Thanks to the AppScale team, especially co- lead Navraj Chohan and advisor Chandra Krintz• AppScale 1.6.3 released on October 30• Visit us at http://appscale.cs.ucsb.edu• E-mail: cgb@cs.ucsb.edu