Preface

Retired Content

This content and the technology described is outdated and is no longer being maintained. For more information, see Transient Fault Handling.

patterns & practices Developer Center

On this page:
Who This Book Is For | Why This Book Is Pertinent Now | How This Book Is Structured | What You Need to Use the Code | Who's Who

The Microsoft Azure™ technology platform offers exciting new opportunities for companies and developers to build large and complex applications to run in the cloud. Microsoft Azure enables you to take advantage of a pay-as-you-go billing model for your application infrastructure and on-demand computing resources.

By combining the existing Microsoft® Enterprise Library application blocks that help you design applications that are robust, configurable, and easy to manage, with new blocks designed specifically for the cloud, you can create highly scalable, robust applications that can take full advantage of Azure.

This book describes a scenario based on a fictitious company named Tailspin that has decided to enhance its existing Azure hosted application by using the new Autoscaling Application Block and Transient Fault Handling Block. Its Azure-based application, named Surveys, is described in detail in a previous book in this series, "Developing Applications for the Cloud."

This guide accompanies a reference implementation, which we encourage you to study and play with to better understand how the new application blocks operate.

In addition to describing the Azure application and how it uses the Enterprise Library blocks, this book provides a description of the key features of the blocks and general guidance on how you can use them in your own applications.

The result is that, after reading this book, you will be familiar with how to incorporate the Autoscaling Application Block and the Transient Fault Handling Application Block in your Azure applications.

Who This Book Is For

This book demonstrates how you can use the Enterprise Library Integration Pack for Microsoft Azure in an existing Azure application to enhance the maintainability, manageability, scalability, stability, and extensibility of the application. The book is intended for any architect, developer, or information technology (IT) professional who designs, builds, or operates applications and services that are appropriate for the cloud and who wants to learn how to realize the benefits of using Enterprise Library in a cloud-based application. You should be familiar with Azure, the Microsoft .NET Framework, Microsoft Visual Studio® development system, ASP.NET, and Microsoft Visual C#® to derive full benefit from reading this guide. The next two chapters offer overviews of Azure and the Enterprise Library Integration Pack for Microsoft Azure to help you get started.

Why This Book Is Pertinent Now

In general, the cloud has become a viable option for making your applications accessible to a broad set of customers. You may have already built and deployed applications to Azure using the tools available for Visual Studio and the Azure SDK for .NET. Just as Enterprise Library has helped you to address common, crosscutting concerns, such as logging and exception management, in your on-premises applications, the Integration Pack and its associated guidance will help you address the crosscutting concerns common to many cloud applications. Some of these crosscutting concerns will be the same as those in your on-premises applications, such as exception management and caching; some will be different, such as auto-scaling to meet elastic demand. This book shows you how you can address these concerns in the context of a common scenario: enhancing an existing Azure application.

How This Book Is Structured

Hh680953.22ABAEBFAE2A99EDC503C613715E9B34(en-us,PandP.50).png 

What You Need to Use the Code

In order to run the Tailspin Surveys application, you will need the following:

  • A development machine running Microsoft Visual Studio® 2010 development system SP1.
  • All required Microsoft Windows® updates.
  • NuGet Package Manager (for more information, see https://nuget.codeplex.com/).
  • An Azure subscription with room for two hosted services (if you want to run the Tailspin Surveys application, the Autoscaler Host, and the Management Web application in Azure).
  • An Azure storage account.
  • The Dependency Checker, which will verify that you have the prerequisites listed below installed. If not, it will help you install them.
    • Visual Studio 2010
    • MVC 3 Framework
    • Azure SDK for .NET and Azure Tools for Microsoft Visual Studio – November 2011 Release
    • Windows Identity Foundation Runtime
    • Optional: Internet Information Services 7 (IIS) – This is required if you want to run the management site in simulated mode or want to deploy the autoscaler role locally.

Who's Who

As mentioned earlier, this book employs scenarios that demonstrate how to use the Enterprise Library Integration Pack for Microsoft Azure in a reference implementation. A panel of experts comments on the development efforts. The panel includes a cloud specialist, a business manager, a software architect, a software developer who is knowledgeable about Enterprise Library, a software developer who is new to Enterprise Library, and an IT professional. The scenarios can be considered from each of these points of view. The following table lists the experts for these scenarios.

Hh680953.DC0F381503A3EBF2308D478CD90E7C8A(en-us,PandP.50).png

Bharath is a cloud specialist. He checks that a cloud-based solution will work for a company and will provide tangible benefits. He is a cautious person, for good reason.

"Developing a single application for the cloud is easy. Realizing the benefits that a cloud-based solution can offer is not always so straightforward."

Hh680953.58074E3B4A85A72AF482381FA8A3E586(en-us,PandP.50).png

Jana is a software architect. She plans the overall structure of an application. Her perspective is both practical and strategic. In other words, she considers not only what technical approaches are needed today, but also what direction a company needs to consider for the future. Jana has worked on many projects that have used Enterprise Library.

"It's not easy to balance the needs of the company, the users, the IT organization, the developers, and the technical platforms we rely on."

Hh680953.9B88E0AA824EE55D6EDEBA29CC377173(en-us,PandP.50).png

Markus is a software developer who is new to Enterprise Library. He is analytical, detail-oriented, and methodical. He's focused on the task at hand, which is building a great cloud-based application. He knows that he's the person who's ultimately responsible for the code.

"I don't care what platform you want to use for the application, I'll make it work."

Hh680953.8D9BC662255314F420FE1E3D18E64909(en-us,PandP.50).png

Ed is an experienced software developer and Enterprise Library expert. As a true professional, he is well aware of the common crosscutting concerns that developers face when building line-of-business (LOB) applications for the enterprise. In the past, he has built his own libraries to satisfy these concerns, but in the last several years he used Enterprise Library for most of these applications.
"Our applications use Enterprise Library for crosscutting concerns. This provides a level of uniformity across all our systems that make them easier to support and maintain. We have invested heavily in our on-premises applications and we must be able to reuse this investment in the cloud."

Hh680953.3B6A1E6EE364981BD427041F9C239600(en-us,PandP.50).png

Poe is an IT professional who's an expert in deploying and running applications in the cloud. Poe has a keen interest in practical solutions; after all, he's the one who gets paged at 3:00 AM when there's a problem.

"Migrating applications in the cloud involves different challenges from managing on-premises applications. I want to make sure our cloud apps are as reliable and secure as our on-premises apps."

Hh680953.978938FF49D8B7C34E84E6ABF6499EBE(en-us,PandP.50).png

Beth is a business manager. She helps companies to plan how their business will develop. She understands the market that the company operates in, the resources that the company has available, and the goals of the company. She has both a strategic view, and an interest in the day-to-day operations of the company.

"Organizations face many conflicting demands on their resources. I want to make sure that our company balances those demands and adopts a business plan that will make us successful in the medium and long term."

If you have a particular area of interest, look for notes provided by the specialists whose interests align with yours.

Next Topic | Previous Topic | Home

Last built: June 7, 2012