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. Importantly, it shares the same benefits as Enterprise Library and helps developers achieve the same goals on the Windows Azure platform.
What’s in the Pack?
- 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:
Tailspin Surveys Sample Application (reference implementation)
On-premises sample application for hosting the Autoscaling Application Block and exploratory testing (included with source)
Planning worksheet for Wasabi to help you understand the interactions between different timing values governing the overall autoscaling regime
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.
The tube map below depicts the learning paths through the Developer’s Guide: