Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Enterprise Library To Get Auto-Scaling Of Windows Azure Applications

Enterprise Library To Get Auto-Scaling Of Windows Azure Applications

This item in japanese

Windows Azure Integration Pack for Enterprise Library will bring support for a lot of Azure-only scenarios. One of these is auto-scaling of both web and worker roles, depending on various parameters such as CPU Utilization, message queue backlogs, specific date and time or even business metrics (such as # of unprocessed orders).

The Enterprise Library will get a new block – the Autoscaling Application Block. According to Grigori Melnik, the primary persona for this block is the application operator, and not the developer. The Application Operator can specify autoscaling rules in following steps -

  1. Determine needs and constraints (time based/spiky/budget, SLA constraints)
  2. Specify the rules to meet the needs from 1 – Timetable/KPI based
  3. Autoscaling application block evaluates rules and takes action, logs trail
  4. Collect and Analyze results, modify rules if necessary

The constraint rules can be mainly timetable based – you can set the minimum and maximum number of instances limits for given calendar date-time ranges. Reactive rules on the other hand react to metrics or KPIs, which could be performance metrics or business metrics. The rules can also be ranked so that conflicts are resolved more easily. Following actions will be supported by rules -

  • Instance Scaling
  • Throttling (limiting/disabling expensive operations when load increases, for eg.)
  • Notifications
  • Custom actions (through hooks)

The block will have to be hosted in a client – a Windows Azure worker role, an on-premise Windows service or a standalone on-premise application. The features are scheduled to be released this fall but the team promises regular code drops on the Codeplex project, for receiving feedback. The team also has a feedback site allowing users to vote on features that should be taken up for the next release.

The Microsoft Enterprise Library is a collection of reusable software components (application blocks) designed to assist software developers with common enterprise development challenges. Developers can use these as-is or modify/extend them as necessary to build complicated enterprise applications. You can learn more about it from the msdn website.  

Rate this Article