Grigori Melnik, Fernando Simonazzi Microsoft patterns & practices patterns & practices symposium 2013 Autoscaling in Windows Azure aka.ms/autoscaling

  • View
    216

  • Download
    0

Embed Size (px)

Text of Grigori Melnik, Fernando Simonazzi Microsoft patterns & practices patterns & practices symposium...

PowerPoint Presentation

Autoscaling in Windows Azureaka.ms/autoscalingGrigori Melnik,Fernando SimonazziMicrosoft patterns & practicespatterns & practices symposium 2013Visual Studio Live! Las Vegas 2011MGB 2003 2003 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.1Achieving Elasticity (prior to 11-2011) Manually via Windows Azure Management Portal Autoscaling Service (third-party only) Writing your own plumbing using Azure Management REST API

13Visual Studio Live! Las Vegas 2011MGB 2003 2003 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.2

Making Apps More ElasticTypes:instance autoscalingapplication throttlinghybrid

Triggered by:schedulesmetrics

=> Autoscaling Application Block (Wasabi)Other featuresScale groupsNotificationsOptimizing stabilizerPowerShell cmdlets133Rule TypesConstraint rulesUse timetables (with recurrences) to proactively set limits on #instancesHave a rank to determine precedence if there are multiple overlapping rules

Upper bound guards your budgetLower bound guards your SLA

Reactive rulesUse conditions to reactively adjust #instances or perform some other actionBased on perf countersqueue length (Azure queue)current instance countcustom-defined business metricsHelp respond to unexpected bursts or collapses in your applications workloadGuard both your budget and SLA

Symposium 201313

Sample Instance Count Pattern for a Single RoleBased on MetricsTimetableMinMaxPriorityDefault26100Constraint RulesReactive RulesIf [number of unprocessed documents] > 100THEN increase by 1

If [number of unprocessed documents] < 20THEN decrease by 1Maximum InstancesMinimum InstancesActual InstancesTimetableMinMaxRankDefault241Daily, between 7AM 7PM355Every Friday, between 7AM 12PM3810Every Friday, between 12PM 3PM41020Every Friday, between 3PM-6PM615100Every Friday, between 6PM-8PM3880Constraint RulesReactive RulesIf [number of unprocessed documents] > 100THEN increase by 1

If [number of unprocessed documents] < 20THEN decrease by 1

Sample Instance Count Pattern for a Single RoleBusiness metric(number of unprocesseddocuments)Maximum InstancesMinimum InstancesActual Instances6DEMOWasabi in ActionImportant RemarkWasabi makes your app elastic but doesnt make your app scalableDesign-for-scalability!138Customizing Wasabi to your businessCustom actionsCustom operands/data collectors

13DEMOCustomizing Wasabi to your business

StabilizerDealing with the high-frequency oscillation (the "yo-yo" problem) Supports hysteresisEnable "cool-down" period after a scaling action during which no other scaling action can take placeGranularity: global or at the role levelDirection: up or downOn by defaultThe user can opt-out

1311Optimizing StabilizerMaking 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