Technically there are lots of way to do this already (including AzureWatch which I blogged on back in June) but it was great to see this week details on what we are working on as part of the new Windows Azure Integration Pack for Enterprise Library (Also check out details of what else may appear in this pack).
Grigori has shared details of the thinking and the scenarios being addressed in a upcoming Autoscaling Application Block.
In brief, the block will pull implement rules that look at data to decide on appropriate actions. Simple :-)
- Constraint – min/max, associated with when
- Reactive – based on a KPI
- Instance Scaling: varies number of instances
- Throttling: limit or disable expensive ops when thresholds are hit
- Notifying: alert rather than act
- Custom: hooks to add more
- Triggers (data to react to)
- Windows Azure Diagnostics tables (e.g. CPU utilization)
- Windows Azure Storage API (e.g. # unprocessed orders on a queue)
- Windows Azure Storage Analytics (such as transaction statistics and capacity data)
- application data store (your custom metric)
- real-time data sources instrumented in the app (e.g. # active users, # tenants, # documents submitted)
Check out the full post.