Just about a month and a half ago I wrote a blog post announcing the beta release of Wasabi – a new Autoscaling Application Block. Since then we’ve got a lot of positive feedback from customers and internal partners, some of who have made decisions to adopt it even before we shipped the final version. Thank you for beta-testing and for providing meaningful feedback, some of which led us to reconsider earlier decisions and bring back stories we originally punted on (e.g. optimizing around the hour).
Today we are excited to announce the final release of the Enterprise Library Integration Pack for Windows Azure which includes not only Wasabi but many other new features.
For years the Enterprise Library application blocks have helped developers address the typical cross-cutting concerns of enterprise development (such as diagnostic logging, data validation, and exception handing). With over 3.5 million downloads, they take a prominent place in the toolbox of a modern .NET developer. The good news is that most of the Enterprise Library 5.0 application blocks simply work on Windows Azure. However, developing for the Windows Azure platform presents new challenges, including how to make applications more elastic (via autoscaling), and more stable and resilient to transient failures. The Enterprise Library Integration Pack for Windows Azure focuses on addressing these challenges. It provides reusable components and developer’s guidance designed to encapsulate recommended practices which facilitate consistency, ease of use, integration, extensibility, scalability and cost-effectiveness. Developers and IT professionals familiar with other Enterprise Library application blocks as well as those who are new to Enterprise Library will be able to benefit from the comprehensive set of content we are shipping today. You can pick and choose what matters to you and to your app, and adopt only those particular blocks/features.
This release includes a comprehensive set of technical content, including:
- Two new application blocks:
- Autoscaling Application Block ("Wasabi") to help you to automatically scale both web and worker roles in Windows Azure by dynamically provisioning/decommissioning roles or throttling. These scaling actions are based on timetables or on metrics collected from the application and/or Windows Azure Diagnostics.
- Transient Fault Handling Application Block ("Topaz") to help you make your Windows Azure application more resilient to transient errors when you are using these cloud services: SQL Azure, Windows Azure Storage, Windows Azure Caching, and Windows Azure Service Bus.
- One new configuration source:
- Blob configuration source to load configuration information from a blob in your Azure Storage account so that you can modify it without having to redeploy your application to Windows Azure.
- Windows PowerShell cmdlets to browse and manipulate the Autoscaling Application Block settings directly from Windows PowerShell.
- Protected configuration provider to allow you to encrypt sections of your configuration files in Windows Azure.
- Updated database creation scripts so that you can migrate your code using the database trace listeners of the Logging Application Block and the Caching Application Block.
- A substantial collection of experience guidance help you ramp up quickly, including:
- Reference documentation
- Developer’s guide
- Tailspin Surveys sample application (reference implementation, installation guide)
- On-premises sample application for hosting the Autoscaling Application Block and exploratory testing (included with source under (install location)/WindowsAzure/Autoscaling/Hosts/ConsoleAutoscaler)
- Planning worksheet for Wasabi to help you understand the interactions between different timing values governing the overall autoscaling regime.
For detailed change log from Beta to Final and installation instructions, see Release Notes.
How to Get it?
The recommended way to obtain the Enterprise Library Integration Pack for Windows Azure is as NuGet packages. Alternatively, you can download self-extracting zip files with binaries, sources (including tests) and the reference implementation from MSDN. The configuration tool is available as a Visual Studio extension package (VSIX) from the Visual Studio Gallery.
How to Provide Feedback and Get Help?
As always, we’ll be happy to hear from you about your experience using this new set of features.