Bibliography
Retired Content |
---|
This content and the technology described is outdated and is no longer being maintained. For more information, see Transient Fault Handling. |
On this page: |
---|
Chapter 1: Introduction to Microsoft Azure | Chapter 2: Introduction to Enterprise Library Integration Pack for Microsoft Azure | Chapter 3: The Tailspin Scenario | Chapter 4: Autoscaling and Microsoft Azure | Chapter 5: Making Tailspin Surveys More Elastic | Chapter 6: Transient Fault Handling | Chapter 7: Making Tailspin Surveys More Resilient | Appendix B: Tailspin Surveys Installation Guide |
Chapter 1: Introduction to Microsoft Azure
There is a great deal of information available about Microsoft Azure in the form of documentation, training videos, and white papers. Here are some websites you can visit to learn more:
- The portal to information about Azure is at https://www.microsoft.com/WindowsAzure/. It has links to white papers, tools such as the Azure SDK for .NET, and many other resources. You can also sign up for a Azure account there.
- The Azure learning portal at https://www.microsoft.com/WindowsAzure/learn.
- Wade Wegner and Steve Marx have a series of Channel 9 discussions about Azure on Cloud Cover, located at https://channel9.msdn.com/shows/Cloud+Cover/.
- Find answers to your questions on the Azure Forum at https://social.msdn.microsoft.com/Forums/en-US/windowsazuredevelopment/threads
- Steve Marx is a Azure Technical Product Manager. His blog is at http://blog.smarx.com/. It is a great source of news and information on Azure.
- Wade Wegner is the Technical Evangelist Lead for Azure. His blog is full of technical details and tips. It is at http://www.wadewegner.com/.
- Azure Feature Voting backlog at http://www.mygreatwindowsazureidea.com to provide feedback, submit and vote on features requests.
- The community site for the patterns & practices series of guides at https://wag.codeplex.com/ provides links to online resources, sample code, hands-on labs, feedback, and more.
- The community site for this release at http://entlib.uservoice.com/forums/101257-windows-azure-integration-pack provides links to additional online resources, issue tracker and discussion forum.
Below are the links to references in this chapter:
- Azure Guidance on CodePlex:
https://wag.codeplex.com/ - Azure Features:
https://www.microsoft.com/windowsazure/features/ - Azure Offers:
https://www.microsoft.com/windowsazure/offers/ - Building an Application that Runs in a Hosted Service:
https://go.microsoft.com/fwlink/?LinkID=234587 - Creating Applications by Using a VM Role in Azure:
https://go.microsoft.com/fwlink/?LinkID=234590 - Cloud Development:
https://go.microsoft.com/fwlink/?LinkID=234613 - Azure Storage Services REST API Reference:
https://msdn.microsoft.com/en-us/library/dd179355.aspx - Table Service Concepts:
https://msdn.microsoft.com/en-us/library/dd179463.aspx - Table Service REST API:
https://msdn.microsoft.com/en-us/library/dd179423.aspx - Understanding Block Blobs and Page Blobs:
https://msdn.microsoft.com/en-us/library/ee691964.aspx - Blob Service REST API:
https://msdn.microsoft.com/en-us/library/dd135733.aspx - Queue Service Concepts:
https://msdn.microsoft.com/en-us/library/dd179353.aspx - Queue Service REST API:
https://msdn.microsoft.com/en-us/library/dd179363.aspx - Azure Drive:
https://go.microsoft.com/?linkid=9710117 - SQL Azure Database:
https://msdn.microsoft.com/en-us/library/ee336279.aspx - Microsoft Sync Framework Developer Center:
https://msdn.microsoft.com/en-us/sync - Caching Service (Azure):
https://go.microsoft.com/fwlink/?LinkID=234591 - Delivering High-Bandwidth Content with the Azure CDN:
https://go.microsoft.com/fwlink/?LinkID=234592 - Connecting Local Computers to Azure Roles:
https://go.microsoft.com/fwlink/?LinkID=234593 - Azure Traffic Manager:
https://go.microsoft.com/fwlink/?LinkID=234594 - A Guide to Claims-Based Identity and Access Control (2nd Edition):
https://msdn.microsoft.com/en-us/library/ff423674.aspx - Service Bus:
https://go.microsoft.com/fwlink/?LinkID=234596 - SQL Azure Reporting:
https://go.microsoft.com/fwlink/?LinkID=234597 - Azure Marketplace:
https://go.microsoft.com/fwlink/?LinkID=234598 - Azure Marketplace:
https://go.microsoft.com/fwlink/?LinkID=234599 - Azure Tools:
https://www.microsoft.com/windowsazure/tools/ - Learn Azure and SQL Azure:
https://www.microsoft.com/windowsazure/tutorials/ - Design. Code. Scale.:
https://www.microsoft.com/windowsazure/getstarted/ - Developing Applications for Azure:
https://go.microsoft.com/fwlink/?LinkID=234600 - Azure Training Kit:
https://go.microsoft.com/fwlink/?LinkID=234601 - Development (SQL Azure Database):
https://go.microsoft.com/fwlink/?LinkID=234603 - Azure Assessment/Planning:
https://www.microsoft.com/windowsazure/tools/#assessment - API References for Azure:
https://msdn.microsoft.com/en-us/library/ff800682.aspx - Azure Service Management REST API Reference:
https://msdn.microsoft.com/en-us/library/ee460799.aspx - Monitoring Azure Applications:
https://msdn.microsoft.com/en-us/library/gg676009.aspx - Azure PowerShell Cmdlets:
https://msdn.microsoft.com/en-us/library/azure/jj156055.aspx - Collecting Logging Data by Using Azure Diagnostics:
https://go.microsoft.com/fwlink/?LinkID=234604 - Troubleshooting and Debugging in Azure:
https://go.microsoft.com/fwlink/?LinkID=234605 - Debugging Applications in Azure:
https://go.microsoft.com/fwlink/?LinkID=234606 - "Application Life Cycle Management for Azure Applications" in Moving Applications to the Cloud:
https://msdn.microsoft.com/en-us/library/ff803362.aspx - Management Portal for SQL Azure:
https://go.microsoft.com/fwlink/?LinkID=234607 - Azure Tools:
https://www.microsoft.com/windowsazure/tools/#sqlazure - Management REST API Reference:
https://go.microsoft.com/fwlink/?LinkID=234608 - How to Deploy a Service Upgrade to Production by Swapping VIPs in Azure:
https://go.microsoft.com/fwlink/?LinkID=234609 - How to Perform In-Place Upgrades on a Hosted Service in Azure:
https://go.microsoft.com/fwlink/?LinkID=234610 - Microsoft Online Services:
https://mocp.microsoftonline.com/ - "What are the Billing Basics of Azure?" in "Azure Platform"
https://go.microsoft.com/fwlink/?LinkID=234611 - Accounts and Billing in SQL Azure:
https://go.microsoft.com/fwlink/?LinkID=234612 - Subscription overview for the various purchasing models:
https://www.microsoft.com/windowsazure/pricing/ - Pricing calculator:
https://www.microsoft.com/windowsazure/pricing-calculator/ - TCO calculator:
https://www.microsoft.com/windowsazure/offers/#tcoCompare-LB - "How Much Will It Cost?" in Moving Applications to the Cloud:
https://msdn.microsoft.com/en-us/library/ff803375.aspx - Moving Applications to the Cloud, 2nd Edition:
https://msdn.microsoft.com/en-us/library/ff728592.aspx
Chapter 2: Introduction to Enterprise Library Integration Pack for Microsoft Azure
For more information about the Enterprise Library application blocks, see the following resources on MSDN:
- Microsoft Enterprise Library 5.0 – May 2011:
https://msdn.microsoft.com/en-us/library/ff632023.aspx - Developer's Guide:
https://msdn.microsoft.com/en-us/library/ff953181(v=PandP.50).aspx - Enterprise Library 5.0 Silverlight Integration Pack:
https://go.microsoft.com/fwlink/?LinkID=234632 - The Caching Application Block:
https://msdn.microsoft.com/en-gb/library/ff664753(PandP.50).aspx - The Cryptography Application Block:
https://msdn.microsoft.com/en-gb/library/ff664484(PandP.50).aspx - The Data Access Application Block:
https://msdn.microsoft.com/en-gb/library/ff664408(PandP.50).aspx - The Exception Handling Application Block:
https://msdn.microsoft.com/en-gb/library/ff664698(PandP.50).aspx - The Logging Application Block:
https://msdn.microsoft.com/en-gb/library/ff664569(PandP.50).aspx - The Policy Injection Application Block:
https://msdn.microsoft.com/en-gb/library/ff664572(PandP.50).aspx - The Security Application Block:
https://msdn.microsoft.com/en-gb/library/ff664771(PandP.50).aspx - The Validation Application Block:
https://msdn.microsoft.com/en-gb/library/ff664356(PandP.50).aspx - Unity Dependency Injection and Interception:
https://msdn.microsoft.com/unity
For more information about the Autoscaling Application Block, see "The Autoscaling Application Block" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680892(v=PandP.50).aspx
For more information about the Transient Fault Handling Application Block, see "The Transient Fault Handling Application Block" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680934(v=PandP.50).aspx
Chapter 3: The Tailspin Scenario
For information about building a Windows Phone 7 client application for the Tailspin Surveys application, see the book, Windows Phone 7 Developer Guide at https://go.microsoft.com/fwlink/?LinkID=234571**
Chapter 4: Autoscaling and Microsoft Azure
For more information about design requirements, see "Building a Scalable, Multi-Tenant Application for Microsoft Azure" on MSDN:
https://msdn.microsoft.com/en-us/library/ff966483.aspx
For more information about compute hours in Azure, see "Usage Charge Details for Azure Bills":
https://go.microsoft.com/fwlink/?LinkID=234626
For more information about Azure subscriptions, see the Azure Support page:
https://www.microsoft.com/windowsazure/support/
For more information about how the Autoscaling Application Block reconciles conflicting rules, see "Understanding Rule Ranks and Reconciliation" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680923(v=PandP.50).aspx
For a more detailed discussion of how you can estimate your Azure running costs, see the chapter "How Much Will It Cost?" in the book "Moving Applications to the Cloud":
https://msdn.microsoft.com/en-us/library/ff803375.aspx
For a discussion of session state in Azure applications, see "Storing Session State" in the book "Moving Applications to the Cloud":
https://msdn.microsoft.com/en-us/library/ff803373.aspx#sec11
For a discussion of some of the design issues associated with scalable worker roles, see "Scaling Applications by Using Worker Roles" in the book "Developing Applications for the Cloud":
https://msdn.microsoft.com/en-us/library/hh534484.aspx#sec14
For information about how you can use NuGet to prepare your Visual Studio project to work with the Autoscaling Application Block, see the topic "Adding the Autoscaling Application Block to a Host" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680920(v=PandP.50).aspx
For information about how to host the Autoscaling Application Block in Azure, see the topic "Hosting the Autoscaling Application Block in a Worker Role" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680914(v=PandP.50).aspx
For information about how to reference the Enterprise Library assemblies, how Enterprise Library handles dependencies, and how to work with Enterprise Library objects, see "Using Enterprise Library in Applications" in the main Enterprise Library documentation on MSDN:
https://msdn.microsoft.com/en-us/library/ff664560(PandP.50).aspx
For information about how to host the Autoscaling Application Block in an on-premises application, see the topic "Hosting the Autoscaling Application Block in an On-Premises Application" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680882(v=PandP.50).aspx
For more information about the code changes you must make in your Azure application to enable it to save performance counter data, see the topic "Collecting Performance Counter Data" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680886(v=PandP.50).aspx
You can also use the Azure Diagnostics Configuration File (diagnostics.wadcfg) to configure your performance counters. For more details, see "How to Use the Azure Diagnostics Configuration File" on MSDN:
https://go.microsoft.com/fwlink/?LinkID=234617
The Autoscaling Application Block rules can only operate on targets (roles and scale groups) that are identified in the block's service information. For more information, see the topic "Storing Your Service Information Data" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680878(v=PandP.50).aspx
For information about a technique for parallelizing large calculations across multiple role instances, see the section "The Map Reduce Algorithm" in the book Developing Applications for the Cloud:
https://msdn.microsoft.com/en-us/library/ff966483.aspx#sec18
In Azure, you can use the session state provider that stores session state in the shared cache. For more information, see the page "Session State Provider" on MSDN:
https://msdn.microsoft.com/en-us/library/gg185668.aspx
To minimize the risk of disclosing sensitive information, you should encrypt the contents of the service information store. For more information, see the topic "Encrypting the Rules Store and the Service Information Store" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680910(v=PandP.50).aspx
For more information about how your Azure application can detect a request for throttling behavior, see the topic "Implementing Throttling Behavior" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680896(v=PandP.50).aspx
For information about how to define the throttling autoscaling rules, see the topic "Defining Throttling Autoscaling Rules" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680908(v=PandP.50).aspx
For a complete example of how the Tailspin Surveys application uses throttling behavior, see Chapter 5, "Making Tailspin Surveys More Elastic" in this guide.
If your reactive rules use performance counter data from your Azure application, you must make sure that your application transfers the performance counter data that the rules consume to Azure Diagnostics storage. For an example of how to do this, see the section "Collecting Performance Counter Data from Tailspin Surveys" in Chapter 5, "Making Tailspin Surveys More Elastic" of this guide.
For information about the logging data that the Autoscaling Application Block generates, see the topic "Autoscaling Application Block Logging" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680883(v=PandP.50).aspx
For more information about reading and parsing the Autoscaling Application Block log messages, see the topic "Reading the Autoscaling Application Block Log Messages":
https://msdn.microsoft.com/en-us/library/hh680909(v=PandP.50).aspx
For more information about configuring the Autoscaling Application Block and configuring the logger, see the topic "Entering Configuration Information" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680915(v=PandP.50).aspx
For more information about reading from the rules store, see the "IRulesStore interface" in the API documentation on MSDN:
https://go.microsoft.com/fwlink/?LinkID=234680
For more information about reading from the service information store, see the "IServiceInformationStore interface" in the API documentation on MSDN:
https://go.microsoft.com/fwlink/?LinkID=234681
For more information about reading from the rules store, see the "IDataPointsStore interface" in the API documentation on MSDN:
https://go.microsoft.com/fwlink/?LinkID=234682
For a complete example of using the different data sources to visualize the Autoscaling Application Block activities, see the section "Visualizing the Autoscaling Actions" in Chapter 5, "Making Tailspin Surveys More Elastic."
For more information about how to configure notifications, see the topic "Using Notifications and Manual Scaling" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680885(v=PandP.50).aspx
For more information extending and modifying the Autoscaling Application Block, see the topic "Extending and Modifying the Autoscaling Application Block" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680889(v=PandP.50).aspx
- For more information about custom actions, see the topic "Creating a Custom Action" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680921(v=PandP.50).aspx - For an example of a custom action and a custom operand, see Chapter 5, "Making Tailspin Surveys More Elastic."
- For more information about custom operands, see the topic "Creating a Custom Operand" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680912(v=PandP.50).aspx - For more information about creating a custom rules store, see the topic "Creating a Custom Rules Store" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680933(v=PandP.50).aspx - For more information about creating a custom service information store, see the topic "Creating a Custom Service Information Store" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680884(v=PandP.50).aspx - For more information about creating a custom logger, see the topic "Creating a Custom Logger" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680926(v=PandP.50).aspx
For more information about extending the Enterprise Library, see the "Extensibility Hands-on Labs for Microsoft Enterprise Library 5.0":
https://go.microsoft.com/fwlink/?LinkId=209184
For more information about the WASABiCmdlets, see the topic "Using the WASABiCmdlets Windows PowerShell Cmdlets" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680938(v=PandP.50).aspx
For more information about the Azure PowerShell Cmdlets, see "Azure PowerShell":
https://msdn.microsoft.com/en-us/library/azure/jj156055.aspx
For more information about SCOM, see "System Center Operations Manager" on TechNet:
https://technet.microsoft.com/en-us/systemcenter/om/default.aspx
For more information about writing autoscaling rules, see the topics "Defining Constraint Rules" and "Defining Reactive Rules" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680917(v=PandP.50).aspx
https://msdn.microsoft.com/en-us/library/hh680897(v=PandP.50).aspx
For more information about billing details in Azure, see "Usage Charge Details for Azure Bills":
https://go.microsoft.com/fwlink/?LinkID=234626
The Autoscale Planner worksheet helps you to understand the interactions between different timing values that govern the overall autoscaling process. You can download this worksheet from the Enterprise Library Community site on CodePlex:
https://go.microsoft.com/fwlink/?LinkID=234704
Chapter 5: Making Tailspin Surveys More Elastic
For more information about autoscaling and how the Autoscaling Application Block works, see Chapter 4, "Autoscaling and Microsoft Azure," in this guide.
For instructions about how to install the Tailspin Surveys application, see Appendix B, "Tailspin Surveys Installation Guide."
For more information about the certificates used by the simulated issuers that handle claims-based identity management, see the guide Developing Applications for the Cloud, 2nd Edition on MSDN:
https://msdn.microsoft.com/en-us/library/ff966499.aspx
For more information about the CloudStorageAccount.SetConfigurationSettingPublisher method, see CloudStorageAccount.SetConfigurationSettingPublisher Method on MSDN: https://msdn.microsoft.com/en-us/library/microsoft.windowsazure.cloudstorageaccount.setconfigurationsettingpublisher.aspx
For more information about obtaining an SSL certificate, see "How to Obtain an SSL Certificate" on MSDN:
https://go.microsoft.com/fwlink/?LinkID=234634
For more information about configuring HTTPS endpoints in Azure web roles, see "How to Configure an SSL Certificate on an HTTPS Endpoint" on MSDN:
https://go.microsoft.com/fwlink/?LinkID=234623
For more information on management and service certificates in Azure, see "Managing Certificates in Azure" on MSDN:
https://go.microsoft.com/fwlink/?LinkID=234616
You can use Azure storage analytics to gain deeper insight into your data usage. For more information, see "Storage Analytics Overview" on MSDN:
https://go.microsoft.com/fwlink/?LinkID=234635
Chapter 6: Transient Fault Handling
For more examples of how you can use the Transient Fault Handling Application Block in your Azure application, see Chapter 7, "Making Tailspin Surveys More Resilient."
For detailed information about configuring the Transient Fault Handling Application Block and writing code that uses the Transient Fault Handling Application Block, see the topic "The Transient Fault Handling Application Block" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680934(v=PandP.50).aspx
For more information about throttling in Azure, see "Azure Storage Abstractions and their Scalability Targets" on MSDN:
https://go.microsoft.com/fwlink/?LinkID=234633
For information about how you can use NuGet to prepare your Visual Studio project to work with the Transient Fault Handling Application Block, see the topic "Adding the Transient Fault Handling Application Block to your Solution" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680891(v=PandP.50).aspx
There is an additional approach that is provided for backward compatibility with the "Transient Fault Handling Application Framework" that uses the RetryPolicyFactory class:
http://windowsazurecat.com/2011/02/transient-fault-handling-framework/
For more details about the parameters for each retry strategy, see the topic "Source Schema for the Transient Fault Handling Application Block" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680941(v=PandP.50).aspx
You can define your own, custom retry strategy. For more information, see the topic "Implementing a Custom Retry Strategy" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680943(v=PandP.50).aspx
For more information about how to define your retry strategy in code, see the topic "Specifying Retry Strategies in Code" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680927(v=PandP.50).aspx
For more information about how to define your retry strategies in a configuration file, see the topic "Specifying Retry Strategies in the Configuration" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680900(v=PandP.50).aspx
For more information about using the retry policies, see the topic "Key Scenarios" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680948(v=PandP.50).aspx
For more information about the RetryPolicy delegate in the Microsoft.WindowsAzure.StorageClient namespace, see the blog post "Overview of Retry Policies in the Azure Storage Client Library":
https://go.microsoft.com/fwlink/?LinkID=234630
For more information about retries in Azure storage, see "Overview of Retry Policies in the Azure Storage Client Library":
https://go.microsoft.com/fwlink/?LinkID=234630
The Transient Fault Handling Application Block is a product of the collaboration between the Microsoft patterns & practices team (https://msdn.microsoft.com/practices) and the Azure Customer Advisory Team (http://windowsazurecat.com/index.php). It is based on the initial detection and retry strategies, and the data access support from the "Transient Fault Handling Framework for SQL Azure, Azure Storage, Service Bus & Cache" on MSDN:
http://windowsazurecat.com/2011/02/transient-fault-handling-framework/
Chapter 7: Making Tailspin Surveys More Resilient
For instructions on installing the Tailspin Surveys application, see Appendix B, "Tailspin Surveys Installation Guide" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680894(v=PandP.50).aspx
For more information about retry strategies, see "Specifying Retry Strategies in the Configuration" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680900(v=PandP.50).aspx
Appendix B: Tailspin Surveys Installation Guide
Visit the Enterprise Library Integration Pack for Azure home page for the latest news:
https://entlib.codeplex.com/wikipage?title=EntLib5Azure
Please refer to the installation documents of the previous releases for the topics that are not covered in this document:
https://wag.codeplex.com/releases/view/71446
To learn more about this version of the Tailspin Surveys application, see the "Developer's Guide to the Enterprise Library 5.0 Integration Pack for Microsoft Azure."
To learn more about the Autoscaling Application Block, see Chapter 4, "Autoscaling and Microsoft Azure," in this guide and "The Autoscaling Application Block" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680945(v=PandP.50).aspx
To view a video walkthrough about the Autoscaling Application Block, see "Autoscaling Azure applications" on Channel 9:
https://channel9.msdn.com/posts/Autoscaling-Windows-Azure-applications
To learn more about the Transient Fault Handing Application Block, see Chapter 6, "Transient Fault Handling" in this guide and "The Transient Fault Handing Application Block" on MSDN:
https://msdn.microsoft.com/en-us/library/hh680934(v=PandP.50).aspx
To get the NuGet Package Manager, see the NuGet community site on CodePlex:
https://nuget.codeplex.com/
To learn more about Azure profile generation, see Azure:
https://account.windowsazure.com/Home/Index.
To learn more about the limitation in Visual Studio 2010 IntelliTrace and how to disable IntelliTrace on an assembly, see "RIA, Azure, and IntelliTrace" on Kyle McClellan's blog:
https://blogs.msdn.com/b/kylemc/archive/2010/06/09/ria-azure-and-intellitrace.aspx
Last built: June 7, 2012