WASABi and Azure SDK 2.4

Topics: Autoscaling Application Block ("Wasabi")
Oct 1, 2014 at 1:44 PM
Edited Oct 1, 2014 at 2:00 PM

Sorry my little bit confusing post, but I don't know how to continue with WASABi. I have tried almost every trick and most of problems has been tackled. But still I am wondering can I use WASABi any more. All articles those I read are from year 2012 and this makes me little bit uncertain. So maybe I describe little bit my environment and statement.

I have Azure solution which is converted to Azure solution. It have one web role for web site and one worker role for In-Role Caching. I want to handle elasticity by custom rules. Major reason to use WASABi is to take average CPU usage from 5-10 minute range since Azure Autoscaling in management portal uses hour. I don't know the way how to change that hour to e.g. 5min. I have been followed many WASABi tutorials *) but still I am struggling with errors and problems caused by libraries and so on.

My development machine have now Windows 8 and Azure environment is Windows Server 2012 R2. That Azure project has been developed originally with VS2013, .NET 4.5 and Azure SKD 2.4 (currently newest). I have been understood that WASABi works only with Azure SDK 1.6 so I installed that also and now I have needed dll's included in project. Now I use also VS2012 because Enterprise Library Config editor doesn't work with VS2013.

WASABi has been hosted in In-Role Caching role (in onstart-method) by using simplest routine calls (create scaler and start) which is using .net 4.0. Rules and services has been declared and app.config has been set as in tutorials. I don't believe these are the problem. I store rules.xml and services.xml in blob storage.

Questions are:
  1. Is my environment/solution correct to use WASABi?
  2. Which is best practice to host autoscaling code?
  3. Can I use dll's from different SDK's in same azure solution?
  4. Will there be problems when publishing this kind solution to Azure since there is Windows Server 2012 R2?
  5. Has anyone done solution in year 2014 which implements WASABi and uses Azure SDK 2.4 and also successfully published it to Azure?
*) tutorials used e.g.
Oct 2, 2014 at 7:16 PM
WASABi has been superseded (for the most part) by the autoscaling functionality that is now built-in to Azure. See Windows Azure autoscaling now built-in for more information. WASABi was not included in the latest version of Enterprise Library (version 6) as Topaz was, for example. There are no current plans for any future development.

With updated Azure Storage versions the usual solution was to use a binding redirect (e.g. http://entlib.codeplex.com/discussions/360403 ). However, I don't think that will work with version 2+ due to the breaking changes. If you wish to continue using WASABi with the newer versions of Azure Storage then I would recommend grabbing the source code and updating to use the new SDK.

It also appears that you can use the Microsoft.WindowsAzure.Management.Monitoring package to create your own Autoscaling Rules (see How to use Windows Azure Monitoring Services Management Library to create an Autoscale Rule ) which seems to support different intervals.

In terms of the config editor, here are versions for EntLib5 and EntLib6 that support VS2013:



Randy Levy
Enterprise Library support engineer
Support How-to
Marked as answer by jarvija on 10/3/2014 at 5:03 AM
Oct 3, 2014 at 12:03 PM
Thank you for detailed information. Windows Azure Monitoring Services Management could be best solution to me.