Download presentation
Presentation is loading. Please wait.
Published byEdward Morrison Modified over 9 years ago
1
Grigori Melnik, Fernando Simonazzi Microsoft patterns & practices patterns & practices symposium 2013 Autoscaling in Windows Azure aka.ms/autoscaling
2
13 Achieving Elasticity (prior to 11- 2011) 1. Manually via Windows Azure Management Portal 2. Autoscaling Service (third-party only) 3. Writing your own plumbing using Azure Management REST API
3
13 Making Apps More Elastic Types: instance autoscaling application throttling hybrid Triggered by: schedules metrics => Autoscaling Application Block (“Wasabi”) Other features Scale groups Notifications Optimizing stabilizer PowerShell cmdlets
4
Symposium 2013 13 Rule Types Constraint rules Use timetables (with recurrences) to proactively set limits on #instances Have a rank to determine precedence if there are multiple overlapping rules Upper bound guards your budget Lower bound guards your SLA Reactive rules Use conditions to reactively adjust #instances or perform some other action Based on perf counters queue length (Azure queue) current instance count custom-defined business metrics Help respond to unexpected bursts or collapses in your application’s workload Guard both your budget and SLA
5
Sample Instance Count Pattern for a Single Role Based on Metrics TimetableMinMaxPriority Default26100 Constraint Rules Reactive Rules If [number of unprocessed documents] > 100 THEN increase by 1 If [number of unprocessed documents] < 20 THEN decrease by 1 Maximum Instances Minimum Instances Actual Instances
6
TimetableMinMaxRank Default241 Daily, between 7AM – 7PM355 Every Friday, between 7AM – 12PM3810 Every Friday, between 12PM – 3PM41020 Every Friday, between 3PM-6PM615100 Every Friday, between 6PM-8PM3880 Constraint Rules Reactive Rules If [number of unprocessed documents] > 100 THEN increase by 1 If [number of unprocessed documents] < 20 THEN decrease by 1 Sample Instance Count Pattern for a Single Role Business metric (number of unprocessed documents) Maximum Instances Minimum Instances Actual Instances
7
DEMO Wasabi in Action
8
13 Important Remark Wasabi makes your app elastic but doesn’t make your app scalable Design-for-scalability!
9
13 Customizing Wasabi to your business Custom actions Custom operands/data collectors
10
DEMO Customizing Wasabi to your business
11
13 Stabilizer Dealing with the high-frequency oscillation (the "yo-yo" problem) Supports hysteresis Enable "cool-down" period after a scaling action during which no other scaling action can take place Granularity: global or at the role level Direction: up or down On by default The user can opt-out
12
13 Optimizing Stabilizer Making sure that scale actions correspond to the most optimal compute hour pricing charges. Specifying intervals of time in which to execute an action E.g. only run reactive scaling up rules during the first 15 mins of the hour … Supports for scale groups User-configurable cool down on notifications too
13
13 How to Get All This Goodness? Via NuGet (search key “Wasabi”) or MS Download Center
14
13 Learning Resources Developer’s Guide Reference Documentation Tailspin Reference Implementation 14 Comprehensive Hands-on Labs 2 case studies 4 videos on Channel 9 Codeplex forum
15
13 Case Study: MSDN/TechNet Objectives to maximize resources utilization (from 20% to 67%) to reduce infrastructure and running costs to "green" the MSDN and TechNet services. while: No code or architecture changes Equivalent or better performance Ease of operation Reduced on-premises requirements According to the IT Energy Efficiency Imperative (http://aka.ms/ITEEI), the biggest potential for improving the IT energy efficiency in a data center lies with increasing server utilization.
16
13 Resources Windows Azure Dev Center windowsazure.com/develop/net/how-to-guides/autoscaling Wasabi home page aka.ms/wasabi Comprehensive hands-on labs microsoft.com/download/en/details.aspx?id=28785 CloudCover Episode on Autoscaling http://bit.ly/cloudcover_wasabi Case studies http://aka.ms/msdntechnetstudy and http://aka.ms/sagestudy IT Energy Efficiency Imperative http://aka.ms/ITEEI Grigori’s blog: blogs.msdn.com/agile
17
13 Wasabi Recap: Supported Scenarios 1. Autoscaling web and worker roles in Windows Azure by dynamically changing instance counts or performing application throttling. 2. Autoscaling roles based on timetables. 3. Autoscaling based on metrics collected from the application and/or Windows Azure. 4. Constraining the instance count per role by upper and lower bounds. 5. Preventing fast oscillations in the number of role instances with the stabilizer. 6. Optimizing costs by limiting scaling operations acknowledging billing hours. 7. Monitoring and tracing autoscaling activity. 8. Sending notifications to preview any scaling operations before they take place. 9. Encrypting the rules and other configuration in Windows Azure blob storage or in local file storage. 10. Managing the autoscaler operation by using Windows PowerShell. 11. All blocks and guidance are 100% MS IP, free and available under MS-PL.
18
13 Thank you Questions & Answers
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.