Microsoft   |   patterns & practices   |   Developer Network   |   Enterprise Library   |   Acceptance Testing Guide   |   Personal Site

Windows Azure Autoscaling Block BETA is out - Grigori Melnik: Thoughts on Agile Software Engineering and Beyond - Site Home - MSDN Blogs

Windows Azure Autoscaling Block BETA is out

Windows Azure Autoscaling Block BETA is out

  • Comments 8

The Windows Azure Autoscaling Application Block (WASABi) is now available as a beta release. As before, you can get the block via NuGet. There are two packages – one with binaries and one containing the source. The beta includes a sample application for hosting the block and for exploratory testing.

What’s New?

There are quite a few new features as well as bug fixes. Check them out! Major additions include:

  • The Stabilizer increases hysteresis in the block's scaling operations by preventing reactive rules from performing repeated and erratic scaling actions.
  • Application throttling provides a new reactive rule action for changing a Windows Azure configuration setting for a specific role when a rule condition is satisfied. Through this, you can limit or disable certain relatively expensive operations in your application when the load is above certain thresholds.
  • E-mail notifications allow for hypothetical scaling. The block still evaluates the rules and makes a decision (recommendation) on what should be scaled and how, but instead of performing the change it sends a notification to configured recipients (human operators) to scale manually or to perform some other action.
  • Collection of role instance count values for every role defined in the service information store (this is mainly used by the stabilizer feature, but users could also use it in operands for rule conditions).
  • Ability to define custom actions for reactive rules.
  • Ability to specify custom operands for use in reactive rule conditions.
  • New "Max" and "Growth" aggregate functions in operand definition.
  •  Enhanced log messages for rules evaluation and scaling to better determine what is happening in the system.
    • Added an Evaluation ID to correlate all log messages for a specific evaluation pass.
    • Added JSON payloads to log messages to assist tools that monitor and interpret the messages.
    • Provided utility classes and constant definitions to read and parse the log messages.
  • Configuration tool enhancements, including better names and descriptions for configuration objects, validation, and a Windows Azure connection string editor.

For the full change log, please check this page.

Getting Started

Please follow the instructions in the included Readme file to learn how to use the block binaries and about the pre-requisites if you want to build the block from source.

This time we are shipping a draft set of documentation, which includes the reference documentation and an early preview of the Developer’s Guide to WASABi. Both are available via Codeplex.

Additionally, we are shipping a beta of the Tailspin Reference Implementation (sample app) that showcases various usages of the Autoscaling Application Block. We’ve expanded the scope of the Tailspin reference implementation originally shipped with the Developing Application for the Cloud Guide by making it more elastic. The RI is available via Codeplex.

If you haven’t watched the video walkthrough via Channel9 yet, I recommend you do so now.

Providing Feedback

To provide feedback about this release, the reference implementation or written guidance, or to get help with any problems, please visit the Enterprise Library discussion forum. We look forward to your comments!

Comments
  • "Added JSON payloads to log messages to assist tools that monitor and interpret the messages."

    Thanks for that.  Definitely helpful.

  • Our Azure 'environment' includes a number of roles each of which collect performance data. Each of these roles need to be scaled independently of each other using the collected performance data. How can this be done using WASABI as I don't see a way of defining which role to select when setting up the performance counter in the rules.xml file.

  • can user be notified when any scaling action takes place?

  • Yes, but not in beta. We have recently implemented "scale and notify " feature and it will be available in the final release.

  • can Auto Scaling Block provides control that which user can perform the scaling operations on particular application?

  • What is the Data Points Store Storage Account information in the autoscaling config file? Which information should I put onto Data Points Store Storage Account ?

  • What does alias attribute do In ServiceModel xml ?

    <role roleName="ScalingWorkerRole" wadStorageAccountName="foo" alias="1"></role>

  • @Mithya

    While roleName is the actual name of the role, alias is how you will be referring to it when defining the rules.

Page 1 of 1 (8 items)
Leave a Comment
  • Please add 1 and 3 and type the answer here:
  • Post