Running your Amazon EC2 instances in Auto Scaling groups allows you to improve your application's availability right out of the box. Auto Scaling replaces impaired or unhealthy instances automatically to maintain your desired number of instances (even if that number is one). You can also use Auto Scaling to automate the provisioning of new instances and software configurations as well as to track of usage and costs by app, project, or cost center. Of course, you can also use Auto Scaling to adjust capacity as needed - on demand, on a schedule, or dynamically based on demand. In this session, we show you a few of the tools you can use to enable Auto Scaling for the applications you run on Amazon EC2.
2. Topics We’ll Cover Today
• Auto Scaling introduction
• Console demo
• Maintaining application response times and fleet utilization
• Handling cyclical demand, unexpected “weather events”
• Auto Scaling for 99.9% Uptime
• Single-instance groups
• The opportunity cost of NOT scaling
• Auto Scaling to reduce costs
AWS
The Weather Channel
Nokia
Dreambox
3. Ways You Can Use Auto Scaling
Launch Configurations Auto Scaling Groups Auto Scaling Policies
Launch EC2 instances
and groups from
reusable templates
Scale up and down as
needed automatically
Auto-replace
Instances and
maintain EC2 capacity
4. Demo
Learn the new terms:
Launch Configuration
Auto Scaling Group
Scaling Policy
Amazon CloudWatch Alarm
Amazon SNS Notification
5. What’s New in Auto Scaling
Better integration
• EC2 console support
• Scheduled scaling policies in
CloudFormation templates
• ELB connection draining
• Auto-assign public IPs in VPC
• Spot + Auto Scaling
More APIs
• Create groups based on running instances
• Create launch configurations based on running
instances
• Attach or detach running instances from a group
• Perform lifecycle actions on group instances
• Place instances in standby state for
troubleshooting
8. The Weather Company
• Top 30 web property in the U.S.
• 2nd most viewed television
channel in the U.S.
• 85% of U.S. airlines depend on
our forecasts
• Major retailers base marketing
spend and store displays based
on our forecasts
• 163 million unique visitors
across TV and web
9. Migrated real-time radar mapping system wunderground.com to
AWS Cloud
Wunderground Radar and
Maps
100 million hits a day
One Billion data points per day
16. Before Migration – Traditional IT Model doesn’t scale well
Server Count
(110 Servers)
Avg. CPU Load HTTP Response Latency
(~6000 ms)
HTTP Response Latency
(5-15ms)
After Migration -Wunderground Radar App
Server Count
(from 110 to 170 Instances)
Avg. CPU Load
26. Here.com Local Search Application
• Local Search app
• First customer facing
application on AWS
• Obvious need for
Uptime
27. Here.com Local Search Architecture
US-East-1
US-West-2
EU-West-1
US-East-1a
Zookeeper1
Zookeeper2
Zookeeper3
Frontend
Group
Backend
Groups
US-East-1b
Zookeeper1
Zookeeper2
Zookeeper3
Frontend Group
Backend Groups
AP-Southeast-1
28. Here.com Local Search Architecture
US-East-1
Single-Instance Auto Scaling
Groups (Zookeeper)
US-West-2
1. Auto-healing: Instances auto-register in
EU-West-1
US-East-1a
Zookeeper1
Zookeeper2
Zookeeper3
Frontend
Group
Backend
Groups
US-East-1b
Zookeeper1
Zookeeper2
Zookeeper3
Frontend Group
Backend Groups
AP-Southeast-1
DNS via Route53
2. Dynamic: Auto Scaling Group Names
are used for cluster-node lookups
(cluster1-zookeeper1)
3. Used Standard Tools such as DNS
instead of Queries or Elastic IPs
29. Here.com Local Search Success
• Increased Uptime to 99.9%
• All detected health
problems have been
successfully replaced by
Auto Scaling with zero
intervention.
• Zookeeper setup has
performed flawlessly
“We’ve been
paranoid so it still
pages us; It’s
beginning to feel
silly.”
34. The opportunity cost of NOT scaling
• Our usage curve
from 3/20
• Low of about 5
concurrent users
• High of about
10,000 concurrent
users
35. The opportunity cost of NOT scaling
• No autoscaling
• 672 instance hours
• $302.40 at on-demand
prices
36. The opportunity cost of NOT scaling
• Autoscaling four
times per day
• 360 instance hours
• $162 at on-demand
prices
• 46% savings vs no
autoscaling
37. The opportunity cost of NOT scaling
• Autoscaling as
needed, twelve
times per day
• 272 instance hours
• $122.40 at on-demand
prices
• 24% savings vs
scaling 4 times per
day
• 60% savings vs no
autoscaling
40. “Auto Scaling saves us a lot of money; with
a little bit of math, flexibility of AWS allows
us to further save by aligning our demand
curve with usage curve.” -- Dreambox
42. Key Takeaways
• Maintaining application response times and fleet utilization
• Scaling up and handling unexpected “weather events”
• Auto Scaling for 99.9% Uptime
• Single-instance groups
• The opportunity cost of NOT scaling
• Auto Scaling to reduce costs
The Weather Channel
Nokia
Dreambox
43. Common Scenarios
• Schedule a one-time scale out and flip to production
• Follow daily, weekly, or monthly cycles
• Provision capacity dynamically by scaling on CPU, memory,
request rate, queue depth, users, etc.
• Auto-tag instances with cost center, project, version, stage
• Auto-replace instances that fail ELB or EC2 checks
• Auto-balance instances across multiple zones.
Prepare for a Big Launch
Fit Capacity to Demand
Be Ready for Spikes
Simplify Cost Allocation
Maintain Stable Capacity
Go Multi-AZ
A pretty basic application configuration, edge nodes where all the application processing happens, working off of data from a data node, fronted by an ELB across 3 AZs.
TWC went through several iterations to get to this point and then went through several iterations of launch configurations, auto scaling policies, alarms, etc.
Top line is CPU utilization across the cluster.
Bottom line is the number of instances in the cluster.