SlideShare a Scribd company logo
Building Elastic And Resilient Cloud
Applications Jeremi Bourgault download
https://ebookbell.com/product/building-elastic-and-resilient-
cloud-applications-jeremi-bourgault-4686076
Explore and download more ebooks at ebookbell.com
Here are some recommended products that we believe you will be
interested in. You can click the link to download.
Building Elastic And Resilient Cloud Applications Jeremi Bourgault
https://ebookbell.com/product/building-elastic-and-resilient-cloud-
applications-jeremi-bourgault-4686078
Vector Search For Practitioners With Elastic A Toolkit For Building
Nlp Solutions For Search Observability And Security Using Vector
Search Azarmi
https://ebookbell.com/product/vector-search-for-practitioners-with-
elastic-a-toolkit-for-building-nlp-solutions-for-search-observability-
and-security-using-vector-search-azarmi-55322618
Building Spas With Django And Html Over The Wire Learn To Build
Realtime Single Page Applications With Python 1st Edition Andros
Fenollosa
https://ebookbell.com/product/building-spas-with-django-and-html-over-
the-wire-learn-to-build-realtime-single-page-applications-with-
python-1st-edition-andros-fenollosa-44868684
Building The Snowflake Data Cloud Monetizing And Democratizing Your
Data Andrew Carruthers
https://ebookbell.com/product/building-the-snowflake-data-cloud-
monetizing-and-democratizing-your-data-andrew-carruthers-44888670
Building Web Applications With Vuejs Mvvm Patterns For Conventional
And Singlepage Websites Ralph Steyer
https://ebookbell.com/product/building-web-applications-with-vuejs-
mvvm-patterns-for-conventional-and-singlepage-websites-ralph-
steyer-44898498
Building Bridges Between Soft And Statistical Methodologies For Data
Science Luis A Garcaescudero
https://ebookbell.com/product/building-bridges-between-soft-and-
statistical-methodologies-for-data-science-luis-a-
garcaescudero-44905084
Building Microservices Designing Finegrained Systems 2nd Edition 2nd
Release 2nd 20220708 Second Release Sam Newman
https://ebookbell.com/product/building-microservices-designing-
finegrained-systems-2nd-edition-2nd-release-2nd-20220708-second-
release-sam-newman-45010590
Building Python Microservices With Fastapi Build Secure Scalable And
Structured Python Microservices From Design Concepts To Infrastructure
1st Sherwin John C Tragura
https://ebookbell.com/product/building-python-microservices-with-
fastapi-build-secure-scalable-and-structured-python-microservices-
from-design-concepts-to-infrastructure-1st-sherwin-john-c-
tragura-45036900
Building Resilient Organizations Predicaments Prospects Falguni H
Pandya
https://ebookbell.com/product/building-resilient-organizations-
predicaments-prospects-falguni-h-pandya-45209622
Building Elastic And Resilient Cloud Applications Jeremi Bourgault
BU I L D I N G EL ASTI C
AN D RE S I L I E NT
CLOU D APPLICATIONS
Dominic Betts
Jérémi Bourgault
Julian Dominguez
Ercenk Keresteci
Grigori Melnik
Fernando Simonazzi
Erwin van der Valk
Developer’s Guide to the
Enterprise Library Integration
Pack for Windows Azure™
• • • • • •
• • • • • • • •
• • • • • • •
• • • • •
building elastic and resilient cloud applications
Building Elastic And Resilient Cloud Applications Jeremi Bourgault
Building Elastic and
Resilient Cloud Applications
Developer’s Guide to the Enterprise Library
Integration Pack for Windows AzureTM
Authors
Dominic Betts
Jérémi Bourgault
Julian Dominguez
Ercenk Keresteci
Grigori Melnik
Fernando Simonazzi
Erwin van der Valk
ISBN: 978-1-62114-001-6
This document is provided “as-is.” Information and views expressed in this
document, including URL and other Internet website references, may change
without notice. You bear the risk of using it. Some examples depicted herein
are provided for illustration only and are fictitious. No real association or
connection is intended or should be inferred.
© 2011 Microsoft. All rights reserved.
Microsoft, Windows, Windows Server, Windows Vista, Windows Azure,
Windows PowerShell, Silverlight, Expression, Expression Blend, MSDN,
IntelliSense, IntelliTrace, Internet Explorer, SQL Azure, SQL Server, Visual
C#, Visual C++, Visual Basic, and Visual Studio are trademarks of the
Microsoft group of companies.
All other trademarks are the property of their respective owners.
Contents
foreword ix
preface xiii
Who This Book Is For xiv
Why This Book Is Pertinent Now xiv
How This Book Is Structured xv
What You Need to Use the Code xv
Who’s Who xvi
acknowledgments xix
The Team Who Brought You This Guide xix
The Enterprise Library Integration Pack
for Windows Azure Development Team xix
Advisors xx
Advisory Council xx
Community xx
1 Introduction to Windows Azure 1
About Windows Azure 1
Windows Azure Services and Features 3
Compute Environment 3
Data Management 4
Networking Services 5
Other Services 7
Developing Windows Azure Applications 7
Managing, Monitoring, and Debugging
Windows Azure Applications 8
Managing SQL Azure Databases 9
Upgrading Windows Azure Applications 9
Windows Azure Subscription and Billing Model 10
Estimating Your Costs 12
More Information 12
2 Introduction to Enterprise Library 		
Integration Pack for Windows Azure 17
What Is Enterprise Library? 17
What Is the Enterprise Library Integration Pack
for Windows Azure? 20
More Information 21
3 The Tailspin Scenario 23
The Tailspin Company 23
Tailspin’s Strategy 24
The Surveys Application 24
Tailspin’s Goals and Concerns 26
The Surveys Application Architecture 27
More Information 29
4 Autoscaling and Windows Azure 31
What is Autoscaling? 31
What is the Autoscaling Application Block? 32
Instance Autoscaling 34
Application Throttling 35
Rules and Actions 36
Constraint Rules 36
Reactive Rules 39
Logging 42
The Autoscaling Lifecycle 43
Determine Requirements and Constraints 44
Specify Rules 44
Run the Application 44
Collect and Analyze the Results 44
When Should You Use the Autoscaling
Application Block? 45
You Want Your Application to Respond
Automatically to Changes in Demand 45
You Want to Manage the Costs Associated
with Running Your Application 45
You Have Predictable Times When Your Application
Requires Additional Resources 46
When Should You Not Use the
Autoscaling Application Block 46
Simple Applications 46
Controlling Costs 47
Applications That Are Not Scalable 47
Using the Autoscaling Application Block 47
Adding the Autoscaling Application
Block to Your Visual Studio Project 49
Hosting the Autoscaling Application Block 50
Changes to Your Windows Azure
Application 51
The Service Information 52
Adding Throttling Behavior
to Your Application 54
Using Instance Autoscaling and Throttling Together 54
The Autoscaling Rules 55
Implementing Schedule-based Autoscaling
Without Reactive Rules 57
Monitoring the Autoscaling
Application Block 58
Advanced Usage Scenarios 60
Scale Groups 60
Using Notifications 62
Integrating with the Application Lifecycle 63
Extending the Autoscaling Application Block 65
Using the WASABiCmdlets 66
Sample Configuration Settings 67
Average Rule Evaluation Period 69
Long Rule Evaluation Period 70
Configuring the Stabilizer 70
Using the Planning Tool 72
How the Autoscaling Application Block Works 73
The Metronome 74
The Data Collectors 74
The Service Information Store 75
The Data Points Store 75
The Rule Evaluator 75
The Rules Store 75
The Logger 76
The Scaler 76
The Tracker 76
More Information 77
5 Making Tailspin Surveys More Elastic 83
The Premise 83
Goals and Requirements 84
Overview of the Autoscaling Solution 86
Using the Autoscaling Application Block
in Tailspin Surveys 86
Features of the Autoscaling Application Block 86
Hosting the Autoscaling Application Block
in Tailspin Surveys 87
Scale Groups in Tailspin Surveys 88
Autoscaling Rules in Tailspin Surveys 88
Collecting Autoscaling History Data
in Tailspin Surveys 91
An Autoscaling Configuration UI 92
Notifying Operators by SMS When
a Scaling Operation Takes Place 92
Inside the Implementation 92
Enabling the Autoscaling Application Block
to Read from the .cscfg File 93
Tailspin’s Service Information Definition 93
Tailspin’s Autoscaling Rules 95
Tailspin Surveys Constraint Rules 95
Tailspin Surveys Reactive Scaling Rules 96
Tailspin Surveys Reactive Throttling Rules 99
Tailspin Surveys Operands 101
Collecting Performance Counter Data
from Tailspin Surveys 102
Implementing Throttling Behavior 105
Editing and Saving Rules 107
Discovering the Location of the Rules Store 107
Reading and Writing to the Rules Store 107
Creating Valid Autoscaling Rules 109
Validating Target Names in the Rule Definitions 110
Editing and Saving the Service
Information 111
Visualizing the Autoscaling Actions 111
Implementing a Custom Action 115
Integrating a Custom Action with the
Autoscaling Application Block 115
Integrating a Custom Action with the
Tailspin Surveys Rule Editor 118
Implementing Custom Operands 119
Integrating a Custom Operand with the
Autoscaling Application Block 119
Integrating a Custom Operand with the
Tailspin Surveys Rule Editor 124
Configuring Logging in Tailspin Surveys 124
Setup and Physical Deployment 126
Certificates and Tailspin Surveys
Deployment 126
Deploying a Service Certificate to Enable SSL 126
Deploying the Management Certificate
to Enable Scaling Operations 127
Deploying Tailspin Surveys in Multiple
Geographic Locations 128
Data Transfer Costs 130
Role Instances 131
Configuration Differences 131
Application Differences 131
More Information 132
6 Transient Fault Handling 133
What Are Transient Faults? 133
What Is the Transient Fault Handling
Application Block? 134
Historical Note 135
Using the Transient Fault Handling
Application Block 136
Adding the Transient Fault Handling Application
Block to Your Visual Studio Project 136
Instantiating the Transient Fault
Handling Application Block Objects 137
Defining a Retry Strategy 137
Defining a Retry Policy 138
Executing an Operation
with a Retry Policy 139
When Should You Use the Transient
Fault Handling Application Block? 140
You are Using a Windows Azure Service 140
You Are Using a Custom Service 140
More Information 141
7 Making Tailspin Surveys More Resilient 143
The Premise 143
Goals and Requirements 144
Overview of the Transient Fault Handling
Application Block Solution 144
Inside the Implementation 145
Setup and Physical Deployment 148
More Information 148
appendices
a Sample Configurations For Deploying
Tailspin Surveys To Multiple Data Centers 149
Option 1 149
Service Model 149
Rules 151
Option 2 154
Service Model 155
Rules 156
b Tailspin Surveys Installation Guide 159
Introduction 159
Prerequisites 160
Install Source Code and Dependencies 160
Prepare Your Windows Azure Subscription
for Deployment 162
Generate the Windows Azure Management
Certificate and Export as .pfx File 162
Generate the SSL Certificate 165
Create the Required Hosted Services 167
Upload Certificates as Hosted Services’
Service Certificates 169
Create the Storage Account 170
Building the Solution 172
Install NuGet Packages 172
Modify the Certificates in the Visual Studio
Cloud Projects 173
Prepare the Settings in the Cloud Projects 175
Build the Solution 177
Deploy to Windows Azure 178
Deploying Tailspin to the Staging Slot 178
Testing If Tailspin Surveys Works 180
Public Website 180
Tenant Website 180
Management Website 180
Configuring Tailspin Autoscaling Functionality 181
Configuring the Service Information Store 181
Uploading the Sample Rules 182
Running Tailspin Surveys Locally in Debug Mode 182
Running the Management Application
in Simulated Mode 183
Known Issues 184
More Information 185
c Glossary 187
index 191
xi
Foreword
Energy use in the IT sector is growing faster than in any other industry
as society becomes ever more dependent on the computational and
storage capabilities provided by data centers. Unfortunately, a combi-
nation of inefficient equipment, outdated operating practices, and
lack of incentives means that much of the energy used in traditional
data centers is wasted.
Most IT energy efficiency efforts have focused on physical infra-
structure—deploying more energy-efficient computer hardware and
cooling systems, using operating system power management features,
and reducing the number of servers in data centers through hardware
virtualization.
But a significant amount of this wasted energy stems from how
applications are designed and operated. Most applications are provi-
sioned with far more IT resources than they need, as a buffer to ensure
acceptable performance and to protect against hardware failure. Most
often, the actual needs of the application are simply never measured,
analyzed, or reviewed.
Once the application is deployed with more resources than it
typically needs, there is very little incentive for the application devel-
opers to instrument their application to make capacity planning easi-
er. And when users start complaining that the application is perform-
ing slowly, it’s often easier (and cheaper) to simply assign more
resources to the application. Very rarely are these resources ever re-
moved, even after demand for the application subsides.
Cloud computing has the potential to break this dynamic of
over-provisioning applications. Because cloud platforms like Windows
Azure charge for resource use in small increments (compute-hours)
on a pay-as-you-go basis, developers can now have a direct and con-
trollable impact on IT costs and associated resource use.
Applications that are designed to dynamically grow and shrink
their resource use in response to actual and anticipated demand are
not only less expensive to operate, but are significantly more efficient
xii
with their use of IT resources than traditional applications. Develop-
ers can also reduce hosting costs by scheduling background tasks to
run during less busy periods when the minimum amount of resources
are assigned to the application.
While the cloud provides great opportunities for saving money on
hosting costs, developing a cloud application that relies on other
cloud services is not without its challenges. One particular problem
that developers have to deal with is “transient faults.” Although infre-
quent, applications have to be tolerant of intermittent connectivity
and responsiveness problems in order to be considered reliable and
provide a good user experience.
Until now, developers on Windows Azure had to develop these
capabilities on their own. With the release of the Enterprise Library
Integration Pack for Windows Azure, developers can now easily build
robust and resource efficient applications that can be intelligently
scaled, and throttled. In addition, these applications can handle tran-
sient faults.
The first major component contained within the Integration Pack
is the Autoscaling Application Block, otherwise known as “WASABi.”
This application block helps developers improve responsiveness and
control Windows Azure costs by automatically scaling the number of
web and worker roles in Windows Azure through dynamic provision-
ing and decommissioning of role instances across multiple hosted
services. WASABi also provides mechanisms to help control resource
use without scaling role instances through application throttling.
Developers can use this application block to intelligently schedule or
defer background processing to keep the number of role instances
within certain boundaries and take advantage of idle periods.
One of the major advantages of WASABi is its extensibility, which
makes your solutions much more flexible. Staying true to the design
principles of other application blocks, WASABi provides a mechanism
for plugging in your own custom metrics and calling custom actions.
With these, you can design a rule set that takes into account your
business scenarios and not just standard performance counters avail-
able through the Windows Azure Diagnostics.
The optimizing stabilizer will ensure that you do not end up scal-
ing too quickly. It can also make sure scale actions correspond to the
most optimal compute hour pricing charges. For applications that
expect significant usage beyond more than a few instances, this ap-
plication block will help developers save money on hosting costs
while improving the “green credentials” of their application. It will also
help your application meet target SLAs.
The other major component is the Transient Fault Handling Ap-
plication Block (also known as “Topaz”) that helps developers make
their applications more robust by providing the logic for detecting
xiii
and handling transient fault conditions for a number of common
cloud-based services.
More than ever before, developers have an important role to play
in controlling IT costs and improving IT energy efficiency, without
sacrificing reliability. The Enterprise Library Integration Pack for Win-
dows Azure can assist them in rapidly building Windows Azure-based
applications that are reliable, resource efficient, and cost effective.
The Developer’s Guide you are holding in your hands is written by
the engineering team who designed and produced this integration
pack. It is full of useful guidance and tips to help you learn quickly.
Importantly, the coverage includes not only conceptual topics, but the
concrete steps taken to make the accompanying reference implemen-
tation (Tailspin Surveys) more elastic, robust, and resilient.
Moreover, the guidance from the Microsoft patterns & practices
team is not only encapsulated in the Developer’s Guide and the refer-
ence implementation. Since the pack ships its source code and all its
unit tests, a lot can be learned by examining those artifacts.
I highly recommend both the Enterprise Library Integration Pack
for Windows Azure and this Developer’s Guide to architects, soft-
ware developers, administrators, and product owners who design new
or migrate existing applications to Windows Azure. The practical ad-
vice contained in this book will help make your applications highly
scalable and robust.
Mark Aggar, Senior Director
Environmental Sustainability
Microsoft Corporation
Building Elastic And Resilient Cloud Applications Jeremi Bourgault
xv
Preface
The Windows Azure™ technology platform offers exciting new op-
portunities for companies and developers to build large and complex
applications to run in the cloud. Windows Azure enables you to take
advantage of a pay-as-you-go billing model for your application infra-
structure and on-demand computing resources.
By combining the existing Microsoft® Enterprise Library applica-
tion blocks that help you design applications that are robust, configu-
rable, 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 Windows Azure.
This book describes a scenario based on a fictitious company
named Tailspin that has decided to enhance its existing Windows
Azure hosted application by using the new Autoscaling Application
Block and Transient Fault Handling Block. Its Windows Azure-based
application, named Surveys, is described in detail in a previous book
in this series, “Developing Applications for the Cloud” at http://msdn.
microsoft.com/en-us/library/ff966499.aspx.
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 Windows 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 Windows Azure
applications.
xvi
Who This Book Is For
This book demonstrates how you can use the Enterprise Library Inte-
gration Pack for Windows Azure in an existing Windows Azure ap-
plication 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 ap-
propriate 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 Windows Azure, the Microsoft .NET Frame-
work, 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 Windows Azure and the
Enterprise Library Integration Pack for Windows Azure to help you
get started.
Why This Book Is Pertinent Now
In general, the cloud has become a viable option for making your ap-
plications accessible to a broad set of customers. You may have already
built and deployed applications to Windows Azure using the tools
available for Visual Studio and the Windows 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 guid-
ance 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 Windows Azure application.
xvii
preface
How This Book Is Structured
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 http://
nuget.codeplex.com/ ).
• A Windows 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 Windows Azure).
xviii
• A Windows 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
• Windows Azure SDK for .NET and Windows 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 Windows
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.
Bharath is a cloud specialist. He checks that a cloud-based
solution will work for a company and provide tangible benefits.
He is a cautious person, for good reasons.
Developing a single application to the cloud is easy.
Realizing the benefits that a cloud-based solution
can offer is not always so straightforward.
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.
xix
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.
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 has 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.
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-premise apps.
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.
preface
If you have a particular area of interest, look for notes provided
by the specialists whose interests align with yours.
Building Elastic And Resilient Cloud Applications Jeremi Bourgault
xxi
Acknowledgments
The Team Who Brought You This Guide
Authors Dominic Betts, Jérémi Bourgault, Julian Dominguez, Ercenk
Keresteci, Grigori Melnik, Fernando Simonazzi, and Erwin van
der Valk
Technical Reviewers Neil Mackenzie, Valery Mizonov, Eugenio Pace, Paweł Wilkosz,
and Michael Wood
Book Designer John Hubbard
Graphic Artist Katie Niemer
Editors RoAnn Corbisier, Nelly Delgado, and Nancy Michell
The Enterprise Library Integration Pack
for Windows Azure Development Team
Product/Program Grigori Melnik (Microsoft Corporation)
Management
Architecture/ Julian Dominguez (Microsoft Corporation), Fernando Simonazzi
Development (Clarius Consulting), Jérémi Bourgault (nVentive Inc.), and Ercenk
Keresteci (Full Scale 180 Inc)
Testing Mani Krishnaswami and Carlos Farre (Microsoft Corporation),
Neeraj Jain, Murugesh Muthuvilavan, Karthick Natarajan,
Thamilarasi Nataraj and Rathi Velusamy (Infosys Technologies Ltd.)
User Experience/ Dominic Betts, Nancy Michell (Content Master Ltd.), Rick Carr
Documentation (DCB Software Testing, Inc.), Nelly Delgado (Microsoft
Corporation) and Erwin van der Valk (Erwin van der Valk)
Release Management Richard Burte (ChannelCatalyst.com, Inc.), Grigori Melnik
(Microsoft Corporation), and Jérémi Bourgault (nVentive Inc.)
Administrative Support Kerstin Scott (Microsoft Corporation)
xxii
Advisors
Many people contributed to this release. We are grateful to all of them!
Advisory Council Nikolai Blackie (Adaptiv), Ivan Bodyagin (ABBYY), Federico
Boerr (Southworks), Leandro Boffi (Tellago), Michael Collier
(Independent), Hans De Graaf (New Day at Work), Jason
De Oliveira (Capgemini Sogeti), Dave Fellows (Green
Button), Ştefan Filip (HPC Consulting), Sam Fold
(Arkadium), Nuno Filipe Godinho (Independent), Neil
Mackenzie (Independent), Daniel Piessens (Zywave), Marc
Remmers (42windmills), Keith Stobie (Independent),
François Tanguay (nVentive), Mihai Tataran (HPC
Consulting), Stas Tkachenko (Arkadium), Trent Swenson
(Full Scale 180), Gabriel Szletchman (3mellons), Philippe
Vialatte (Independent), Guido Vilariño (3mellons/Disney),
Oleg Volkov (New Day At Work), Paweł Wilkosz (Motorola
Solution Systems), Michael Wood (Cumulux Inc.), and our
Microsoft colleagues: Mark Aggar, David Aiken, Kashif Alam,
Jaime Alva Bravo, Cihan Biyikoglu, Jim Davis, John Dawson,
Scott Densmore, Lenny Fenster, Danny Garber, Rick Hines,
Tom Hollander, Dmitri Martynov, Steve Marx, Tony Meleg,
Suren Machiraju, Ade Miller, Valery Mizonov, Walter Myers,
Masashi Narumoto, Bhushan Nene, Eugenio Pace, Curt
Peterson, James Podgorski, Srilatha Rayasam, Paolo Salvatori,
Marc Schweigert, Mark Simms, Eric Slippern, Vijay Sen, and
Tim Wieman.
The contributions of Valery Mizonov and the whole AppFabric Customer Advisory
Team (CAT) deserve a special mention. The Transient Fault
Handling Application Block is based on the detection and
retry strategies originally developed by the AppFabric CAT
team. The enhanced Transient Fault Handling Application
Block is a collaboration between the patterns & practices
and the AppFabric CAT teams.
We’d also like to highlight our exceptional collaboration with Microsoft Consulting
Services (Lenny Fenster, Danny Garber, Rick Hines, Walter
Myers, and Marc Schweigert) whose regular feedback
helped us stay grounded in the real world scenarios. Thank
you for not letting us overlook many important ones.
Community
Many thanks to Rahul Rai, Sudhakar Reddy D V, Maarten Baaliauw, Zoiner Tejada and all
who voted on the backlog, beta tested our early code drops,
and provided meaningful feedback. Also, we thank the
attendees of the patterns & practices symposia, TechReady,
and TechEd conferences who provided informal feedback.
1
1
This chapter provides a brief description of the Windows Azure™
technology platform, the services it provides, and the opportunities it
offers for on-demand, cloud-based computing where the cloud is a set
of interconnected computing resources located in one or more data
centers. The chapter also provides links to help you find more infor-
mation about the features of Windows Azure, the techniques and
technologies used in this series of guides, and the sample code that
accompanies them.
The primary purpose of this developer guide is to show how to
use the Enterprise Library Integration Pack for Windows Azure with
your Windows Azure applications. The accompanying reference im-
plementation (sample demo), and the associated hands-on labs utilize
many of the features and services available in Windows Azure, so it is
useful to have an understanding of Windows Azure itself before you
begin using the Enterprise Library Integration Pack for Windows
Azure. If you are already familiar with Windows Azure, you can skip
this chapter and move on to the chapters that describe the Enterprise
Library Integration Pack for Windows Azure and the reference imple-
mentation, called the Tailspin Surveys application.
About Windows Azure
Organizations can use the cloud to deploy and run applications and
to store data. On-premises applications can use cloud-based resourc-
es as well. For example, an application located on an on-premises
server, a rich client that runs on a desktop computer, or one that runs
on a mobile device can use storage that is located on the cloud.
For more information about hybrid solutions, see the integration
guide at http://wag.codeplex.com/.
Windows Azure abstracts hardware resources through virtualiza-
tion. Each application that is deployed to Windows Azure runs on one
or more virtual machines (VMs). These deployed applications behave
Introduction to
Windows Azure
Windows Azure is a
fast-moving platform,
so for the very latest
information about
any of the features
described in this
chapter, you should
follow the provided
links.
2 chapter one
as though they were on a dedicated computer, although they might
share physical resources such as disk space, network I/O, or CPU cores
with other VMs on the same physical host. Two key benefits of an
abstraction layer above the physical hardware are portability and scal-
ability. Virtualizing a service allows it to be moved to any number of
physical hosts in the data center. By combining virtualization tech-
nologies, commodity hardware, multi-tenancy, and aggregation of
demand, Microsoft and our customers can achieve economies of
scale. Such economies generate higher data center utilization (that is,
more useful work-per-dollar hardware cost) and, subsequently, savings
that are passed along to you.
Virtualization also allows you to have both vertical scalability and
horizontal scalability. Vertical scalability means that, as demand in-
creases, you can increase the number of resources, such as CPU cores
or memory, on a specific VM. Horizontal scalability means that you
can add more instances of VMs that are copies of existing services. All
these instances are load balanced at the network level so that incom-
ing requests are distributed among them.
At the time of this writing, Windows Azure encompasses Win-
dows Azure and SQL Azure.
Windows Azure provides a Microsoft® Windows Server®-based
computing environment for applications and persistent storage for
both structured and unstructured data, as well as asynchronous mes-
saging. Windows Azure also provides a range of services that helps
you connect users and on-premises applications to cloud-hosted ap-
plications, manage authentication, use inter-service messaging, and
implement data management and related features such as caching.
Windows Azure also includes a range of management services
that allows you to control all these resources, either through a web-
based user interface (a web portal) or programmatically. In most cases
there is a REST-based API that can be used to define how your ser-
vices will work. Most management tasks that can be performed
through the web portal can also be performed using the API.
SQL Azure is essentially SQL Server® provided as a service in the
cloud.
Finally, there is a comprehensive set of tools and software devel-
opment kits (SDKs) that allow you to develop, test, and deploy your
applications. For example, you can develop and test your applications
in a simulated local environment, provided by the Compute Emulator
and the Storage Emulator. Most tools are also integrated into develop-
ment environments such as Microsoft Visual Studio® development
system. In addition, there are third-party management tools available.
Windows Azure can
help you achieve
portability and
scalability for your
applications, and
reduce your running
costs and total cost
of ownership (TCO).
3
introduction to windows azure
Windows Azure Services and Features
The range of services and features available on Windows Azure and
SQL Azure target specific requirements for your applications. When
you subscribe to Windows Azure, you can choose which of the fea-
tures you require, and you pay only for the features you use. You can
add and remove features from your subscription whenever you wish.
The billing mechanism for each service depends on the type of
features the service provides. For more information on the billing
model, see “Windows Azure Subscription and Billing Model,” later in this
chapter.
The services and features available change as Windows Azure
continues to evolve. The following four sections of this chapter
briefly describe the main services and features available at the time of
this writing, subdivided into the categories of Compute Environment,
Data Management, Networking Services, and Other Services.
For more information about all of the Windows Azure services
and features, see “Windows Azure Features” on the Windows Azure
Portal. For specific development and usage guidance on each feature
or service, see the resources referenced in the following sections.
To use any of these features and services you must have a
subscription to Windows Azure. A valid Windows Live® ID
is required when signing up for a Windows Azure account.
For more information, see “Windows Azure Offers.”
Compute Environment
The Windows Azure compute environment consists of a platform for
applications and services hosted within one or more roles. The types
of roles you can implement in Windows Azure are:
• Windows Azure Compute (Web and Worker Roles). A
Windows Azure application consists of one or more hosted
roles running within the Azure data centers. Typically there will
be at least one web role that is exposed for access by users of
the application. A web role is supported by Internet Information
Service (IIS) 7.0 and ASP.NET. The application may contain
additional roles, including worker roles, that are typically used to
perform background processing and support tasks for web roles.
For more detailed information, see “Overview of Creating a
Hosted Service for Windows Azure” and “Building an Application
that Runs in a Hosted Service.”
• Virtual Machine (VM role). This role allows you to host your
own custom instance of the Windows Server 2008 R2 Enter-
prise or Windows Server 2008 R2 Standard operating system
Windows Azure
includes a range of
services that can
simplify develop-
ment, increase
reliability, and make
it easier to manage
your cloud-hosted
applications.
4 chapter one
within a Windows Azure data center. For more detailed infor-
mation see “Creating Applications by Using a VM Role in Windows
Azure.”
The Tailspin Surveys application uses both web and worker roles.
For additional information and guidance about the use of web and
worker roles see the associated guides “Moving Applications to the
Cloud” and “Developing Applications for the Cloud” which are available
at Cloud Development on MSDN. Each of these guides also includes a
set of hands-on labs.
Data Management
Windows Azure, SQL Azure, and the associated services provide op-
portunities for storing and managing data in a range of ways. The
following data management services and features are available:
• Windows Azure Storage. This provides four core services for
persistent and durable data storage in the cloud. The services
support a REST interface that can be accessed from within
Windows Azure-hosted or on-premises (remote) applications.
For information about the REST API, see “Windows Azure
Storage Services REST API Reference.” The four storage services
are listed below.
• The Windows Azure Table Service provides a table-structured
storage mechanism and supports queries for managing the data.
The Azure Table Service is a NoSQL offering that provides
schema-less storage. It is primarily aimed at scenarios where
large volumes of data must be stored, while being easy to access
and update. For more detailed information see “Table Service
Concepts” and “Table Service REST API.”
• The Binary Large Object (BLOB) Service provides a series of
containers aimed at storing text or binary data. It provides both
Block BLOB containers for streaming data, and Page BLOB
containers for random read/write operations. For more detailed
information see “Understanding Block Blobs and Page Blobs” and
“Blob Service REST API.”
• The Queue Service provides a mechanism for reliable, persis-
tent messaging between role instances, such as between a web
role and a worker role. For more detailed information see
“Queue Service Concepts” and “Queue Service REST API.”
• Windows Azure Drives provide a mechanism for applications
to mount a single volume NTFS VHD as a Page BLOB, and
upload and download VHDs via the BLOB. For more detailed
information see “Windows Azure Drive.”
5
introduction to windows azure
• SQL Azure Database. This is a highly available and scalable
cloud database service built on SQL Server technologies, that
supports the familiar T-SQL-based relational database model. It
can be used with applications hosted in Windows Azure, and
with other applications running on-premises or hosted else-
where. For more detailed information see “SQL Azure Database.”
• Data Synchronization. SQL Azure Data Sync is a cloud-based
data synchronization service built on Microsoft Sync Frame-
work technologies. It provides bi-directional data synchroniza-
tion and data management capabilities, allowing data to be easily
shared between multiple SQL Azure databases and between
on-premises and SQL Azure databases. For more detailed
information see “Microsoft Sync Framework Developer Center.”
• Caching. This service provides a distributed, in-memory, low
latency and high throughput application cache service that
requires no installation or management, and dynamically in-
creases and decreases the cache size as required. It can be used
to cache application data, ASP.NET session state information,
and for ASP.NET, page output caching. For more detailed
information see “Windows Azure Caching Service.”
The Tailspin Surveys application uses both Windows Azure stor-
age and SQL Azure. For additional information and guidance about
the use of Windows Azure storage and SQL Azure see the associated
guides “Moving Applications to the Cloud” and “Developing Applications
for the Cloud” which are available at Cloud Development on MSDN.
Each of these guides also includes a set of hands-on labs.
Networking Services
Windows Azure provides several networking services that you can
take advantage of to maximize performance, implement authentica-
tion, and improve manageability of your hosted applications. These
services include the following:
• Content Delivery Network (CDN). The CDN allows you to
cache publicly available static data for applications at strategic
locations that are closer (in network delivery terms) to end
users. The CDN uses a number of data centers at many locations
around the world, which store the data in BLOB storage that
has anonymous access. These do not need to be locations where
the application is actually running. For more detailed informa-
tion see “Delivering High-Bandwidth Content with the Windows
Azure CDN.”
• Virtual Network Connect. This service allows you to configure
roles of an application running in Windows Azure and comput-
ers on your on-premises network so that they appear to be on
6 chapter one
the same network. It uses a software agent running on the
on-premises computer to establish an IPsec-protected connec-
tion to the Windows Azure roles in the cloud, and provides the
capability to administer, manage, monitor, and debug the roles
directly. For more detailed information see “Connecting Local
Computers to Windows Azure Roles.”
• Virtual Network Traffic Manager. This is a service that allows
you to set up request redirection and load balancing based on
three different techniques. Typically you will use Traffic Man-
ager to maximize performance by using the Performance
technique to redirect requests to the instance of your applica-
tion in the data center closest to the user. Alternative load
balancing methods available are Failover and Round Robin. For
more detailed information see “Windows Azure Traffic Manager.”
• Access Control (ACS). This is a standards-based service for
identity and access control that makes use of a range of identity
providers (IdPs) that can authenticate users. ACS acts as a
Security Token Service (STS), or token issuer, and makes it easier
to take advantage of federation authentication techniques
where user identity is validated in a realm or domain other than
that in which the application resides. An example is controlling
user access based on an identity verified by an identity provider
such as Windows Live® ID or Google. For more detailed
information see “Access Control Service 2.0” and “A Guide to
Claims-Based Identity and Access Control (2nd Edition).”
• Service Bus. This provides a secure messaging and data flow
capability for distributed and hybrid applications, such as
communication between Windows Azure hosted applications
and on-premises applications and services, without requiring
complex firewall and security infrastructures. It can use a range
of communication and messaging protocols and patterns to
provide delivery assurance and reliable messaging, can scale to
accommodate varying loads, and can be integrated with on-
premises BizTalk Server artifacts. For more detailed information
see “Service Bus.”
For additional information and guidance about the use of Win-
dows Azure storage and SQL Azure see the associated guides “Moving
Applications to the Cloud” and “Developing Applications for the Cloud”
which are available at Cloud Development on MSDN. Each of these
guides also includes a set of hands-on labs.
Detailed guidance on using ACS can be found in the associated
document, “A Guide to Claims-Based Identity and Access Control (2nd
Edition)” and in the hands-on labs for that guide.
7
introduction to windows azure
Other Services
Windows Azure provides the following additional services:
• Business Intelligence Reporting. This service allows you to
develop and deploy to the cloud business operational reports
generated from data stored in a SQL Azure database. It is built
upon the same technologies as SQL Server Reporting Services,
and lets you use familiar tools to generate reports. Reports can
be easily accessed through the Windows Azure Management
Portal, through a web browser, or directly from within your
Windows Azure and on-premises applications. For more de-
tailed information see “SQL Azure Reporting.”
• Marketplace. This is an online facility where developers can
share, find, buy, and sell building block components, training,
service templates, premium data sets, and finished services and
applications needed to build Windows Azure applications. For
more detailed information see “Windows Azure Marketplace” on
MSDN and “Windows Azure Marketplace” (AppMarket).
Developing Windows Azure Applications
Typically, on Microsoft® Windows®, you will use Visual Studio 2010
with the Windows Azure Tools for Microsoft Visual Studio. The Win-
dows Azure Tools provide everything you need to create Windows
Azure applications, including local compute and storage emulators
that run on the development computer. This means that you can
write, test, and debug applications before deploying them to the
cloud. The tools also include features to help you deploy applications
to Windows Azure and manage them after deployment.
You can download the Windows Azure Tools for Microsoft Vi-
sual Studio, and development tools for other platforms and languages
such as iOS, Eclipse, Java, Ruby, and PHP from “Windows Azure Tools.”
For a useful selection of videos, QuickStart examples, and hands-
on labs that cover a range of topics to help you get started building
Windows Azure applications, see “Learn Windows Azure and SQL
Azure” and “Design. Code. Scale.”
The MSDN “Developing Applications for Windows Azure” topic
includes specific examples and guidance for creating hosted services,
using the Windows Azure Tools for Microsoft Visual Studio to pack-
age and deploy applications, and a useful QuickStart example.
The Windows Azure Training Kit contains hands-on labs to get you
started quickly.
To understand the execution lifecycle and how a Windows Azure
role operates, see “Real World: Startup Lifecycle of a Windows Azure
Role.”
You can build and
test Windows Azure
applications using the
compute and storage
emulators on your
development
computer.
8 chapter one
For a list of useful resources for developing and deploying data-
bases in SQL Azure, see “Development (SQL Azure Database).”
For a list of tools that can help with planning the migration of an
application to Windows Azure, see “Planning and Designing Windows
Azure Applications.”
Managing, Monitoring, and Debugging
Windows Azure Applications
All storage and management subsystems in Windows Azure use REST-
based interfaces. They are not dependent on any .NET Framework or
Windows operating system technology. Any technology that can is-
sue HTTP or HTTPS requests can access Windows Azure facilities.
To learn about the Windows Azure managed and native library
APIs, and the storage services REST API, see “API References for
Windows Azure.”
The REST-based service management API can be used as an alter-
native to the Windows Azure web management portal. The API in-
cludes features to work with storage accounts, hosted services, cer-
tificates, affinity groups, locations, and subscription information. For
more information, see “Windows Azure Service Management REST API
Reference.” In addition, Windows Azure provides diagnostic services
and APIs for activities such as monitoring an application’s health. You
can use the Windows Azure Management Pack and System Center
Operations Manager 2007 R2 to discover Windows Azure applica-
tions, get the status of each role instance, and collect and monitor
performance information, Windows Azure events, and the .NET
Framework trace messages from each role instance. For more informa-
tion, see “Monitoring Windows Azure Applications.”
You can also use the Windows Azure PowerShell Cmdlets to browse
and manage Windows Azure compute and storage services, automate
deployment, and upgrade your Windows Azure applications, as well
as manage your diagnostics data.
For information about using the Windows Azure built-in trace
objects to configure diagnostics and instrumentation without using
Operations Manager, and about downloading the results, see “Collect-
ing Logging Data by Using Windows Azure Diagnostics.”
For information about debugging Windows Azure applications,
see “Troubleshooting and Debugging in Windows Azure” and “Debugging
Applications in Windows Azure.”
Chapter 7, “Application Life Cycle Management for Windows
Azure Applications” in the guide “Moving Applications to the
Cloud” contains information about managing Windows Azure
applications.
Windows Azure
includes features that
allow you to monitor
and debug cloud-
hosted services.
9
introduction to windows azure
Managing SQL Azure Databases
Applications access SQL Azure databases in exactly the same way
they access locally installed SQL Server instances using the managed
ADO.NET data access classes, Enterprise Library Data Access Applica-
tion Block (DAAB), OData, native ODBC, PHP, Ruby, or JDBC data
access technologies.
SQL Azure databases can be managed through the web portal,
SQL Server Management Studio, Visual Studio 2010 database tools,
and a range of other tools for activities such as moving and migrating
data, as well as command-line tools for deployment and administra-
tion.
A database manager is also available to make it easier to work
with SQL Azure databases. For more information see “Management
Portal for SQL Azure.“ For a list of other tools, see “Windows Azure
Downloads.“
SQL Azure supports a management API as well as management
through the web portal. For information about the SQL Azure man-
agement API see “Management REST API Reference.”
Upgrading Windows Azure Applications
After you deploy an application to Windows Azure, you will need to
update it as you change the role services in response to new require-
ments, code improvements, or to fix bugs. You can simply redeploy a
service by suspending and then deleting it, and then deploy the new
version. However, you can avoid application downtime by performing
staged deployments (uploading a new package and swapping it with
the existing production version), or by performing an in-place upgrade
(uploading a new package and applying it to the running instances of
the service).
For information about how you can perform service upgrades by
uploading a new package and swapping it with the existing produc-
tion version, see “How to Deploy a Service Upgrade to Production by
Swapping VIPs in Windows Azure.”
For information about how you can perform in-place upgrades,
including details of how services are deployed into upgrade and fault
domains and how this affects your upgrade options, see “How to Per-
form In-Place Upgrades on a Hosted Service in Windows Azure.”
If you only need to change the configuration information for a
service without deploying new code, you can use the web portal
or the management API to edit the service configuration file or
to upload a new configuration file.
10 chapter one
Windows Azure Subscription and Billing Model
To use Windows Azure, you first create a billing account by signing up
for Microsoft Online Services or through the Windows Azure portal at
https://windows.azure.com/. The Microsoft Online Services customer
portal manages subscriptions to all Microsoft services. Windows
Azure is one of these, but there are others such as Business Productiv-
ity Online, Windows Office Live Meeting, and Windows Intune™
software and services.
This section is based on the information publicly available
at the time of this writing.
Every billing account has a single account owner who is identified
with a Windows Live ID. The account owner can create and manage
subscriptions, view billing information and usage data, and specify the
service administrator(s) for each subscription.
Administrators manage the individual hosted services for a Win-
dows Azure subscription using the Windows Azure portal at https://
windows.azure.com/. A Windows Azure subscription can include one
or more of the following:
• Hosted services, consisting of hosted roles and the instances
within each role. Roles and instances may be stopped, in
production, or in staging mode.
• Storage accounts, consisting of Table, BLOB, and Queue storage
instances.
• CDN instances.
• SQL Azure databases and Data Sync service.
• SQL Azure Reporting Services instances.
• Access Control, Service Bus, and Cache service instances.
• Virtual Network Connect and Traffic Manager instances.
Figure 1 illustrates the Windows Azure billing configuration for a
standard subscription.
The account owner
and the service
administrator for a
subscription can use
(and in many cases
should use) different
Live IDs.
11
introduction to windows azure
figure 1
Windows Azure billing configuration for a standard subscription
For more information about Windows Azure billing, see “What
are the Billing Basics of Windows Azure?” and “Accounts and Billing in
SQL Azure.”
12 chapter one
Estimating Your Costs
Windows Azure charges are based on how you consume services such
as compute time, storage, and bandwidth. Compute time charges are
calculated on an hourly rate as well as a rate for the instance size.
Storage charges are based on the number of gigabytes and the number
of transactions. Prices for data transfer vary according to the geo-
graphic location you are in and generally apply to transfers between
the Microsoft data centers and your premises, but not on transfers
within the same data center.
To estimate the likely costs of a Windows Azure subscription, see
the following resources:
• Subscription overview for the various purchasing models such
as the pay-as-you-go and subscription model, including a tool
for measuring consumption, at
http://www.microsoft.com/windowsazure/pricing/.
• Pricing calculator at http://www.microsoft.com/windowsazure/
pricing-calculator/.
• TCO calculator at http://www.microsoft.com/windowsazure/
offers/#tcoCompare-LB.
Chapter 4, “How Much Will It Cost?” of the guide “Moving
Applications to the Cloud” provides additional information about
estimating the costs of hosting applications in Windows Azure.
More Information
There is a great deal of information available about Windows
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 Windows Azure is at
http://www.microsoft.com/WindowsAzure/. It has links to white
papers, tools such as the Windows Azure SDK for .NET, and
many other resources. You can also sign up for a Windows
Azure account there.
• The Windows Azure learning portal at
http://www.microsoft.com/WindowsAzure/learn.
• Wade Wegner and Steve Marx have a series of Channel 9
discussions about Windows Azure on Cloud Cover, located at
http://channel9.msdn.com/shows/Cloud+Cover/.
• Find answers to your questions on the Windows Azure Forum
at http://social.msdn.microsoft.com/Forums/en-US/windowsazure-
development/threads
You are billed for role
resources that are
used by a deployed
service, even if the
roles on those
services are not
running. If you don’t
want to get charged
for a service, delete
the deployments
associated with the
service.
13
introduction to windows azure
• Steve Marx is a Windows Azure Technical Product Manager. His
blog is at http://blog.smarx.com/. It is a great source of news and
information on Windows Azure.
• Wade Wegner is the Technical Evangelist Lead for Windows
Azure. His blog is full of technical details and tips. It is at
http://www.wadewegner.com/.
• Windows 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 http://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:
• Windows Azure Guidance on CodePlex:
http://wag.codeplex.com/
• Windows Azure Features:
http://www.microsoft.com/windowsazure/features/
• Windows Azure Offers:
http://www.microsoft.com/windowsazure/offers/
• Overview of Creating a Hosted Service for Windows Azure:
http://go.microsoft.com/fwlink/?LinkID=234572
• Building an Application that Runs in a Hosted Service:
http://go.microsoft.com/fwlink/?LinkID=234587
• Creating Applications by Using a VM Role in Windows Azure:
http://go.microsoft.com/fwlink/?LinkID=234590
• Cloud Development:
http://go.microsoft.com/fwlink/?LinkID=234613
• Windows Azure Storage Services REST API Reference:
http://msdn.microsoft.com/en-us/library/dd179355.aspx
• Table Service Concepts:
http://msdn.microsoft.com/en-us/library/dd179463.aspx
• Table Service REST API:
http://msdn.microsoft.com/en-us/library/dd179423.aspx
• Understanding Block Blobs and Page Blobs:
http://msdn.microsoft.com/en-us/library/ee691964.aspx
• Blob Service REST API:
http://msdn.microsoft.com/en-us/library/dd135733.aspx
14 chapter one
• Queue Service Concepts:
http://msdn.microsoft.com/en-us/library/dd179353.aspx
• Queue Service REST API:
http://msdn.microsoft.com/en-us/library/dd179363.aspx
• Windows Azure Drive:
http://go.microsoft.com/?linkid=9710117
• SQL Azure Database:
http://msdn.microsoft.com/en-us/library/ee336279.aspx
• Microsoft Sync Framework Developer Center:
http://msdn.microsoft.com/en-us/sync
• Caching Service (Windows Azure):
http://go.microsoft.com/fwlink/?LinkID=234591
• Delivering High-Bandwidth Content with the Windows Azure
CDN:
http://go.microsoft.com/fwlink/?LinkID=234592
• Connecting Local Computers to Windows Azure Roles:
http://go.microsoft.com/fwlink/?LinkID=234593
• Windows Azure Traffic Manager:
http://go.microsoft.com/fwlink/?LinkID=234594
• Access Control Service 2.0:
http://go.microsoft.com/fwlink/?LinkID=234595
• A Guide to Claims-Based Identity and Access Control (2nd
Edition):
http://msdn.microsoft.com/en-us/library/ff423674.aspx
• Service Bus:
http://go.microsoft.com/fwlink/?LinkID=234596
• SQL Azure Reporting:
http://go.microsoft.com/fwlink/?LinkID=234597
• Windows Azure Marketplace:
http://go.microsoft.com/fwlink/?LinkID=234598
• Windows Azure Marketplace:
http://go.microsoft.com/fwlink/?LinkID=234599
• Windows Azure Tools:
http://www.microsoft.com/windowsazure/tools/
• Learn Windows Azure and SQL Azure:
http://www.microsoft.com/windowsazure/tutorials/
• Design. Code. Scale.:
http://www.microsoft.com/windowsazure/getstarted/
• Developing Applications for Windows Azure:
http://go.microsoft.com/fwlink/?LinkID=234600
15
introduction to windows azure
• Windows Azure Training Kit:
http://go.microsoft.com/fwlink/?LinkID=234601
• Real World: Startup Lifecycle of a Windows Azure Role:
http://go.microsoft.com/fwlink/?LinkID=234602
• Development (SQL Azure Database):
http://go.microsoft.com/fwlink/?LinkID=234603
• Windows Azure Assessment/Planning:
http://www.microsoft.com/windowsazure/tools/#assessment
• API References for Windows Azure:
http://msdn.microsoft.com/en-us/library/ff800682.aspx
• Windows Azure Service Management REST API Reference:
http://msdn.microsoft.com/en-us/library/ee460799.aspx
• Monitoring Windows Azure Applications:
http://msdn.microsoft.com/en-us/library/gg676009.aspx
• Windows Azure PowerShell Cmdlets:
http://wappowershell.codeplex.com/
• Collecting Logging Data by Using Windows Azure Diagnostics:
http://go.microsoft.com/fwlink/?LinkID=234604
• Troubleshooting and Debugging in Windows Azure:
http://go.microsoft.com/fwlink/?LinkID=234605
• Debugging Applications in Windows Azure:
http://go.microsoft.com/fwlink/?LinkID=234606
• “Application Life Cycle Management for Windows Azure
Applications” in Moving Applications to the Cloud:
http://msdn.microsoft.com/en-us/library/ff803362.aspx
• Management Portal for SQL Azure:
http://go.microsoft.com/fwlink/?LinkID=234607
• Windows Azure Tools:
http://www.microsoft.com/windowsazure/tools/#sqlazure
• Management REST API Reference:
http://go.microsoft.com/fwlink/?LinkID=234608
• How to Deploy a Service Upgrade to Production by Swapping
VIPs in Windows Azure:
http://go.microsoft.com/fwlink/?LinkID=234609
• How to Perform In-Place Upgrades on a Hosted Service in
Windows Azure:
http://go.microsoft.com/fwlink/?LinkID=234610
• Microsoft Online Services:
https://mocp.microsoftonline.com/
16 chapter one
• “What are the Billing Basics of Windows Azure?” in “Windows
Azure Platform”
http://go.microsoft.com/fwlink/?LinkID=234611
• Accounts and Billing in SQL Azure:
http://go.microsoft.com/fwlink/?LinkID=234612
• Subscription overview for the various purchasing models:
http://www.microsoft.com/windowsazure/pricing/
• Pricing calculator:
http://www.microsoft.com/windowsazure/pricing-calculator/
• TCO calculator:
http://www.microsoft.com/windowsazure/offers/#tcoCompare-LB
• “How Much Will It Cost?” in Moving Applications to the Cloud:
http://msdn.microsoft.com/en-us/library/ff803375.aspx
• Moving Applications to the Cloud, 2nd Edition:
http://msdn.microsoft.com/en-us/library/ff728592.aspx
To access web resources more easily, see the online version of the
bibliography on MSDN:
http://msdn.microsoft.com/en-us/library/hh749032(v=PandP.50).aspx
17
2 Introduction to
Enterprise Library Integration
Pack for Windows Azure
The Microsoft® Enterprise Library Integration Pack for Windows
Azure extends Enterprise Library to include support for Windows
Azure™ technology platform applications. It includes additional ap-
plication blocks to meet the requirements of cloud-hosted applica-
tions.
What Is Enterprise Library?
Enterprise Library provides many highly configurable features that
make it much easier for you to manage the repetitive tasks, known as
crosscutting concerns, which occur in many places in your applica-
tions. These tasks include logging, validation, caching, exception
management, and more. In addition, the dependency injection con-
tainer provided by Enterprise Library can help you to simplify and
decouple your designs, make them more testable and understandable,
and help you to produce more efficient designs and implementations
of all kinds of applications.
Enterprise Library consists of a collection of application blocks
and a core infrastructure. All of these are reusable software compo-
nents designed to assist developers with common enterprise develop-
ment challenges. Each application block is designed to address a spe-
cific set of concerns. For example, the Logging Application Block
simplifies the implementation of common logging functions in your
application and enables you to write logging information to a variety
of locations; the Data Access Application Block simplifies the devel-
opment of common data access tasks such as reading data for display
in a UI or submitting changed data back to the underlying database
system.
18 chapter two
As shown in Figure 1, the application blocks in Enterprise Library
are:
• The Caching Application Block. You can use this application block
to incorporate a local cache into your applications.
• The Cryptography Application Block. This application block can
be used to incorporate hashing and symmetric encryption into
your applications.
• The Data Access Application Block. Use this application block to
incorporate standard database functionality into your applica-
tions.
• The Exception Handling Application Block. Developers and policy
makers can use this application block to create a consistent
strategy for processing exceptions that occur throughout the
architectural layers of enterprise applications.
• The Logging Application Block. Developers can use this applica-
tion block to include standard logging functionality in their
applications and systems administrators can use the configura-
tion tool to adjust the granularity of logging at run time.
• The Policy Injection Application Block. This block contains legacy
code for backwards compatibility with existing applications. The
new functionality is available by using the Unity interception
mechanism and call handlers located in the related application
block assemblies.
• The Security Application Block. Developers can use this applica-
tion block to incorporate authorization and security caching
functionality into their applications.
• The Validation Application Block. Developers can use this applica-
tion block to create validation rules for business objects that
can be used across different layers of their applications.
• Unity Dependency Injection and Interception. Developers can use
these techniques to implement a lightweight, extensible depen-
dency injection container with support for constructor, prop-
erty, and method call injection, and to capture calls to target
objects and add additional functionality to the object.
19
introduction to enterprise library integration pack for windows azure
figure 1
Enterprise Library components
Enterprise Library is configuration-driven and supports both pro-
grammatic and external configuration. As well as the application
blocks, Enterprise Library contains configuration tools, plus a set of
core functions that manage tasks applicable to all of the blocks.
The goals of Enterprise Library are the following:
• Consistency. All Enterprise Library application blocks feature
consistent design patterns and implementation approaches.
• Extensibility. All application blocks include defined extensibility
points that allow developers to customize the behavior of the
blocks by adding their own code.
• Ease of use. Enterprise Library offers numerous usability
benefits, including a graphical configuration tool, a simple
installation procedure, and clear and complete documentation
and samples.
• Integration. Enterprise Library application blocks are designed
to work well together and are tested to make sure that they do.
However, you do not have to use them together.
To learn more about Enterprise Library and the application blocks,
visit the main Enterprise Library site on MSDN® at Enterprise Library
5.0 – May 2011.
20 chapter two
What Is the Enterprise Library Integration Pack
for Windows Azure?
The Enterprise Library Integration Pack for Windows Azure extends
Enterprise Library 5.0 to add additional support for developing and
managing Windows Azure applications. It shares the same benefits as
the Enterprise Library and helps developers achieve the same goals.
The Enterprise Library Integration Pack for Windows Azure in-
cludes:
• The Autoscaling Application Block to help you to automatically
scale your Windows Azure applications.
• The Transient Fault Handling Application Block to help you make
your Windows Azure applications more resilient when they
encounter transient fault conditions.
• The Blob configuration source to store your Enterprise Library
configuration in Azure blob storage.
• A protected configuration provider.
• Windows PowerShell® command line interface cmdlets to
manipulate the Autoscaling Application Block.
• Updated database creation scripts (for the Logging Application
Block and Caching Application Block) to use SQL Azure™
technology platform.
• Reference documentation.
• A developer’s guide.
• A reference implementation that illustrates the use of the new
application blocks.
The Enterprise Library Integration Pack for Windows Azure is
one of several existing and planned integration packs for Enterprise
Library.
For more information about Enterprise Library, see Microsoft
Enterprise Library 5.0 – May 2011 and the Developer’s Guide.
For more information about the Silverlight Integration Pack for
use with Microsoft Silverlight® browser plug-in applications, see
Enterprise Library 5.0 Silverlight Integration Pack.
21
introduction to enterprise library integration pack for windows azure
More Information
For more information about the Enterprise Library application blocks,
see the following resources on MSDN:
• Microsoft Enterprise Library 5.0 – May 2011:
http://msdn.microsoft.com/en-us/library/ff632023.aspx
• Developer’s Guide:
http://msdn.microsoft.com/en-us/library/ff953181(v=PandP.50).
aspx
• Enterprise Library 5.0 Silverlight Integration Pack:
http://entlib.codeplex.com/wikipage?title=EntLib5Silverlight
• The Caching Application Block:
http://msdn.microsoft.com/en-gb/library/ff664753(PandP.50).aspx
• The Cryptography Application Block:
http://msdn.microsoft.com/en-gb/library/ff664484(PandP.50).aspx
• The Data Access Application Block:
http://msdn.microsoft.com/en-gb/library/ff664408(PandP.50).aspx
• The Exception Handling Application Block:
http://msdn.microsoft.com/en-gb/library/ff664698(PandP.50).aspx
• The Logging Application Block:
http://msdn.microsoft.com/en-gb/library/ff664569(PandP.50).aspx
• The Policy Injection Application Block:
http://msdn.microsoft.com/en-gb/library/ff664572(PandP.50).aspx
• The Security Application Block:
http://msdn.microsoft.com/en-gb/library/ff664771(PandP.50).aspx
• The Validation Application Block:
http://msdn.microsoft.com/en-gb/library/ff664356(PandP.50).aspx
• Unity Dependency Injection and Interception:
http://msdn.microsoft.com/unity
For more information about the Autoscaling Application Block,
see “The Autoscaling Application Block” on MSDN:
http://msdn.microsoft.com/en-us/library/hh680892(v=PandP.50).aspx
For more information about the Transient Fault Handling Applica-
tion Block, see “The Transient Fault Handling Application Block”
on MSDN:
http://msdn.microsoft.com/en-us/library/hh680934(v=PandP.50).aspx
To access web resources more easily, see the online version of the
bibliography on MSDN:
http://msdn.microsoft.com/en-us/library/hh749032(v=PandP.50).aspx
Building Elastic And Resilient Cloud Applications Jeremi Bourgault
23
3 The Tailspin Scenario
This chapter introduces a fictitious company named Tailspin. It de-
scribes Tailspin’s plan to use Microsoft Enterprise Library to further
develop its flagship online service named Surveys. Surveys is a cloud-
based service, hosted on the Windows Azure™ technology platform,
that enables other companies or individuals to conduct their own
online surveys and analyze the results. As with any company planning
to update one of its key applications, there are many issues to con-
sider and challenges to meet, particularly because this is the first time
the developers at Tailspin have used Enterprise Library. The chapters
that follow this one describe the benefits to Tailspin of using Enter-
prise Library and show, step by step, how Tailspin modified and re-
architected the Surveys application to use Enterprise Library.
The Tailspin Company
Tailspin is a startup ISV company of approximately 20 employees that
specializes in developing cloud solutions using Microsoft® technolo-
gies. The developers at Tailspin are knowledgeable about various Mi-
crosoft products and technologies, including Windows Azure, the
.NET Framework, ASP.NET MVC, SQL Server®, and Microsoft Visual
Studio® development system. These developers are aware of the ca-
pabilities of Enterprise Library, but have not yet incorporated it into
any of their cloud-based applications.
The Surveys application was the first of several innovative online
services that Tailspin took to market. As a startup, Tailspin decided to
specialize in cloud-hosted solutions in order to minimize its hardware
investments and maximize its ability to reach a global audience. Tail-
spin hoped that some of these cloud-hosted services would grow
rapidly, and the company wanted to have the ability to respond
quickly to increasing demand. Similarly, it fully expects some of these
cloud-based services to fail, and it does not want to be left with re-
dundant hardware on its hands. The Surveys application has been a
24 chapter three
major success for Tailspin, with thousands of existing customers
around the world, and new customers signing up every day.
Tailspin’s Strategy
Tailspin is an innovative and agile organization, well placed to exploit
new technologies and the business opportunities offered by the
cloud. Tailspin’s strategy has been to embrace the cloud and gain a
competitive advantage as an early adopter, rapidly gaining some expe-
rience, and then quickly expanding on what it has learned. This strat-
egy can be described as “try, fail fast, learn, and then try again.” The
Surveys application has been a huge commercial success for Tailspin,
but its success has revealed some problems with the initial implemen-
tation in terms of its flexibility, manageability, and maintainability.
The Surveys Application
The Surveys application enables Tailspin’s customers to design a sur-
vey, publish it, and collect the results for analysis. A survey is a collec-
tion of questions, each of which can be one of several types, such as
multiple choice, numeric range, or free text. Customers begin by cre-
ating a subscription with the Surveys service, which they use to man-
age their surveys and to apply branding by using styles and logo im-
ages. Customers can also select a geographic location for their
account, so that they can host their surveys as close as possible to the
survey audience. The Surveys application allows users to try out the
application for free, and to sign up for one of several different pack-
ages that offer different collections of services for a monthly fee.
Figure 1 illustrates the Surveys application and highlights the
three different groups of users (customers, Tailspin administrators,
and Surveys participants) who interact with it.
25
the tailspin scenario
figure 1
The Surveys application
Customers who have subscribed to the Surveys service (or who
are using a free trial) access the Subscriber website, which enables
them to design their own surveys, apply branding and customization,
and collect and analyze the survey results. Depending on the package
they select, they have access to different levels of functionality
within the Surveys application. Tailspin expects its customers to be of
various sizes and from all over the world, and customers can select a
geographic location for their account and surveys.
Tailspin wants to design the service in such a way that most of the
administrative and configuration tasks are “self-service” and can be
performed by the subscriber with minimal intervention by Tailspin
staff.
The public website enables the people participating in the survey
to complete their responses to the survey questions. The survey cre-
ator will let their survey audience know what URL to visit to complete
the survey.
The Tailspin website enables staff at Tailspin to manage the ap-
plication and manage the subscriber accounts. All three websites
(Subscriber, Public, and Tailspin) interact with the core services that
comprise the Surveys application and provide access to the applica-
tion’s data storage.
In the world of
Software as a Service
(SaaS), subscribers
are commonly known
as “Tenants.” We
commonly refer to
applications like
Tailspin Surveys as
“multi-tenant”
applications.
26 chapter three
Tailspin’s Goals and Concerns
Tailspin faces several challenges with the current version of the Sur-
veys application. The initial development was done quickly in order to
be early to market. This resulted in some compromises during the
development process whereby some features were sacrificed, and the
design process was tailored to meet tight deadlines, not to optimize
maintainability and extensibility. Tailspin sees this next phase in the
life of the Surveys application as a consolidation phase that will lay
the groundwork for the future development of the application and
address the shortcomings of the initial implementation.
Here is how the original application works. First, customers create
surveys. These might be associated with product launches or market-
ing campaigns, or they might be seasonal, perhaps associated with a
holiday period. Often, customers who use the survey application set
up these surveys with a very short lead time. Surveys usually run for a
fixed, short period of time but may have a large number of respon-
dents. This means that the Surveys application experiences bursts of
usage, and Tailspin has very little warning of when these bursts occur.
Tailspin now offers the Surveys application to customers around the
world, and because the nature of the Surveys application includes
sudden bursts in demand, it must be able to quickly expand or con-
tract its infrastructure in different geographical locations. Up until
now, Tailspin has relied on a process that requires an operator to
manually add and remove role instances based on performance data
collected from the application or in anticipation of known or planned
events. In order to better serve its increasing number of customers
and to control its costs, Tailspin would like to automate the scaling
process.
The subscriber and public websites also have different scalability
requirements. Thousands of users might complete a survey, but only
a handful of users from each subscriber will edit existing surveys or
create new surveys. Tailspin wants to optimize the resources for each
of these scenarios.
When problems occur in the Surveys application, Tailspin some-
times struggles to resolve them quickly enough to meet its service-
level agreements (SLA). Tailspin wants to be able to respond to issues
and problems with the Surveys application more effectively by having
better diagnostics data that is easily accessible.
Resource elasticity
and geo-distribution
are key properties of
the Windows Azure
platform.
27
the tailspin scenario
Tailspin wants to be able to maintain its competitive advantage by
rapidly rolling out new features to existing services or gain competi-
tive advantage by being first to market with new products and ser-
vices. For the Surveys application, Tailspin wants a platform with a
clear, consistent architecture that is easy to extend and enhance.
The Tailspin business model is to charge subscribers a monthly fee
for a service such as the Surveys application and, because of the
global market they are operating in, Tailspin wants its prices to be
competitive. Tailspin must then pay the actual costs of running the
application, so in order to maintain their profit margin Tailspin must
tightly control the running costs of the services they offer to their
customers.
In this scenario, Tailspin’s customers (the subscribers) are not
Windows Azure customers. Subscribers pay Tailspin, who in
turn pays Microsoft for their use of Windows Azure features.
Tailspin wants to ensure that customer’s data is kept safe. For
example, a customer’s data must be private to that customer, there
must be multiple physical copies of the survey data, and customers
should not be able to lose data by accidently deleting a survey. In ad-
dition, all existing survey data must be preserved whenever Tailspin
updates the application.
As the number of subscribers grows, Tailspin wants to improve
the resilience of the Surveys application to ensure that it can continue
to meet its SLAs. This is particularly important for some of Tailspin’s
larger customers.
Finally, Tailspin would like to be able to leverage the existing skills
of its developers, minimize any retraining necessary to build the Sur-
veys application, and make it easy for developers to leverage the ex-
perience they have gained working on the Surveys application in
Tailspin’s other products.
The Surveys Application Architecture
To achieve the goals of the Surveys application, Tailspin implemented
the application as a cloud-based service using Windows Azure. Figure
2 shows a high-level view of this architecture.
Another Random Document on
Scribd Without Any Related Topics
THE WRONG NICKEL. See
GENERAL ELECTRIC'S TRUE.
WRONG ODDS. See
CORONADO 9.
WRONG RECOMMENDATIONS. See
BELL SYSTEM SALES DEVELOPMENT COURSE.
F-12.
THE WRONG ROBBIE. See
MY THREE SONS.
WRONG ROPE. See
PONY EXPRESS. 7121.
WRONG USAGE PROSPECTING. See
BELL SYSTEM SALES DEVELOPMENT COURSE.
F-10.
WRONG WAY CORRIGAN LANDS IN DUBLIN,
JULY 18, 1938. See
ALMANAC NEWSREEL. July 18, 1960.
WRONG WAY FELDMAN. See
GILLIGAN'S ISLAND.
WRONG WAY LANDS IN IRELAND. See
GREATEST HEADLINES OF THE CENTURY.
WRONG WAY MOOCHIE. See
WALT DISNEY PRESENTS. Show no. 2.
WRONGO STARR AND THE LADY IN BLACK. See
F TROOP.
WUTHERING HEIGHTS. McGraw-Hill Book
Co. 13 min., sd., color, 16 mm.
Produced by McGraw-Hill Text-Films
in collaboration with Argyle Enterprises
in association with Telemated
Motion Pictures. © McGraw-Hill,
Inc.; 28Dec67; MP18227.
WYATT EARP'S BABY. See
THE LIFE AND LEGEND OF WYATT EARP.
WYATT FIGHTS. See
THE LIFE AND LEGEND OF WYATT EARP.
C-24 (96)
WYATT RIDES SHOTGUN. See
THE LIFE AND LEGEND OF WYATT EARP.
C-22 (94)
WYATT TAKES THE PRIMROSE PATH. See
THE LIFE AND LEGEND OF WYATT EARP.
WYATT WINS ONE. See
THE LIFE AND LEGEND OF WYATT EARP.
WYATT'S BITTEREST ENEMY. See
THE LIFE AND LEGEND OF WYATT EARP.
WYATT'S BROTHERS. See
THE LIFE AND LEGEND OF WYATT EARP.
WYATT'S DECISION. See
THE LIFE AND LEGEND OF WYATT EARP.
THE WYETH PHENOMENON. See
WHO, WHAT, WHEN, WHERE, WHY?
WYNDHAM'S WAY. See
WICHITA TOWN.
WYOMING SNAPSHOOT. Paramount Pictures
Corp. 19 min., sd., color, 35 mm.
Eastman color. © Paramount Pictures
Corp.; 1Mar64; LP27974.
THE WYOMING STORY. See
THE RIFLEMAN.
WYOMING, WHERE THE DEER AND THE
ANTELOPE PLAY. See
SPORTSMAN'S HOLIDAY.
X
X. Alta Vista Productions. Released
by American International Pictures.
80 min., sd., color, 35 mm. Pathecolor.
Spectarama. © Alta Vista
Productions; 18Sep63; LP27745.
X EQUALS MURDER. See
JOHNNY MIDNIGHT.
X-15. Essex Productions. Released by
United Artists Corp. 112 min., sd.,
Technicolor, 35 mm. Panavision.
© Essex Productions, Inc.; 21Nov61;
LP21773.
THE X GAME. See
THE DEPUTY.
X MARKS THE SPOT. See
GILLIGAN'S ISLAND.
THE X-RAY STORY. See
THE FLINTSTONES.
X-27. See
MR. GARLUND.
XERODERMA PIGMENTOSUM. Institute for
Dermatologic Communication & Education.
22 min., sd., color, 16 mm.
Produced in cooperation with University
of California, University Extension,
Continuing Education in Health
Sciences. Appl. authors: Marion B.
Sulzberger & Roberta Z. Sulzberger.
© Institute for Dermatologic Communication
& Education; 6Dec67; MP18841.
Y
THE YACHT CLUB GANG. See
CHECKMATE.
THE YACHTING PARTY. See
HOW TO MARRY A MILLIONAIRE.
YACHTSMAN MAGOO. See
MISTER MAGOO.
THE YADWIN REPORT. See
THE BING CROSBY SHOW.
YAHOO. See
LAREDO.
YAK, YAK, YAK. See
PETE AND GLADYS.
YALE BOWL SEES ARMY VICTOR. See
SPORTFOLIO.
YALE UNIVERSITY CHEMISTRY FILMS. See
CORRELATIONS WITHIN THE PERIODIC
TABLE MELTING POINTS.
MASS SPECTROMETER.
MELTING POINTS—DETERMINATION AND
CORRELATION.
SINGLE PAN BALANCE.
USING THE AIR DAMPENED BALANCE.
YALE WINS TIE IN FINAL SECONDS. See
SPORTFOLIO.
THE YALTA CONFERENCE. Thorne Films.
4 min., si., b&w, 8 mm. (The 8 mm.
documents project) NM: compilation.
© Thorne Films, Inc.; 22Dec66;
MP17244.
YAMPA CROSSING. See
SUGARFOOT.
YANKEE COME HOME. See
THE DEFENDERS.
YANKEE CONFEDERATE. See
DEATH VALLEY DAYS. 607.
YANKEE DOLLAR. See
TARGET: THE CORRUPTORS.
YANKEE DOODLE DANDY. See
FAIR EXCHANGE.
YANKEE SAILS ACROSS EUROPE. National
Geographic Society. Made by Wolper
Productions, Inc. 52 min., sd., color,
16 mm. © National Geographic Society;
31Mar67; MP16726.
YANKEE SPY. See
SHOTGUN SLADE.
YANKEE STAY HERE. See
THE LLOYD BRIDGES SHOW.
YANKEE TORNADO. See
BRONCO.
YANKS CONQUER ATTU. See
GREATEST HEADLINES OF THE CENTURY.
YANKS FREED IN KOREA. See
GREATEST HEADLINES OF THE CENTURY.
YANKS IN VIETNAM. See
EYEWITNESS.
YANKS OCCUPY TOKYO. See
GREATEST HEADLINES OF THE CENTURY.
YANKS ON AFRICAN SOIL. See
GREATEST HEADLINES OF THE CENTURY.
YANKS SMASH ACROSS RHINE. See
GREATEST HEADLINES OF THE CENTURY.
YANKS STORM AACHEN. See
GREATEST HEADLINES OF THE CENTURY.
YANKS WIN FIFTH STRAIGHT SERIES. See
SPORTFOLIO.
YANQUI GO HOME. See
THE BARBARA STANWYCK SHOW.
WIDE COUNTRY.
YARD BIRDS. See
LEAVE IT TO BEAVER.
YAWKEY. See
LAWMAN.
YE FAITHFUL. Brian Kellman & Charles
W. Tamulonis. 9 min., sd., b&w,
8 mm. © Brian Kellman & Charles W.
Tamulonis; 21Mar66; MU7683.
THE YEAR JOAN CRAWFORD WON THE
OSCAR. See
SAINTS AND SINNERS.
YEAR OF GRACE. See
HAWAIIAN EYE.
THE YEAR OF THE HORSE. See
THE HORSE IN THE GRAY FLANNEL SUIT.
THE YEAR OF THE MOUSE. Metro-Goldwyn-Mayer.
6 min., sd., color, 35 mm.
(Tom & Jerry cartoon) Metrocolor.
© Metro-Goldwyn-Mayer, Inc.; 31Dec65;
LP32293.
THE YEAR OF THE SESQUICENTENNIAL. See
NEW ALBANY 1963—THE YEAR OF THE
SESQUICENTENNIAL.
THE YEAR THE YANKEES LOST THE
PENNANT. See
DAMN YANKEES.
A YEAR TO LEARN THE LANGUAGE. See
IN THE FRENCH STYLE.
THE YEARS BETWEEN. Volkswagen of
America. Made by Marathon International
Productions. 2 reels,
sd., color, 16 mm. © Volkswagen of
America; 20Jun69; MP19573.
THE YEARS OF RECONSTRUCTION: 1865-1877.
McGraw-Hill Book Co. 25 min., sd.,
color, 16 mm. (American history
series) Produced by McGraw-Hill
Text-Films in collaboration with
Project 7 Productions. © McGraw-Hill,
Inc.; 31Dec68; MP19106.
THE YELLOW BADGE OF COURAGE. See
I'M DICKENS, HE'S FENSTER.
THE YELLOW BELLY IN THE PURPLE SAGE. See
THE RED SKELTON HOUR.
THE YELLOW CANARY. Twentieth Century-Fox
Film Corp. 93 min., sd., b&w,
35 mm. A Cooga Mooga production.
CinemaScope. Based on the novel
Evil come, evil go, by Whit Masterson.
© Twentieth Century-Fox Film
Corp., 9May63; LP26796.
THE YELLOW DOG. See
MANHUNT.
YELLOW HAIRED KID. See
WILD BILL HICKOK.
YELLOW RIVER. See
MAVERICK.
THE YELLOW ROLLS-ROYCE. Metro-Goldwyn-Mayer.
121 min., sd., color, 35 mm.
Metrocolor. Panavision. © Metro-Goldwyn-Mayer,
Inc.; 31Dec64; LP29638.
THE YELLOW SCARF AFFAIR. See
THE MAN FROM U.N.C.L.E.
YELLOW SUBMARINE. Apple Films [London]
Released by United Artists
Corp. 85 min., sd., color, 35 mm.
A King Features production. From an
original story by Lee Minoff; based
on a song by John Lennon & Paul
McCartney. © Hearst Corp., King
Feature Syndicate Division, & Subafilms,
Ltd.; 18Jul68; LP36362.
YELLOW TERROR. See
COLT .45.
YELLOWSTONE CUBS. Walt Disney Productions.
Released by Buena Vista
Distribution Co. 48 min., sd., color,
35 mm. Technicolor. © Walt Disney
Productions; 16May63; LP25497.
YELLOWSTONE KELLY. Warner Bros. Pictures.
91 min., sd., Technicolor,
35 mm. From the book by Clay Fisher.
© Warner Bros. Pictures, Inc.; 5Sep59;
LP17058.
YEMEN: THE ARABS' OWN WAR. See
EYEWITNESS.
YES, GALEN, THERE IS A HERMAN. See
THE MUNSTERS.
YESTERDAY'S HERO. See
SURFSIDE 6.
YESTERDAY'S TIMEPIECE. See
THE VIRGINIAN.
YO HO HO AND A BOTTLE OF DUMB. See
THE RED SKELTON HOUR.
THE YO-HO-HO AND A BOTTLE OF RUM
AFFAIR. See
THE MAN FROM U.N.C.L.E.
YO YO A GO GO. Hal Seeger. 5 min.,
si., b&w, 16 mm. (Batfink, no. 62)
© Hal Seeger; 14Jun67; LU3514.
YOCHIMS CHRISTMAS. See
LASSIE.
YOGI BEAR/YOGI BEAR'S.
For titles beginning with Yogi Bear
or Yogi Bear's See HUCKLEBERRY
HOUND SHOW.
THE YOKE'S ON YOU. See
DEPUTY DAWG. No. 657.
YONDER MAN. See
BONANZA.
YOO HOO! I'M A BIRD. United Air Lines.
Made by Summit Films. 28 min., sd.,
color, 16 mm. © United Air Lines,
Inc.; 1Oct66; MP16687.
YOSEMITE SAM. See
HONEY'S MONEY.
SHISHKABUGS.
YOU AIN'T NUTHIN' BUT A HOUN' DOG. See
THE MANY LOVES OF DOBIE GILLIS.
YOU AND OFFICE SAFETY. Xerox Corp.
Made by Holland-Wegman Productions,
division of Niagara Frontier Services.
8 min., sd., color, 16 mm. © Xerox
Corp.; 27Dec68; MP19778.
YOU AND THE BANK ROBBER. Highway Safety
Foundation. 19 min., sd., color,
16 mm. © Highway Safety Foundation;
23Dec64; MP15063.
YOU AND THE DRIVOTRAINER SYSTEM. Aetna
Life Insurance Co. 20 min., sd.,
color, 16 mm. (The new Aetna drivotrainer
film series) Eastman color.
© Aetna Life Insurance Co.; 2Jan64;
MP14331.
YOU ARE A RETAILER. Sinclair Refining
Co. Made by Jam Handy Organization.
18 min., sd., color, 16 mm. Ektachrome.
© Jam Handy Organization,
Inc.; 8Apr63; MU7307.
YOU ARE A TEAM. Sinclair Refining
Co. Made by Jam Handy Organization.
17 min., sd., color, 16 mm. Ektachrome.
© Sinclair Refining Co.; 14May64; LU3331.
YOU ARE HERE. See
OUT OF THE INKWELL.
YOU ARE IMPORTANT. Sinclair Refining
Co. Made by Jam Handy Organization.
13 min., sd., color, 16 mm. Ektachrome.
© Sinclair Refining Co.; 8May64; LU3327.
YOU ARE THE LIFEGUARD. Aetna Life
Affiliated Companies. 10 min., sd.,
color, 16 mm. Produced in cooperation
with American National Red Cross.
© Aetna Life Affiliated Companies;
28Mar62; MP12289.
YOU AUTO BE IN PICTURES. Hal Seeger
Productions. 6 min., sd., color,
35 mm. (Muggy Doo, no. 2) Eastman
color. © Hal Seeger Productions,
Inc.; 15Jan65; LU3348.
YOU BE THE DOCTOR. Chevrolet Motor
Division. Made by Jam Handy Organization.
16 min., sd., color, 16 mm.
Ektachrome. © Chevrolet Motor Division,
General Motors Corp.; 12Jan66; MU7667.
YOU BECOME AN ASTRONAUT. H. D.
Shattuck. 4 min., si., b&w, 16 mm.
© Harold Darlington Shattuck;
6Jul62; MP12584.
YOU BET YOUR LIFE. General Tire &
Rubber Co. Made by Jam Handy Organization.
8 min., sd., color, 16 mm.
© General Tire & Rubber Co.; 18May67;
MU7820.
YOU CAN BE A DOCTOR. International
Afro-American Museum. 15 min.,
sd., color, 16 mm. Presented by
McGraw-Hill Text-Films. © International
Afro-American Museum, Inc.;
8Jan69; MP19219.
YOU CAN FIGHT CITY HALL. See
THE DANNY THOMAS SHOW.
HARRIGAN AND SON.
WENDY AND ME.
YOU CAN'T ALWAYS BE A HERO. See
THE REAL MCCOYS. 36.
YOU CAN'T BE A LITTLE GIRL ALL YOUR
LIFE. See
ALFRED HITCHCOCK PRESENTS.
YOU CAN'T BEAT THE ARMY. See
THE REAL MCCOYS.
YOU CAN'T BEAT THE PERCENTAGE. See
MAVERICK.
YOU CAN'T BEAT THE SYSTEM. See
EAST SIDE/WEST SIDE.
YOU CAN'T CHEAT AN HONEST MAN. See
THE REAL MCCOYS. 6.
YOU CAN'T FIGHT CITY HALL. See
THE LIFE AND LEGEND OF WYATT EARP.
THE ROARING 20'S.
YOU CAN'T GO HOME AGAIN. See
GUESTWARD HO.
YOU CAN'T PICK THE NUMBER. See
THE UNTOUCHABLES. NO. 5118-5.
YOU CAN'T RAISE CHILDREN BY THE
BOOK. See
WOMAN!
YOU CAN'T TRUST A MAN. See
ALFRED HITCHCOCK PRESENTS.
YOU CAN'T WIN 'EM ALL. See
SCHLITZ-LUX PLAYHOUSE.
YOU CHALLENGE ME TO A WHAT? See
THE MOTHERS-IN-LAW. No. 12.
YOU COULD DIE LAUGHING. See
THE NURSES.
YOU DON'T HAVE TO POLISH A SUBWAY. See
FAIR EXCHANGE.
YOU DON'T LIVE HERE. See
GEORGE SANDERS MYSTERY THEATRE. 4.
YOU DRIVE. See
TWILIGHT ZONE.
YOU FISH OR YOU CUT BAIT. See
BEN CASEY.
YOU GO YOUR WAY. See
DENNIS THE MENACE.
YOU GOTTA BE MISERABLE TO BE HAPPY. See
THE DANNY THOMAS SHOW. No. 26-D (146).
YOU GOTTA HAVE HEART. See
THE BILL DANA SHOW.
YOU HAVE THE KEY. Chevrolet Motor
Division. Made by Jam Handy
Organization. 21 min., sd., color,
16 mm. Ektachrome. © Chevrolet
Motor Division, General Motors Corp.;
18Feb65; MU7548.
YOU HAVE TO KNOW SOMEONE TO BE
UNKNOWN. See
THAT GIRL. No. 26.
YOU HAVE TO RUN FAST. Harvard Film
Corp. Released by United Artists
Corp. 71 min., sd., b&w, 35 mm.
© Harvard Film Corp.; 20Jul61;
LP20544.
YOU LIKE BUFFY BETTER. See
FAMILY AFFAIR.
YOU MUST BE JOKING. Ameran Films.
Released by Columbia Pictures Corp.
100 min., sd., b&w, 35 mm. From a
story by Alan Hackney & Michael
Winner. © Ameran Films, Ltd.;
1Sep65; LP31986.
YOU NEVER HAD IT SO GOOD. See
ROUTE 66.
YOU ONLY DIE ONCE. See
THE DETECTIVES.
YOU ONLY LIVE TWICE. Danjaq, S.A.
Released by United Artists. 117 min.,
sd., color, 35mm. Panavision.
Based on the novel by Ian Fleming.
© Danjaq, S.A.; 13Jun67; LP34526.
YOU SAW A WHAT? See
MY THREE SONS.
YOU SHOULD MEET MY SISTER. See
AWARD THEATRE.
YOU TAKE THE HIGH ROAD. See
THE VIRGINIAN.
YOU WANNA KNOW WHAT REALLY GOES ON IN
A HOSPITAL? See
BEN CASEY.
YOU'LL BE THE DEATH OF ME. See
ALFRED HITCHCOCK HOUR.
YOU'LL FIND IT IN THE LIBRARY. Coronet
Instructional Films. 13 min.,
sd., b&w, 16 mm. © Coronet Instructional
Films, division of Esquire,
Inc.; 2Nov66; MP16534.
THE YOUNG AMBASSADORS. Volkswagen of
America. Made by Marathon International
Productions. 14 min., sd.,
color, 16 mm. © Marathon International
Productions, Inc.; 13Feb67
(in notice: 1966); MP16554.
THE YOUNG AMERICANS. Young Americans.
Released by Columbia Pictures Corp.
104 min., sd., color, 35 mm.
© Young Americans; 1Nov67; LP34868.
YOUNG AND IN LOVE. See
THE FARMER'S DAUGHTER.
THE YOUNG AND THE BRAVE. A. C. Lyles
Productions. Released by Metro-Goldwyn-Mayer.
84 min., sd., b&w,
35 mm. Story by Ronald Davidson &
Harry M. Slott. © Metro-Goldwyn-Mayer,
Inc. & A. C. Lyles Productions,
Inc.; 6Mar63; LP24117.
THE YOUNG AND THE WILLING (Young and
willing) Rank Organisation Film
Productions. Released by Universal
Pictures Co. 113 min., sd., b&w,
35 mm. From the play The tinker, by
Laurence Dobie & Robert Sloman.
© Rank Organisation Film Productions,
Ltd.; 6Jun63; LP33835.
THE YOUNG ANIMALS. American International
Pictures. 96 min., sd., color,
35 mm. © American International Pictures;
18Sep68; LP36435.
THE YOUNG ASSASSINS. See
PETER GUNN.
YOUNG AT HEART. See
KAREN.
YOUNG BILLY YOUNG. Talbot-Youngstein
Productions. Released by United
Artists Corp. 88 min., sd., color,
35 mm. Based on Who rides with Wyatt,
by Will Henry. © Talbot-Youngstein
Productions; 9Sep69; LP37274.
YOUNG BLOOD. See
CISCO KID.
THE HIGH CHAPARRAL.
YOUNG CASSIDY. Sextant Films. Released
by Metro-Goldwyn-Mayer. 110 min.,
sd., color, 35 mm. Metrocolor.
Based on Mirror in my house, the
autobiography of Sean O'Casey. © Sextant
Films, Ltd.; 11Jan65; LP29819.
THE YOUNG CONSPIRATOR. See
MARKHAM.
YOUNG COUPLE. See
LESTARE. 713A.
YOUNG DILLINGER. Zimbalist Co.
Released by Allied Artists Pictures
Corp. 102 min., sd., b&w, 35 mm.
© Zimbalist Co., Inc.; 1Mar65;
LP31458.
THE YOUNG DOCTORS. Drexel Films Corp.
& Millar-Turman Productions. Released
by United Artists Corp.
102 min., sd., b&w, 35 mm. Based
upon a novel by Arthur Hailey.
© Drexel Films Corp. & Millar-Turman
Productions, Inc.; 24Aug61; LP21040.
YOUNG FANS. See
I LOVE LUCY.
THE YOUNG FUGITIVES. See
CHEYENNE.
YOUNG FURY. A. C. Lyles Productions.
Released by Paramount Pictures Corp.
80 min., sd., color, 35 mm. Technicolor.
Techniscope. © Paramount
Pictures Corp. & A. C. Lyles Productions,
Inc.; 31Dec64; LP29817.
THE YOUNG GIRLS OF ROCHEFORT. Parc
Film-Madeleine Films. Released by
Warner Bros.-Seven Arts. 126 min.,
sd., color, 35 mm. © Parc Film-Madeleine
Films; 1Dec67; LP35743.
YOUNG GUN. See
COLT .45.
DEATH VALLEY DAYS. 617.
YOUNG GUNS OF TEXAS. Twentieth Century-Fox
Film Corp. 78 min., sd., color,
35 mm. Color by DeLuxe. CinemaScope.
© Twentieth Century-Fox Film Corp.;
2Dec62; LP23851.
YOUNG JESSE JAMES. Associated Producers.
Released by Twentieth Century-Fox
Film Corp. 62 min., sd.,
b&w, 35 mm. CinemaScope. © Twentieth
Century-Fox Film Corp.; 27Jul60;
LP17062.
YOUNG JIM HARDIE. See
TALES OF WELLS FARGO.
THE YOUNG JUGGLER. Curtleigh Productions.
53 min., sd., b&w, 16 mm.
(Ford startime) © Curtleigh Productions,
Inc.; 29Mar60; LP22863.
THE YOUNG LONER. See
WALT DISNEY'S WONDERFUL WORLD OF COLOR.
THE YOUNG LOVERS. Metro-Goldwyn-Mayer.
108 min., sd., b&w, 35 mm. Based on
a novel by Julian Halevy. © Tigertail
Productions, Inc.; 23Jun64; LP28748.
THE YOUNG LOVERS. See
THE DEFENDERS.
THE YOUNG MAN FROM BOSTON. American
Broadcasting-Paramount Theatres.
54 min., sd., b&w, 16 mm. A Circle
Seven production. © American
Broadcasting-Paramount Theatres, Inc.;
30Apr65; MP16722.
YOUNG MAN WITH A SHOEHORN. See
THE DICK VAN DYKE SHOW.
A YOUNG MAN'S FANCY. See
FAIR EXCHANGE.
THE JOEY BISHOP SHOW.
LIFE OF RILEY.
THE RIFLEMAN.
THE TWILIGHT ZONE.
YOUNG MAN'S WORLD. See
HARRIGAN AND SON.
THE YOUNG MARAUDERS. See
THE BIG VALLEY.
YOUNG MR. EISENHOWER. See
CBS NEWS SPECIAL.
YOUNG PERFORMERS 1960-64. See
NEW YORK PHILHARMONIC YOUNG PEOPLE'S CONCERTS.
THE YOUNG PHILADELPHIANS. Warner Bros.
Pictures. 136 min., sd., b&w, 35 mm.
From the novel The Philadelphian by
Richard Powell. © Warner Bros. Pictures,
Inc.; 30May59; LP16498.
THE YOUNG RACERS. Alta Vista Productions.
Released by American International
Pictures. 82 min., sd.,
color, 35 mm. Eastman color.
© Alta Vista Productions; 22May63;
LP26001.
THE YOUNG RUNAWAYS. Four Leaf Productions.
Released by Metro-Goldwyn-Mayer.
92 min., sd., color, 35 mm.
© Metro-Goldwyn-Mayer, Inc. & Four
Leaf Productions, Inc.; 12Aug68;
LP36032.
THE YOUNG SAVAGES. Contemporary Productions.
Released by United Artists
Corp. 100 min., sd., b&w, 35 mm.
Based on the novel A matter of conviction,
by Evan Hunter. © Contemporary
Productions, Inc.; 23May61 (in
notice: 1960); LP20319.
THE YOUNG SWINGERS. Associated
Producers. Released by Twentieth
Century-Fox Film Corp. 70 min.,
sd., b&w, 35 mm. © Twentieth Century-Fox
Film Corp.; 19Sep63; LP26776.
THE YOUNG, THE EVIL AND THE SAVAGE.
Super International Pictures & B.G.A.
Released by American International
Pictures. 82 min., sd., color, 35 mm.
© American International Pictures;
14Aug68 (in notice: 1967); LP36044.
THE YOUNG TOUGHS. See
LAWMAN.
THE YOUNG WARRIORS. Universal Pictures.
93 min., sd., color, 35 mm. Panavision.
Based on Richard Matheson's
novel. Appl. author: Universal Pictures,
division of Universal City
Studios. © Universal Pictures;
3Jun67 (in notice: 1966); LP36896.
YOUNG WITNESS. See
WILD BILL HICKOK.
YOUNGBLOOD HAWKE. Warner Bros. Pictures.
137 min., sd., b&w, 35 mm.
From the novel by Herman Wouk.
© Warner Bros. Pictures, Inc.;
28Nov64 (in notice: 1963); LP32356.
THE YOUNGER BROTHER. See
LEAVE IT TO BEAVER.
YOUNGER THAN AUTUMN. See
THE ED WYNN SHOW. 7.
THE YOUNGEST. See
LAWMAN.
YOUR BODY AND ITS PARTS. Encyclopaedia
Britannica Films. 12 min., sd.,
color, 16 mm. (Basic life science,
unit: Your health) Eastman color.
© Encyclopaedia Britannica Films, Inc.;
15Sep64; MP14596.
YOUR BODY GROWS. Coronet Instructional
Films. 11 min., sd., b&w, 16 mm.
© Coronet Instructional Films, a
division of Esquire, Inc.; 11Aug67;
MP17416.
YOUR BODY REPAIRS AND MAINTAINS ITSELF.
Coronet Instructional Films. 10 min.,
sd., b&w, 16 mm. © Coronet Instructional
Films, a division of Esquire,
Inc.; 12Oct66; MP16354.
YOUR CHEATIN' HEART. Four Leaf Productions.
Released by Metro-Goldwyn-Mayer.
98 min., sd., b&w, 35 mm.
Panavision. © Metro-Goldwyn-Mayer,
Inc. and Four Leaf Productions, Inc.;
30Jul64; LP28885.
YOUR COMMUNICATION SKILLS: LISTENING.
Coronet Instructional Films. 10 min.,
sd., b&w, 16 mm. © Coronet Instructional
Films, a division of Esquire,
Inc.; 4Sep69; MP19845.
YOUR COMMUNICATION SKILLS: READING.
Coronet Instructional Films. 11 min.,
sd., b&w, 16 mm. © Coronet Instructional
Films, a division of Esquire,
Inc.; 3Sep69; MP19857.
YOUR COMMUNICATION SKILLS: SPEAKING.
Coronet Instructional Films. 10 min.,
sd., b&w, 16 mm. © Coronet Instructional
Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.
More than just a book-buying platform, we strive to be a bridge
connecting you with timeless cultural and intellectual values. With an
elegant, user-friendly interface and a smart search system, you can
quickly find the books that best suit your interests. Additionally,
our special promotions and home delivery services help you save time
and fully enjoy the joy of reading.
Join us on a journey of knowledge exploration, passion nurturing, and
personal growth every day!
ebookbell.com

More Related Content

PDF
Autoscaling application block and transient fault handling application block ...
PDF
Developing Applications for the Cloud on the Microsoft Windows Azure Platform...
PPTX
Azure App Service - Customer Presentation v4.pptx
PPTX
Building Real World Applications using Windows Azure - Scott Guthrie, 2nd Dec...
PPTX
Building azure applications ireland
PDF
Developing multi tenant applications for the cloud 3rd edition
PDF
Mastering Azure Kubernetes Service AKS 1st Edition Abhishek Mishra
PDF
Programming Windows Azure Programming The Microsoft Cloud 1st Edition Sriram ...
Autoscaling application block and transient fault handling application block ...
Developing Applications for the Cloud on the Microsoft Windows Azure Platform...
Azure App Service - Customer Presentation v4.pptx
Building Real World Applications using Windows Azure - Scott Guthrie, 2nd Dec...
Building azure applications ireland
Developing multi tenant applications for the cloud 3rd edition
Mastering Azure Kubernetes Service AKS 1st Edition Abhishek Mishra
Programming Windows Azure Programming The Microsoft Cloud 1st Edition Sriram ...

Similar to Building Elastic And Resilient Cloud Applications Jeremi Bourgault (20)

PDF
Programming Windows Azure Programming the Microsoft Cloud 1st Edition Sriram ...
PPTX
App Modernisation with Microsoft Azure
PDF
Evolving to Cloud-Native - Nate Schutta 2/2
PPTX
For loop summit - cheating the developer experience
PDF
Application modernization with azure PaaS and FaaS
PPTX
Introducing Windows Azure
PDF
How modernizing enterprise applications gives you a competitive advantage
PPTX
Designing Microservices
PPTX
Azure App Service Deep Dive
PPTX
Ordina SOFTC Presentation - Moving a legacy application into the cloud
PPTX
7 steps to Enterprise PaaS
PPTX
Global Azure Bootcamp Montreal 2017
PDF
Moving Applications to the Cloud on Windows Azure 3rd Edition Dominic Betts
PDF
Moving apps to the cloud 3rd edition
PPTX
Re-Platforming Applications for the Cloud
PPTX
Cloud First Architecture
PPTX
PPTX
Building Scalable Applications with Microsoft Azure
PDF
Evolve Your Web Applications with Microsoft Azure
PDF
Adobe nondisclosure-agreement-automation-solution-sb.pd
Programming Windows Azure Programming the Microsoft Cloud 1st Edition Sriram ...
App Modernisation with Microsoft Azure
Evolving to Cloud-Native - Nate Schutta 2/2
For loop summit - cheating the developer experience
Application modernization with azure PaaS and FaaS
Introducing Windows Azure
How modernizing enterprise applications gives you a competitive advantage
Designing Microservices
Azure App Service Deep Dive
Ordina SOFTC Presentation - Moving a legacy application into the cloud
7 steps to Enterprise PaaS
Global Azure Bootcamp Montreal 2017
Moving Applications to the Cloud on Windows Azure 3rd Edition Dominic Betts
Moving apps to the cloud 3rd edition
Re-Platforming Applications for the Cloud
Cloud First Architecture
Building Scalable Applications with Microsoft Azure
Evolve Your Web Applications with Microsoft Azure
Adobe nondisclosure-agreement-automation-solution-sb.pd
Ad

Recently uploaded (20)

PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
Insiders guide to clinical Medicine.pdf
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
Pre independence Education in Inndia.pdf
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
Institutional Correction lecture only . . .
PPTX
Cell Structure & Organelles in detailed.
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
PPH.pptx obstetrics and gynecology in nursing
PPTX
Cell Types and Its function , kingdom of life
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
GDM (1) (1).pptx small presentation for students
PDF
Sports Quiz easy sports quiz sports quiz
PDF
Anesthesia in Laparoscopic Surgery in India
Module 4: Burden of Disease Tutorial Slides S2 2025
Insiders guide to clinical Medicine.pdf
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Pre independence Education in Inndia.pdf
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Institutional Correction lecture only . . .
Cell Structure & Organelles in detailed.
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Abdominal Access Techniques with Prof. Dr. R K Mishra
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
O5-L3 Freight Transport Ops (International) V1.pdf
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPH.pptx obstetrics and gynecology in nursing
Cell Types and Its function , kingdom of life
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
O7-L3 Supply Chain Operations - ICLT Program
GDM (1) (1).pptx small presentation for students
Sports Quiz easy sports quiz sports quiz
Anesthesia in Laparoscopic Surgery in India
Ad

Building Elastic And Resilient Cloud Applications Jeremi Bourgault

  • 1. Building Elastic And Resilient Cloud Applications Jeremi Bourgault download https://ebookbell.com/product/building-elastic-and-resilient- cloud-applications-jeremi-bourgault-4686076 Explore and download more ebooks at ebookbell.com
  • 2. Here are some recommended products that we believe you will be interested in. You can click the link to download. Building Elastic And Resilient Cloud Applications Jeremi Bourgault https://ebookbell.com/product/building-elastic-and-resilient-cloud- applications-jeremi-bourgault-4686078 Vector Search For Practitioners With Elastic A Toolkit For Building Nlp Solutions For Search Observability And Security Using Vector Search Azarmi https://ebookbell.com/product/vector-search-for-practitioners-with- elastic-a-toolkit-for-building-nlp-solutions-for-search-observability- and-security-using-vector-search-azarmi-55322618 Building Spas With Django And Html Over The Wire Learn To Build Realtime Single Page Applications With Python 1st Edition Andros Fenollosa https://ebookbell.com/product/building-spas-with-django-and-html-over- the-wire-learn-to-build-realtime-single-page-applications-with- python-1st-edition-andros-fenollosa-44868684 Building The Snowflake Data Cloud Monetizing And Democratizing Your Data Andrew Carruthers https://ebookbell.com/product/building-the-snowflake-data-cloud- monetizing-and-democratizing-your-data-andrew-carruthers-44888670
  • 3. Building Web Applications With Vuejs Mvvm Patterns For Conventional And Singlepage Websites Ralph Steyer https://ebookbell.com/product/building-web-applications-with-vuejs- mvvm-patterns-for-conventional-and-singlepage-websites-ralph- steyer-44898498 Building Bridges Between Soft And Statistical Methodologies For Data Science Luis A Garcaescudero https://ebookbell.com/product/building-bridges-between-soft-and- statistical-methodologies-for-data-science-luis-a- garcaescudero-44905084 Building Microservices Designing Finegrained Systems 2nd Edition 2nd Release 2nd 20220708 Second Release Sam Newman https://ebookbell.com/product/building-microservices-designing- finegrained-systems-2nd-edition-2nd-release-2nd-20220708-second- release-sam-newman-45010590 Building Python Microservices With Fastapi Build Secure Scalable And Structured Python Microservices From Design Concepts To Infrastructure 1st Sherwin John C Tragura https://ebookbell.com/product/building-python-microservices-with- fastapi-build-secure-scalable-and-structured-python-microservices- from-design-concepts-to-infrastructure-1st-sherwin-john-c- tragura-45036900 Building Resilient Organizations Predicaments Prospects Falguni H Pandya https://ebookbell.com/product/building-resilient-organizations- predicaments-prospects-falguni-h-pandya-45209622
  • 5. BU I L D I N G EL ASTI C AN D RE S I L I E NT CLOU D APPLICATIONS Dominic Betts Jérémi Bourgault Julian Dominguez Ercenk Keresteci Grigori Melnik Fernando Simonazzi Erwin van der Valk Developer’s Guide to the Enterprise Library Integration Pack for Windows Azure™ • • • • • • • • • • • • • • • • • • • • • • • • • •
  • 6. building elastic and resilient cloud applications
  • 8. Building Elastic and Resilient Cloud Applications Developer’s Guide to the Enterprise Library Integration Pack for Windows AzureTM Authors Dominic Betts Jérémi Bourgault Julian Dominguez Ercenk Keresteci Grigori Melnik Fernando Simonazzi Erwin van der Valk
  • 9. ISBN: 978-1-62114-001-6 This document is provided “as-is.” Information and views expressed in this document, including URL and other Internet website references, may change without notice. You bear the risk of using it. Some examples depicted herein are provided for illustration only and are fictitious. No real association or connection is intended or should be inferred. © 2011 Microsoft. All rights reserved. Microsoft, Windows, Windows Server, Windows Vista, Windows Azure, Windows PowerShell, Silverlight, Expression, Expression Blend, MSDN, IntelliSense, IntelliTrace, Internet Explorer, SQL Azure, SQL Server, Visual C#, Visual C++, Visual Basic, and Visual Studio are trademarks of the Microsoft group of companies. All other trademarks are the property of their respective owners.
  • 10. Contents foreword ix preface xiii Who This Book Is For xiv Why This Book Is Pertinent Now xiv How This Book Is Structured xv What You Need to Use the Code xv Who’s Who xvi acknowledgments xix The Team Who Brought You This Guide xix The Enterprise Library Integration Pack for Windows Azure Development Team xix Advisors xx Advisory Council xx Community xx 1 Introduction to Windows Azure 1 About Windows Azure 1 Windows Azure Services and Features 3 Compute Environment 3 Data Management 4 Networking Services 5 Other Services 7 Developing Windows Azure Applications 7 Managing, Monitoring, and Debugging Windows Azure Applications 8 Managing SQL Azure Databases 9 Upgrading Windows Azure Applications 9 Windows Azure Subscription and Billing Model 10 Estimating Your Costs 12 More Information 12
  • 11. 2 Introduction to Enterprise Library Integration Pack for Windows Azure 17 What Is Enterprise Library? 17 What Is the Enterprise Library Integration Pack for Windows Azure? 20 More Information 21 3 The Tailspin Scenario 23 The Tailspin Company 23 Tailspin’s Strategy 24 The Surveys Application 24 Tailspin’s Goals and Concerns 26 The Surveys Application Architecture 27 More Information 29 4 Autoscaling and Windows Azure 31 What is Autoscaling? 31 What is the Autoscaling Application Block? 32 Instance Autoscaling 34 Application Throttling 35 Rules and Actions 36 Constraint Rules 36 Reactive Rules 39 Logging 42 The Autoscaling Lifecycle 43 Determine Requirements and Constraints 44 Specify Rules 44 Run the Application 44 Collect and Analyze the Results 44 When Should You Use the Autoscaling Application Block? 45 You Want Your Application to Respond Automatically to Changes in Demand 45 You Want to Manage the Costs Associated with Running Your Application 45 You Have Predictable Times When Your Application Requires Additional Resources 46 When Should You Not Use the Autoscaling Application Block 46 Simple Applications 46 Controlling Costs 47 Applications That Are Not Scalable 47 Using the Autoscaling Application Block 47 Adding the Autoscaling Application Block to Your Visual Studio Project 49
  • 12. Hosting the Autoscaling Application Block 50 Changes to Your Windows Azure Application 51 The Service Information 52 Adding Throttling Behavior to Your Application 54 Using Instance Autoscaling and Throttling Together 54 The Autoscaling Rules 55 Implementing Schedule-based Autoscaling Without Reactive Rules 57 Monitoring the Autoscaling Application Block 58 Advanced Usage Scenarios 60 Scale Groups 60 Using Notifications 62 Integrating with the Application Lifecycle 63 Extending the Autoscaling Application Block 65 Using the WASABiCmdlets 66 Sample Configuration Settings 67 Average Rule Evaluation Period 69 Long Rule Evaluation Period 70 Configuring the Stabilizer 70 Using the Planning Tool 72 How the Autoscaling Application Block Works 73 The Metronome 74 The Data Collectors 74 The Service Information Store 75 The Data Points Store 75 The Rule Evaluator 75 The Rules Store 75 The Logger 76 The Scaler 76 The Tracker 76 More Information 77 5 Making Tailspin Surveys More Elastic 83 The Premise 83 Goals and Requirements 84 Overview of the Autoscaling Solution 86 Using the Autoscaling Application Block in Tailspin Surveys 86 Features of the Autoscaling Application Block 86 Hosting the Autoscaling Application Block in Tailspin Surveys 87 Scale Groups in Tailspin Surveys 88
  • 13. Autoscaling Rules in Tailspin Surveys 88 Collecting Autoscaling History Data in Tailspin Surveys 91 An Autoscaling Configuration UI 92 Notifying Operators by SMS When a Scaling Operation Takes Place 92 Inside the Implementation 92 Enabling the Autoscaling Application Block to Read from the .cscfg File 93 Tailspin’s Service Information Definition 93 Tailspin’s Autoscaling Rules 95 Tailspin Surveys Constraint Rules 95 Tailspin Surveys Reactive Scaling Rules 96 Tailspin Surveys Reactive Throttling Rules 99 Tailspin Surveys Operands 101 Collecting Performance Counter Data from Tailspin Surveys 102 Implementing Throttling Behavior 105 Editing and Saving Rules 107 Discovering the Location of the Rules Store 107 Reading and Writing to the Rules Store 107 Creating Valid Autoscaling Rules 109 Validating Target Names in the Rule Definitions 110 Editing and Saving the Service Information 111 Visualizing the Autoscaling Actions 111 Implementing a Custom Action 115 Integrating a Custom Action with the Autoscaling Application Block 115 Integrating a Custom Action with the Tailspin Surveys Rule Editor 118 Implementing Custom Operands 119 Integrating a Custom Operand with the Autoscaling Application Block 119 Integrating a Custom Operand with the Tailspin Surveys Rule Editor 124 Configuring Logging in Tailspin Surveys 124 Setup and Physical Deployment 126 Certificates and Tailspin Surveys
  • 14. Deployment 126 Deploying a Service Certificate to Enable SSL 126 Deploying the Management Certificate to Enable Scaling Operations 127 Deploying Tailspin Surveys in Multiple Geographic Locations 128 Data Transfer Costs 130 Role Instances 131 Configuration Differences 131 Application Differences 131 More Information 132 6 Transient Fault Handling 133 What Are Transient Faults? 133 What Is the Transient Fault Handling Application Block? 134 Historical Note 135 Using the Transient Fault Handling Application Block 136 Adding the Transient Fault Handling Application Block to Your Visual Studio Project 136 Instantiating the Transient Fault Handling Application Block Objects 137 Defining a Retry Strategy 137 Defining a Retry Policy 138 Executing an Operation with a Retry Policy 139 When Should You Use the Transient Fault Handling Application Block? 140 You are Using a Windows Azure Service 140 You Are Using a Custom Service 140 More Information 141 7 Making Tailspin Surveys More Resilient 143 The Premise 143 Goals and Requirements 144 Overview of the Transient Fault Handling Application Block Solution 144 Inside the Implementation 145 Setup and Physical Deployment 148 More Information 148
  • 15. appendices a Sample Configurations For Deploying Tailspin Surveys To Multiple Data Centers 149 Option 1 149 Service Model 149 Rules 151 Option 2 154 Service Model 155 Rules 156 b Tailspin Surveys Installation Guide 159 Introduction 159 Prerequisites 160 Install Source Code and Dependencies 160 Prepare Your Windows Azure Subscription for Deployment 162 Generate the Windows Azure Management Certificate and Export as .pfx File 162 Generate the SSL Certificate 165 Create the Required Hosted Services 167 Upload Certificates as Hosted Services’ Service Certificates 169 Create the Storage Account 170 Building the Solution 172 Install NuGet Packages 172 Modify the Certificates in the Visual Studio Cloud Projects 173 Prepare the Settings in the Cloud Projects 175 Build the Solution 177 Deploy to Windows Azure 178 Deploying Tailspin to the Staging Slot 178 Testing If Tailspin Surveys Works 180 Public Website 180 Tenant Website 180 Management Website 180 Configuring Tailspin Autoscaling Functionality 181 Configuring the Service Information Store 181 Uploading the Sample Rules 182 Running Tailspin Surveys Locally in Debug Mode 182 Running the Management Application in Simulated Mode 183 Known Issues 184 More Information 185 c Glossary 187 index 191
  • 16. xi Foreword Energy use in the IT sector is growing faster than in any other industry as society becomes ever more dependent on the computational and storage capabilities provided by data centers. Unfortunately, a combi- nation of inefficient equipment, outdated operating practices, and lack of incentives means that much of the energy used in traditional data centers is wasted. Most IT energy efficiency efforts have focused on physical infra- structure—deploying more energy-efficient computer hardware and cooling systems, using operating system power management features, and reducing the number of servers in data centers through hardware virtualization. But a significant amount of this wasted energy stems from how applications are designed and operated. Most applications are provi- sioned with far more IT resources than they need, as a buffer to ensure acceptable performance and to protect against hardware failure. Most often, the actual needs of the application are simply never measured, analyzed, or reviewed. Once the application is deployed with more resources than it typically needs, there is very little incentive for the application devel- opers to instrument their application to make capacity planning easi- er. And when users start complaining that the application is perform- ing slowly, it’s often easier (and cheaper) to simply assign more resources to the application. Very rarely are these resources ever re- moved, even after demand for the application subsides. Cloud computing has the potential to break this dynamic of over-provisioning applications. Because cloud platforms like Windows Azure charge for resource use in small increments (compute-hours) on a pay-as-you-go basis, developers can now have a direct and con- trollable impact on IT costs and associated resource use. Applications that are designed to dynamically grow and shrink their resource use in response to actual and anticipated demand are not only less expensive to operate, but are significantly more efficient
  • 17. xii with their use of IT resources than traditional applications. Develop- ers can also reduce hosting costs by scheduling background tasks to run during less busy periods when the minimum amount of resources are assigned to the application. While the cloud provides great opportunities for saving money on hosting costs, developing a cloud application that relies on other cloud services is not without its challenges. One particular problem that developers have to deal with is “transient faults.” Although infre- quent, applications have to be tolerant of intermittent connectivity and responsiveness problems in order to be considered reliable and provide a good user experience. Until now, developers on Windows Azure had to develop these capabilities on their own. With the release of the Enterprise Library Integration Pack for Windows Azure, developers can now easily build robust and resource efficient applications that can be intelligently scaled, and throttled. In addition, these applications can handle tran- sient faults. The first major component contained within the Integration Pack is the Autoscaling Application Block, otherwise known as “WASABi.” This application block helps developers improve responsiveness and control Windows Azure costs by automatically scaling the number of web and worker roles in Windows Azure through dynamic provision- ing and decommissioning of role instances across multiple hosted services. WASABi also provides mechanisms to help control resource use without scaling role instances through application throttling. Developers can use this application block to intelligently schedule or defer background processing to keep the number of role instances within certain boundaries and take advantage of idle periods. One of the major advantages of WASABi is its extensibility, which makes your solutions much more flexible. Staying true to the design principles of other application blocks, WASABi provides a mechanism for plugging in your own custom metrics and calling custom actions. With these, you can design a rule set that takes into account your business scenarios and not just standard performance counters avail- able through the Windows Azure Diagnostics. The optimizing stabilizer will ensure that you do not end up scal- ing too quickly. It can also make sure scale actions correspond to the most optimal compute hour pricing charges. For applications that expect significant usage beyond more than a few instances, this ap- plication block will help developers save money on hosting costs while improving the “green credentials” of their application. It will also help your application meet target SLAs. The other major component is the Transient Fault Handling Ap- plication Block (also known as “Topaz”) that helps developers make their applications more robust by providing the logic for detecting
  • 18. xiii and handling transient fault conditions for a number of common cloud-based services. More than ever before, developers have an important role to play in controlling IT costs and improving IT energy efficiency, without sacrificing reliability. The Enterprise Library Integration Pack for Win- dows Azure can assist them in rapidly building Windows Azure-based applications that are reliable, resource efficient, and cost effective. The Developer’s Guide you are holding in your hands is written by the engineering team who designed and produced this integration pack. It is full of useful guidance and tips to help you learn quickly. Importantly, the coverage includes not only conceptual topics, but the concrete steps taken to make the accompanying reference implemen- tation (Tailspin Surveys) more elastic, robust, and resilient. Moreover, the guidance from the Microsoft patterns & practices team is not only encapsulated in the Developer’s Guide and the refer- ence implementation. Since the pack ships its source code and all its unit tests, a lot can be learned by examining those artifacts. I highly recommend both the Enterprise Library Integration Pack for Windows Azure and this Developer’s Guide to architects, soft- ware developers, administrators, and product owners who design new or migrate existing applications to Windows Azure. The practical ad- vice contained in this book will help make your applications highly scalable and robust. Mark Aggar, Senior Director Environmental Sustainability Microsoft Corporation
  • 20. xv Preface The Windows Azure™ technology platform offers exciting new op- portunities for companies and developers to build large and complex applications to run in the cloud. Windows Azure enables you to take advantage of a pay-as-you-go billing model for your application infra- structure and on-demand computing resources. By combining the existing Microsoft® Enterprise Library applica- tion blocks that help you design applications that are robust, configu- rable, 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 Windows Azure. This book describes a scenario based on a fictitious company named Tailspin that has decided to enhance its existing Windows Azure hosted application by using the new Autoscaling Application Block and Transient Fault Handling Block. Its Windows Azure-based application, named Surveys, is described in detail in a previous book in this series, “Developing Applications for the Cloud” at http://msdn. microsoft.com/en-us/library/ff966499.aspx. 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 Windows 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 Windows Azure applications.
  • 21. xvi Who This Book Is For This book demonstrates how you can use the Enterprise Library Inte- gration Pack for Windows Azure in an existing Windows Azure ap- plication 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 ap- propriate 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 Windows Azure, the Microsoft .NET Frame- work, 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 Windows Azure and the Enterprise Library Integration Pack for Windows Azure to help you get started. Why This Book Is Pertinent Now In general, the cloud has become a viable option for making your ap- plications accessible to a broad set of customers. You may have already built and deployed applications to Windows Azure using the tools available for Visual Studio and the Windows 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 guid- ance 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 Windows Azure application.
  • 22. xvii preface How This Book Is Structured 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 http:// nuget.codeplex.com/ ). • A Windows 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 Windows Azure).
  • 23. xviii • A Windows 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 • Windows Azure SDK for .NET and Windows 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 Windows 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. Bharath is a cloud specialist. He checks that a cloud-based solution will work for a company and provide tangible benefits. He is a cautious person, for good reasons. Developing a single application to the cloud is easy. Realizing the benefits that a cloud-based solution can offer is not always so straightforward. 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.
  • 24. xix 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. 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 has 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. 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-premise apps. 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. preface If you have a particular area of interest, look for notes provided by the specialists whose interests align with yours.
  • 26. xxi Acknowledgments The Team Who Brought You This Guide Authors Dominic Betts, Jérémi Bourgault, Julian Dominguez, Ercenk Keresteci, Grigori Melnik, Fernando Simonazzi, and Erwin van der Valk Technical Reviewers Neil Mackenzie, Valery Mizonov, Eugenio Pace, Paweł Wilkosz, and Michael Wood Book Designer John Hubbard Graphic Artist Katie Niemer Editors RoAnn Corbisier, Nelly Delgado, and Nancy Michell The Enterprise Library Integration Pack for Windows Azure Development Team Product/Program Grigori Melnik (Microsoft Corporation) Management Architecture/ Julian Dominguez (Microsoft Corporation), Fernando Simonazzi Development (Clarius Consulting), Jérémi Bourgault (nVentive Inc.), and Ercenk Keresteci (Full Scale 180 Inc) Testing Mani Krishnaswami and Carlos Farre (Microsoft Corporation), Neeraj Jain, Murugesh Muthuvilavan, Karthick Natarajan, Thamilarasi Nataraj and Rathi Velusamy (Infosys Technologies Ltd.) User Experience/ Dominic Betts, Nancy Michell (Content Master Ltd.), Rick Carr Documentation (DCB Software Testing, Inc.), Nelly Delgado (Microsoft Corporation) and Erwin van der Valk (Erwin van der Valk) Release Management Richard Burte (ChannelCatalyst.com, Inc.), Grigori Melnik (Microsoft Corporation), and Jérémi Bourgault (nVentive Inc.) Administrative Support Kerstin Scott (Microsoft Corporation)
  • 27. xxii Advisors Many people contributed to this release. We are grateful to all of them! Advisory Council Nikolai Blackie (Adaptiv), Ivan Bodyagin (ABBYY), Federico Boerr (Southworks), Leandro Boffi (Tellago), Michael Collier (Independent), Hans De Graaf (New Day at Work), Jason De Oliveira (Capgemini Sogeti), Dave Fellows (Green Button), Ştefan Filip (HPC Consulting), Sam Fold (Arkadium), Nuno Filipe Godinho (Independent), Neil Mackenzie (Independent), Daniel Piessens (Zywave), Marc Remmers (42windmills), Keith Stobie (Independent), François Tanguay (nVentive), Mihai Tataran (HPC Consulting), Stas Tkachenko (Arkadium), Trent Swenson (Full Scale 180), Gabriel Szletchman (3mellons), Philippe Vialatte (Independent), Guido Vilariño (3mellons/Disney), Oleg Volkov (New Day At Work), Paweł Wilkosz (Motorola Solution Systems), Michael Wood (Cumulux Inc.), and our Microsoft colleagues: Mark Aggar, David Aiken, Kashif Alam, Jaime Alva Bravo, Cihan Biyikoglu, Jim Davis, John Dawson, Scott Densmore, Lenny Fenster, Danny Garber, Rick Hines, Tom Hollander, Dmitri Martynov, Steve Marx, Tony Meleg, Suren Machiraju, Ade Miller, Valery Mizonov, Walter Myers, Masashi Narumoto, Bhushan Nene, Eugenio Pace, Curt Peterson, James Podgorski, Srilatha Rayasam, Paolo Salvatori, Marc Schweigert, Mark Simms, Eric Slippern, Vijay Sen, and Tim Wieman. The contributions of Valery Mizonov and the whole AppFabric Customer Advisory Team (CAT) deserve a special mention. The Transient Fault Handling Application Block is based on the detection and retry strategies originally developed by the AppFabric CAT team. The enhanced Transient Fault Handling Application Block is a collaboration between the patterns & practices and the AppFabric CAT teams. We’d also like to highlight our exceptional collaboration with Microsoft Consulting Services (Lenny Fenster, Danny Garber, Rick Hines, Walter Myers, and Marc Schweigert) whose regular feedback helped us stay grounded in the real world scenarios. Thank you for not letting us overlook many important ones. Community Many thanks to Rahul Rai, Sudhakar Reddy D V, Maarten Baaliauw, Zoiner Tejada and all who voted on the backlog, beta tested our early code drops, and provided meaningful feedback. Also, we thank the attendees of the patterns & practices symposia, TechReady, and TechEd conferences who provided informal feedback.
  • 28. 1 1 This chapter provides a brief description of the Windows Azure™ technology platform, the services it provides, and the opportunities it offers for on-demand, cloud-based computing where the cloud is a set of interconnected computing resources located in one or more data centers. The chapter also provides links to help you find more infor- mation about the features of Windows Azure, the techniques and technologies used in this series of guides, and the sample code that accompanies them. The primary purpose of this developer guide is to show how to use the Enterprise Library Integration Pack for Windows Azure with your Windows Azure applications. The accompanying reference im- plementation (sample demo), and the associated hands-on labs utilize many of the features and services available in Windows Azure, so it is useful to have an understanding of Windows Azure itself before you begin using the Enterprise Library Integration Pack for Windows Azure. If you are already familiar with Windows Azure, you can skip this chapter and move on to the chapters that describe the Enterprise Library Integration Pack for Windows Azure and the reference imple- mentation, called the Tailspin Surveys application. About Windows Azure Organizations can use the cloud to deploy and run applications and to store data. On-premises applications can use cloud-based resourc- es as well. For example, an application located on an on-premises server, a rich client that runs on a desktop computer, or one that runs on a mobile device can use storage that is located on the cloud. For more information about hybrid solutions, see the integration guide at http://wag.codeplex.com/. Windows Azure abstracts hardware resources through virtualiza- tion. Each application that is deployed to Windows Azure runs on one or more virtual machines (VMs). These deployed applications behave Introduction to Windows Azure Windows Azure is a fast-moving platform, so for the very latest information about any of the features described in this chapter, you should follow the provided links.
  • 29. 2 chapter one as though they were on a dedicated computer, although they might share physical resources such as disk space, network I/O, or CPU cores with other VMs on the same physical host. Two key benefits of an abstraction layer above the physical hardware are portability and scal- ability. Virtualizing a service allows it to be moved to any number of physical hosts in the data center. By combining virtualization tech- nologies, commodity hardware, multi-tenancy, and aggregation of demand, Microsoft and our customers can achieve economies of scale. Such economies generate higher data center utilization (that is, more useful work-per-dollar hardware cost) and, subsequently, savings that are passed along to you. Virtualization also allows you to have both vertical scalability and horizontal scalability. Vertical scalability means that, as demand in- creases, you can increase the number of resources, such as CPU cores or memory, on a specific VM. Horizontal scalability means that you can add more instances of VMs that are copies of existing services. All these instances are load balanced at the network level so that incom- ing requests are distributed among them. At the time of this writing, Windows Azure encompasses Win- dows Azure and SQL Azure. Windows Azure provides a Microsoft® Windows Server®-based computing environment for applications and persistent storage for both structured and unstructured data, as well as asynchronous mes- saging. Windows Azure also provides a range of services that helps you connect users and on-premises applications to cloud-hosted ap- plications, manage authentication, use inter-service messaging, and implement data management and related features such as caching. Windows Azure also includes a range of management services that allows you to control all these resources, either through a web- based user interface (a web portal) or programmatically. In most cases there is a REST-based API that can be used to define how your ser- vices will work. Most management tasks that can be performed through the web portal can also be performed using the API. SQL Azure is essentially SQL Server® provided as a service in the cloud. Finally, there is a comprehensive set of tools and software devel- opment kits (SDKs) that allow you to develop, test, and deploy your applications. For example, you can develop and test your applications in a simulated local environment, provided by the Compute Emulator and the Storage Emulator. Most tools are also integrated into develop- ment environments such as Microsoft Visual Studio® development system. In addition, there are third-party management tools available. Windows Azure can help you achieve portability and scalability for your applications, and reduce your running costs and total cost of ownership (TCO).
  • 30. 3 introduction to windows azure Windows Azure Services and Features The range of services and features available on Windows Azure and SQL Azure target specific requirements for your applications. When you subscribe to Windows Azure, you can choose which of the fea- tures you require, and you pay only for the features you use. You can add and remove features from your subscription whenever you wish. The billing mechanism for each service depends on the type of features the service provides. For more information on the billing model, see “Windows Azure Subscription and Billing Model,” later in this chapter. The services and features available change as Windows Azure continues to evolve. The following four sections of this chapter briefly describe the main services and features available at the time of this writing, subdivided into the categories of Compute Environment, Data Management, Networking Services, and Other Services. For more information about all of the Windows Azure services and features, see “Windows Azure Features” on the Windows Azure Portal. For specific development and usage guidance on each feature or service, see the resources referenced in the following sections. To use any of these features and services you must have a subscription to Windows Azure. A valid Windows Live® ID is required when signing up for a Windows Azure account. For more information, see “Windows Azure Offers.” Compute Environment The Windows Azure compute environment consists of a platform for applications and services hosted within one or more roles. The types of roles you can implement in Windows Azure are: • Windows Azure Compute (Web and Worker Roles). A Windows Azure application consists of one or more hosted roles running within the Azure data centers. Typically there will be at least one web role that is exposed for access by users of the application. A web role is supported by Internet Information Service (IIS) 7.0 and ASP.NET. The application may contain additional roles, including worker roles, that are typically used to perform background processing and support tasks for web roles. For more detailed information, see “Overview of Creating a Hosted Service for Windows Azure” and “Building an Application that Runs in a Hosted Service.” • Virtual Machine (VM role). This role allows you to host your own custom instance of the Windows Server 2008 R2 Enter- prise or Windows Server 2008 R2 Standard operating system Windows Azure includes a range of services that can simplify develop- ment, increase reliability, and make it easier to manage your cloud-hosted applications.
  • 31. 4 chapter one within a Windows Azure data center. For more detailed infor- mation see “Creating Applications by Using a VM Role in Windows Azure.” The Tailspin Surveys application uses both web and worker roles. For additional information and guidance about the use of web and worker roles see the associated guides “Moving Applications to the Cloud” and “Developing Applications for the Cloud” which are available at Cloud Development on MSDN. Each of these guides also includes a set of hands-on labs. Data Management Windows Azure, SQL Azure, and the associated services provide op- portunities for storing and managing data in a range of ways. The following data management services and features are available: • Windows Azure Storage. This provides four core services for persistent and durable data storage in the cloud. The services support a REST interface that can be accessed from within Windows Azure-hosted or on-premises (remote) applications. For information about the REST API, see “Windows Azure Storage Services REST API Reference.” The four storage services are listed below. • The Windows Azure Table Service provides a table-structured storage mechanism and supports queries for managing the data. The Azure Table Service is a NoSQL offering that provides schema-less storage. It is primarily aimed at scenarios where large volumes of data must be stored, while being easy to access and update. For more detailed information see “Table Service Concepts” and “Table Service REST API.” • The Binary Large Object (BLOB) Service provides a series of containers aimed at storing text or binary data. It provides both Block BLOB containers for streaming data, and Page BLOB containers for random read/write operations. For more detailed information see “Understanding Block Blobs and Page Blobs” and “Blob Service REST API.” • The Queue Service provides a mechanism for reliable, persis- tent messaging between role instances, such as between a web role and a worker role. For more detailed information see “Queue Service Concepts” and “Queue Service REST API.” • Windows Azure Drives provide a mechanism for applications to mount a single volume NTFS VHD as a Page BLOB, and upload and download VHDs via the BLOB. For more detailed information see “Windows Azure Drive.”
  • 32. 5 introduction to windows azure • SQL Azure Database. This is a highly available and scalable cloud database service built on SQL Server technologies, that supports the familiar T-SQL-based relational database model. It can be used with applications hosted in Windows Azure, and with other applications running on-premises or hosted else- where. For more detailed information see “SQL Azure Database.” • Data Synchronization. SQL Azure Data Sync is a cloud-based data synchronization service built on Microsoft Sync Frame- work technologies. It provides bi-directional data synchroniza- tion and data management capabilities, allowing data to be easily shared between multiple SQL Azure databases and between on-premises and SQL Azure databases. For more detailed information see “Microsoft Sync Framework Developer Center.” • Caching. This service provides a distributed, in-memory, low latency and high throughput application cache service that requires no installation or management, and dynamically in- creases and decreases the cache size as required. It can be used to cache application data, ASP.NET session state information, and for ASP.NET, page output caching. For more detailed information see “Windows Azure Caching Service.” The Tailspin Surveys application uses both Windows Azure stor- age and SQL Azure. For additional information and guidance about the use of Windows Azure storage and SQL Azure see the associated guides “Moving Applications to the Cloud” and “Developing Applications for the Cloud” which are available at Cloud Development on MSDN. Each of these guides also includes a set of hands-on labs. Networking Services Windows Azure provides several networking services that you can take advantage of to maximize performance, implement authentica- tion, and improve manageability of your hosted applications. These services include the following: • Content Delivery Network (CDN). The CDN allows you to cache publicly available static data for applications at strategic locations that are closer (in network delivery terms) to end users. The CDN uses a number of data centers at many locations around the world, which store the data in BLOB storage that has anonymous access. These do not need to be locations where the application is actually running. For more detailed informa- tion see “Delivering High-Bandwidth Content with the Windows Azure CDN.” • Virtual Network Connect. This service allows you to configure roles of an application running in Windows Azure and comput- ers on your on-premises network so that they appear to be on
  • 33. 6 chapter one the same network. It uses a software agent running on the on-premises computer to establish an IPsec-protected connec- tion to the Windows Azure roles in the cloud, and provides the capability to administer, manage, monitor, and debug the roles directly. For more detailed information see “Connecting Local Computers to Windows Azure Roles.” • Virtual Network Traffic Manager. This is a service that allows you to set up request redirection and load balancing based on three different techniques. Typically you will use Traffic Man- ager to maximize performance by using the Performance technique to redirect requests to the instance of your applica- tion in the data center closest to the user. Alternative load balancing methods available are Failover and Round Robin. For more detailed information see “Windows Azure Traffic Manager.” • Access Control (ACS). This is a standards-based service for identity and access control that makes use of a range of identity providers (IdPs) that can authenticate users. ACS acts as a Security Token Service (STS), or token issuer, and makes it easier to take advantage of federation authentication techniques where user identity is validated in a realm or domain other than that in which the application resides. An example is controlling user access based on an identity verified by an identity provider such as Windows Live® ID or Google. For more detailed information see “Access Control Service 2.0” and “A Guide to Claims-Based Identity and Access Control (2nd Edition).” • Service Bus. This provides a secure messaging and data flow capability for distributed and hybrid applications, such as communication between Windows Azure hosted applications and on-premises applications and services, without requiring complex firewall and security infrastructures. It can use a range of communication and messaging protocols and patterns to provide delivery assurance and reliable messaging, can scale to accommodate varying loads, and can be integrated with on- premises BizTalk Server artifacts. For more detailed information see “Service Bus.” For additional information and guidance about the use of Win- dows Azure storage and SQL Azure see the associated guides “Moving Applications to the Cloud” and “Developing Applications for the Cloud” which are available at Cloud Development on MSDN. Each of these guides also includes a set of hands-on labs. Detailed guidance on using ACS can be found in the associated document, “A Guide to Claims-Based Identity and Access Control (2nd Edition)” and in the hands-on labs for that guide.
  • 34. 7 introduction to windows azure Other Services Windows Azure provides the following additional services: • Business Intelligence Reporting. This service allows you to develop and deploy to the cloud business operational reports generated from data stored in a SQL Azure database. It is built upon the same technologies as SQL Server Reporting Services, and lets you use familiar tools to generate reports. Reports can be easily accessed through the Windows Azure Management Portal, through a web browser, or directly from within your Windows Azure and on-premises applications. For more de- tailed information see “SQL Azure Reporting.” • Marketplace. This is an online facility where developers can share, find, buy, and sell building block components, training, service templates, premium data sets, and finished services and applications needed to build Windows Azure applications. For more detailed information see “Windows Azure Marketplace” on MSDN and “Windows Azure Marketplace” (AppMarket). Developing Windows Azure Applications Typically, on Microsoft® Windows®, you will use Visual Studio 2010 with the Windows Azure Tools for Microsoft Visual Studio. The Win- dows Azure Tools provide everything you need to create Windows Azure applications, including local compute and storage emulators that run on the development computer. This means that you can write, test, and debug applications before deploying them to the cloud. The tools also include features to help you deploy applications to Windows Azure and manage them after deployment. You can download the Windows Azure Tools for Microsoft Vi- sual Studio, and development tools for other platforms and languages such as iOS, Eclipse, Java, Ruby, and PHP from “Windows Azure Tools.” For a useful selection of videos, QuickStart examples, and hands- on labs that cover a range of topics to help you get started building Windows Azure applications, see “Learn Windows Azure and SQL Azure” and “Design. Code. Scale.” The MSDN “Developing Applications for Windows Azure” topic includes specific examples and guidance for creating hosted services, using the Windows Azure Tools for Microsoft Visual Studio to pack- age and deploy applications, and a useful QuickStart example. The Windows Azure Training Kit contains hands-on labs to get you started quickly. To understand the execution lifecycle and how a Windows Azure role operates, see “Real World: Startup Lifecycle of a Windows Azure Role.” You can build and test Windows Azure applications using the compute and storage emulators on your development computer.
  • 35. 8 chapter one For a list of useful resources for developing and deploying data- bases in SQL Azure, see “Development (SQL Azure Database).” For a list of tools that can help with planning the migration of an application to Windows Azure, see “Planning and Designing Windows Azure Applications.” Managing, Monitoring, and Debugging Windows Azure Applications All storage and management subsystems in Windows Azure use REST- based interfaces. They are not dependent on any .NET Framework or Windows operating system technology. Any technology that can is- sue HTTP or HTTPS requests can access Windows Azure facilities. To learn about the Windows Azure managed and native library APIs, and the storage services REST API, see “API References for Windows Azure.” The REST-based service management API can be used as an alter- native to the Windows Azure web management portal. The API in- cludes features to work with storage accounts, hosted services, cer- tificates, affinity groups, locations, and subscription information. For more information, see “Windows Azure Service Management REST API Reference.” In addition, Windows Azure provides diagnostic services and APIs for activities such as monitoring an application’s health. You can use the Windows Azure Management Pack and System Center Operations Manager 2007 R2 to discover Windows Azure applica- tions, get the status of each role instance, and collect and monitor performance information, Windows Azure events, and the .NET Framework trace messages from each role instance. For more informa- tion, see “Monitoring Windows Azure Applications.” You can also use the Windows Azure PowerShell Cmdlets to browse and manage Windows Azure compute and storage services, automate deployment, and upgrade your Windows Azure applications, as well as manage your diagnostics data. For information about using the Windows Azure built-in trace objects to configure diagnostics and instrumentation without using Operations Manager, and about downloading the results, see “Collect- ing Logging Data by Using Windows Azure Diagnostics.” For information about debugging Windows Azure applications, see “Troubleshooting and Debugging in Windows Azure” and “Debugging Applications in Windows Azure.” Chapter 7, “Application Life Cycle Management for Windows Azure Applications” in the guide “Moving Applications to the Cloud” contains information about managing Windows Azure applications. Windows Azure includes features that allow you to monitor and debug cloud- hosted services.
  • 36. 9 introduction to windows azure Managing SQL Azure Databases Applications access SQL Azure databases in exactly the same way they access locally installed SQL Server instances using the managed ADO.NET data access classes, Enterprise Library Data Access Applica- tion Block (DAAB), OData, native ODBC, PHP, Ruby, or JDBC data access technologies. SQL Azure databases can be managed through the web portal, SQL Server Management Studio, Visual Studio 2010 database tools, and a range of other tools for activities such as moving and migrating data, as well as command-line tools for deployment and administra- tion. A database manager is also available to make it easier to work with SQL Azure databases. For more information see “Management Portal for SQL Azure.“ For a list of other tools, see “Windows Azure Downloads.“ SQL Azure supports a management API as well as management through the web portal. For information about the SQL Azure man- agement API see “Management REST API Reference.” Upgrading Windows Azure Applications After you deploy an application to Windows Azure, you will need to update it as you change the role services in response to new require- ments, code improvements, or to fix bugs. You can simply redeploy a service by suspending and then deleting it, and then deploy the new version. However, you can avoid application downtime by performing staged deployments (uploading a new package and swapping it with the existing production version), or by performing an in-place upgrade (uploading a new package and applying it to the running instances of the service). For information about how you can perform service upgrades by uploading a new package and swapping it with the existing produc- tion version, see “How to Deploy a Service Upgrade to Production by Swapping VIPs in Windows Azure.” For information about how you can perform in-place upgrades, including details of how services are deployed into upgrade and fault domains and how this affects your upgrade options, see “How to Per- form In-Place Upgrades on a Hosted Service in Windows Azure.” If you only need to change the configuration information for a service without deploying new code, you can use the web portal or the management API to edit the service configuration file or to upload a new configuration file.
  • 37. 10 chapter one Windows Azure Subscription and Billing Model To use Windows Azure, you first create a billing account by signing up for Microsoft Online Services or through the Windows Azure portal at https://windows.azure.com/. The Microsoft Online Services customer portal manages subscriptions to all Microsoft services. Windows Azure is one of these, but there are others such as Business Productiv- ity Online, Windows Office Live Meeting, and Windows Intune™ software and services. This section is based on the information publicly available at the time of this writing. Every billing account has a single account owner who is identified with a Windows Live ID. The account owner can create and manage subscriptions, view billing information and usage data, and specify the service administrator(s) for each subscription. Administrators manage the individual hosted services for a Win- dows Azure subscription using the Windows Azure portal at https:// windows.azure.com/. A Windows Azure subscription can include one or more of the following: • Hosted services, consisting of hosted roles and the instances within each role. Roles and instances may be stopped, in production, or in staging mode. • Storage accounts, consisting of Table, BLOB, and Queue storage instances. • CDN instances. • SQL Azure databases and Data Sync service. • SQL Azure Reporting Services instances. • Access Control, Service Bus, and Cache service instances. • Virtual Network Connect and Traffic Manager instances. Figure 1 illustrates the Windows Azure billing configuration for a standard subscription. The account owner and the service administrator for a subscription can use (and in many cases should use) different Live IDs.
  • 38. 11 introduction to windows azure figure 1 Windows Azure billing configuration for a standard subscription For more information about Windows Azure billing, see “What are the Billing Basics of Windows Azure?” and “Accounts and Billing in SQL Azure.”
  • 39. 12 chapter one Estimating Your Costs Windows Azure charges are based on how you consume services such as compute time, storage, and bandwidth. Compute time charges are calculated on an hourly rate as well as a rate for the instance size. Storage charges are based on the number of gigabytes and the number of transactions. Prices for data transfer vary according to the geo- graphic location you are in and generally apply to transfers between the Microsoft data centers and your premises, but not on transfers within the same data center. To estimate the likely costs of a Windows Azure subscription, see the following resources: • Subscription overview for the various purchasing models such as the pay-as-you-go and subscription model, including a tool for measuring consumption, at http://www.microsoft.com/windowsazure/pricing/. • Pricing calculator at http://www.microsoft.com/windowsazure/ pricing-calculator/. • TCO calculator at http://www.microsoft.com/windowsazure/ offers/#tcoCompare-LB. Chapter 4, “How Much Will It Cost?” of the guide “Moving Applications to the Cloud” provides additional information about estimating the costs of hosting applications in Windows Azure. More Information There is a great deal of information available about Windows 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 Windows Azure is at http://www.microsoft.com/WindowsAzure/. It has links to white papers, tools such as the Windows Azure SDK for .NET, and many other resources. You can also sign up for a Windows Azure account there. • The Windows Azure learning portal at http://www.microsoft.com/WindowsAzure/learn. • Wade Wegner and Steve Marx have a series of Channel 9 discussions about Windows Azure on Cloud Cover, located at http://channel9.msdn.com/shows/Cloud+Cover/. • Find answers to your questions on the Windows Azure Forum at http://social.msdn.microsoft.com/Forums/en-US/windowsazure- development/threads You are billed for role resources that are used by a deployed service, even if the roles on those services are not running. If you don’t want to get charged for a service, delete the deployments associated with the service.
  • 40. 13 introduction to windows azure • Steve Marx is a Windows Azure Technical Product Manager. His blog is at http://blog.smarx.com/. It is a great source of news and information on Windows Azure. • Wade Wegner is the Technical Evangelist Lead for Windows Azure. His blog is full of technical details and tips. It is at http://www.wadewegner.com/. • Windows 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 http://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: • Windows Azure Guidance on CodePlex: http://wag.codeplex.com/ • Windows Azure Features: http://www.microsoft.com/windowsazure/features/ • Windows Azure Offers: http://www.microsoft.com/windowsazure/offers/ • Overview of Creating a Hosted Service for Windows Azure: http://go.microsoft.com/fwlink/?LinkID=234572 • Building an Application that Runs in a Hosted Service: http://go.microsoft.com/fwlink/?LinkID=234587 • Creating Applications by Using a VM Role in Windows Azure: http://go.microsoft.com/fwlink/?LinkID=234590 • Cloud Development: http://go.microsoft.com/fwlink/?LinkID=234613 • Windows Azure Storage Services REST API Reference: http://msdn.microsoft.com/en-us/library/dd179355.aspx • Table Service Concepts: http://msdn.microsoft.com/en-us/library/dd179463.aspx • Table Service REST API: http://msdn.microsoft.com/en-us/library/dd179423.aspx • Understanding Block Blobs and Page Blobs: http://msdn.microsoft.com/en-us/library/ee691964.aspx • Blob Service REST API: http://msdn.microsoft.com/en-us/library/dd135733.aspx
  • 41. 14 chapter one • Queue Service Concepts: http://msdn.microsoft.com/en-us/library/dd179353.aspx • Queue Service REST API: http://msdn.microsoft.com/en-us/library/dd179363.aspx • Windows Azure Drive: http://go.microsoft.com/?linkid=9710117 • SQL Azure Database: http://msdn.microsoft.com/en-us/library/ee336279.aspx • Microsoft Sync Framework Developer Center: http://msdn.microsoft.com/en-us/sync • Caching Service (Windows Azure): http://go.microsoft.com/fwlink/?LinkID=234591 • Delivering High-Bandwidth Content with the Windows Azure CDN: http://go.microsoft.com/fwlink/?LinkID=234592 • Connecting Local Computers to Windows Azure Roles: http://go.microsoft.com/fwlink/?LinkID=234593 • Windows Azure Traffic Manager: http://go.microsoft.com/fwlink/?LinkID=234594 • Access Control Service 2.0: http://go.microsoft.com/fwlink/?LinkID=234595 • A Guide to Claims-Based Identity and Access Control (2nd Edition): http://msdn.microsoft.com/en-us/library/ff423674.aspx • Service Bus: http://go.microsoft.com/fwlink/?LinkID=234596 • SQL Azure Reporting: http://go.microsoft.com/fwlink/?LinkID=234597 • Windows Azure Marketplace: http://go.microsoft.com/fwlink/?LinkID=234598 • Windows Azure Marketplace: http://go.microsoft.com/fwlink/?LinkID=234599 • Windows Azure Tools: http://www.microsoft.com/windowsazure/tools/ • Learn Windows Azure and SQL Azure: http://www.microsoft.com/windowsazure/tutorials/ • Design. Code. Scale.: http://www.microsoft.com/windowsazure/getstarted/ • Developing Applications for Windows Azure: http://go.microsoft.com/fwlink/?LinkID=234600
  • 42. 15 introduction to windows azure • Windows Azure Training Kit: http://go.microsoft.com/fwlink/?LinkID=234601 • Real World: Startup Lifecycle of a Windows Azure Role: http://go.microsoft.com/fwlink/?LinkID=234602 • Development (SQL Azure Database): http://go.microsoft.com/fwlink/?LinkID=234603 • Windows Azure Assessment/Planning: http://www.microsoft.com/windowsazure/tools/#assessment • API References for Windows Azure: http://msdn.microsoft.com/en-us/library/ff800682.aspx • Windows Azure Service Management REST API Reference: http://msdn.microsoft.com/en-us/library/ee460799.aspx • Monitoring Windows Azure Applications: http://msdn.microsoft.com/en-us/library/gg676009.aspx • Windows Azure PowerShell Cmdlets: http://wappowershell.codeplex.com/ • Collecting Logging Data by Using Windows Azure Diagnostics: http://go.microsoft.com/fwlink/?LinkID=234604 • Troubleshooting and Debugging in Windows Azure: http://go.microsoft.com/fwlink/?LinkID=234605 • Debugging Applications in Windows Azure: http://go.microsoft.com/fwlink/?LinkID=234606 • “Application Life Cycle Management for Windows Azure Applications” in Moving Applications to the Cloud: http://msdn.microsoft.com/en-us/library/ff803362.aspx • Management Portal for SQL Azure: http://go.microsoft.com/fwlink/?LinkID=234607 • Windows Azure Tools: http://www.microsoft.com/windowsazure/tools/#sqlazure • Management REST API Reference: http://go.microsoft.com/fwlink/?LinkID=234608 • How to Deploy a Service Upgrade to Production by Swapping VIPs in Windows Azure: http://go.microsoft.com/fwlink/?LinkID=234609 • How to Perform In-Place Upgrades on a Hosted Service in Windows Azure: http://go.microsoft.com/fwlink/?LinkID=234610 • Microsoft Online Services: https://mocp.microsoftonline.com/
  • 43. 16 chapter one • “What are the Billing Basics of Windows Azure?” in “Windows Azure Platform” http://go.microsoft.com/fwlink/?LinkID=234611 • Accounts and Billing in SQL Azure: http://go.microsoft.com/fwlink/?LinkID=234612 • Subscription overview for the various purchasing models: http://www.microsoft.com/windowsazure/pricing/ • Pricing calculator: http://www.microsoft.com/windowsazure/pricing-calculator/ • TCO calculator: http://www.microsoft.com/windowsazure/offers/#tcoCompare-LB • “How Much Will It Cost?” in Moving Applications to the Cloud: http://msdn.microsoft.com/en-us/library/ff803375.aspx • Moving Applications to the Cloud, 2nd Edition: http://msdn.microsoft.com/en-us/library/ff728592.aspx To access web resources more easily, see the online version of the bibliography on MSDN: http://msdn.microsoft.com/en-us/library/hh749032(v=PandP.50).aspx
  • 44. 17 2 Introduction to Enterprise Library Integration Pack for Windows Azure The Microsoft® Enterprise Library Integration Pack for Windows Azure extends Enterprise Library to include support for Windows Azure™ technology platform applications. It includes additional ap- plication blocks to meet the requirements of cloud-hosted applica- tions. What Is Enterprise Library? Enterprise Library provides many highly configurable features that make it much easier for you to manage the repetitive tasks, known as crosscutting concerns, which occur in many places in your applica- tions. These tasks include logging, validation, caching, exception management, and more. In addition, the dependency injection con- tainer provided by Enterprise Library can help you to simplify and decouple your designs, make them more testable and understandable, and help you to produce more efficient designs and implementations of all kinds of applications. Enterprise Library consists of a collection of application blocks and a core infrastructure. All of these are reusable software compo- nents designed to assist developers with common enterprise develop- ment challenges. Each application block is designed to address a spe- cific set of concerns. For example, the Logging Application Block simplifies the implementation of common logging functions in your application and enables you to write logging information to a variety of locations; the Data Access Application Block simplifies the devel- opment of common data access tasks such as reading data for display in a UI or submitting changed data back to the underlying database system.
  • 45. 18 chapter two As shown in Figure 1, the application blocks in Enterprise Library are: • The Caching Application Block. You can use this application block to incorporate a local cache into your applications. • The Cryptography Application Block. This application block can be used to incorporate hashing and symmetric encryption into your applications. • The Data Access Application Block. Use this application block to incorporate standard database functionality into your applica- tions. • The Exception Handling Application Block. Developers and policy makers can use this application block to create a consistent strategy for processing exceptions that occur throughout the architectural layers of enterprise applications. • The Logging Application Block. Developers can use this applica- tion block to include standard logging functionality in their applications and systems administrators can use the configura- tion tool to adjust the granularity of logging at run time. • The Policy Injection Application Block. This block contains legacy code for backwards compatibility with existing applications. The new functionality is available by using the Unity interception mechanism and call handlers located in the related application block assemblies. • The Security Application Block. Developers can use this applica- tion block to incorporate authorization and security caching functionality into their applications. • The Validation Application Block. Developers can use this applica- tion block to create validation rules for business objects that can be used across different layers of their applications. • Unity Dependency Injection and Interception. Developers can use these techniques to implement a lightweight, extensible depen- dency injection container with support for constructor, prop- erty, and method call injection, and to capture calls to target objects and add additional functionality to the object.
  • 46. 19 introduction to enterprise library integration pack for windows azure figure 1 Enterprise Library components Enterprise Library is configuration-driven and supports both pro- grammatic and external configuration. As well as the application blocks, Enterprise Library contains configuration tools, plus a set of core functions that manage tasks applicable to all of the blocks. The goals of Enterprise Library are the following: • Consistency. All Enterprise Library application blocks feature consistent design patterns and implementation approaches. • Extensibility. All application blocks include defined extensibility points that allow developers to customize the behavior of the blocks by adding their own code. • Ease of use. Enterprise Library offers numerous usability benefits, including a graphical configuration tool, a simple installation procedure, and clear and complete documentation and samples. • Integration. Enterprise Library application blocks are designed to work well together and are tested to make sure that they do. However, you do not have to use them together. To learn more about Enterprise Library and the application blocks, visit the main Enterprise Library site on MSDN® at Enterprise Library 5.0 – May 2011.
  • 47. 20 chapter two What Is the Enterprise Library Integration Pack for Windows Azure? The Enterprise Library Integration Pack for Windows Azure extends Enterprise Library 5.0 to add additional support for developing and managing Windows Azure applications. It shares the same benefits as the Enterprise Library and helps developers achieve the same goals. The Enterprise Library Integration Pack for Windows Azure in- cludes: • The Autoscaling Application Block to help you to automatically scale your Windows Azure applications. • The Transient Fault Handling Application Block to help you make your Windows Azure applications more resilient when they encounter transient fault conditions. • The Blob configuration source to store your Enterprise Library configuration in Azure blob storage. • A protected configuration provider. • Windows PowerShell® command line interface cmdlets to manipulate the Autoscaling Application Block. • Updated database creation scripts (for the Logging Application Block and Caching Application Block) to use SQL Azure™ technology platform. • Reference documentation. • A developer’s guide. • A reference implementation that illustrates the use of the new application blocks. The Enterprise Library Integration Pack for Windows Azure is one of several existing and planned integration packs for Enterprise Library. For more information about Enterprise Library, see Microsoft Enterprise Library 5.0 – May 2011 and the Developer’s Guide. For more information about the Silverlight Integration Pack for use with Microsoft Silverlight® browser plug-in applications, see Enterprise Library 5.0 Silverlight Integration Pack.
  • 48. 21 introduction to enterprise library integration pack for windows azure More Information For more information about the Enterprise Library application blocks, see the following resources on MSDN: • Microsoft Enterprise Library 5.0 – May 2011: http://msdn.microsoft.com/en-us/library/ff632023.aspx • Developer’s Guide: http://msdn.microsoft.com/en-us/library/ff953181(v=PandP.50). aspx • Enterprise Library 5.0 Silverlight Integration Pack: http://entlib.codeplex.com/wikipage?title=EntLib5Silverlight • The Caching Application Block: http://msdn.microsoft.com/en-gb/library/ff664753(PandP.50).aspx • The Cryptography Application Block: http://msdn.microsoft.com/en-gb/library/ff664484(PandP.50).aspx • The Data Access Application Block: http://msdn.microsoft.com/en-gb/library/ff664408(PandP.50).aspx • The Exception Handling Application Block: http://msdn.microsoft.com/en-gb/library/ff664698(PandP.50).aspx • The Logging Application Block: http://msdn.microsoft.com/en-gb/library/ff664569(PandP.50).aspx • The Policy Injection Application Block: http://msdn.microsoft.com/en-gb/library/ff664572(PandP.50).aspx • The Security Application Block: http://msdn.microsoft.com/en-gb/library/ff664771(PandP.50).aspx • The Validation Application Block: http://msdn.microsoft.com/en-gb/library/ff664356(PandP.50).aspx • Unity Dependency Injection and Interception: http://msdn.microsoft.com/unity For more information about the Autoscaling Application Block, see “The Autoscaling Application Block” on MSDN: http://msdn.microsoft.com/en-us/library/hh680892(v=PandP.50).aspx For more information about the Transient Fault Handling Applica- tion Block, see “The Transient Fault Handling Application Block” on MSDN: http://msdn.microsoft.com/en-us/library/hh680934(v=PandP.50).aspx To access web resources more easily, see the online version of the bibliography on MSDN: http://msdn.microsoft.com/en-us/library/hh749032(v=PandP.50).aspx
  • 50. 23 3 The Tailspin Scenario This chapter introduces a fictitious company named Tailspin. It de- scribes Tailspin’s plan to use Microsoft Enterprise Library to further develop its flagship online service named Surveys. Surveys is a cloud- based service, hosted on the Windows Azure™ technology platform, that enables other companies or individuals to conduct their own online surveys and analyze the results. As with any company planning to update one of its key applications, there are many issues to con- sider and challenges to meet, particularly because this is the first time the developers at Tailspin have used Enterprise Library. The chapters that follow this one describe the benefits to Tailspin of using Enter- prise Library and show, step by step, how Tailspin modified and re- architected the Surveys application to use Enterprise Library. The Tailspin Company Tailspin is a startup ISV company of approximately 20 employees that specializes in developing cloud solutions using Microsoft® technolo- gies. The developers at Tailspin are knowledgeable about various Mi- crosoft products and technologies, including Windows Azure, the .NET Framework, ASP.NET MVC, SQL Server®, and Microsoft Visual Studio® development system. These developers are aware of the ca- pabilities of Enterprise Library, but have not yet incorporated it into any of their cloud-based applications. The Surveys application was the first of several innovative online services that Tailspin took to market. As a startup, Tailspin decided to specialize in cloud-hosted solutions in order to minimize its hardware investments and maximize its ability to reach a global audience. Tail- spin hoped that some of these cloud-hosted services would grow rapidly, and the company wanted to have the ability to respond quickly to increasing demand. Similarly, it fully expects some of these cloud-based services to fail, and it does not want to be left with re- dundant hardware on its hands. The Surveys application has been a
  • 51. 24 chapter three major success for Tailspin, with thousands of existing customers around the world, and new customers signing up every day. Tailspin’s Strategy Tailspin is an innovative and agile organization, well placed to exploit new technologies and the business opportunities offered by the cloud. Tailspin’s strategy has been to embrace the cloud and gain a competitive advantage as an early adopter, rapidly gaining some expe- rience, and then quickly expanding on what it has learned. This strat- egy can be described as “try, fail fast, learn, and then try again.” The Surveys application has been a huge commercial success for Tailspin, but its success has revealed some problems with the initial implemen- tation in terms of its flexibility, manageability, and maintainability. The Surveys Application The Surveys application enables Tailspin’s customers to design a sur- vey, publish it, and collect the results for analysis. A survey is a collec- tion of questions, each of which can be one of several types, such as multiple choice, numeric range, or free text. Customers begin by cre- ating a subscription with the Surveys service, which they use to man- age their surveys and to apply branding by using styles and logo im- ages. Customers can also select a geographic location for their account, so that they can host their surveys as close as possible to the survey audience. The Surveys application allows users to try out the application for free, and to sign up for one of several different pack- ages that offer different collections of services for a monthly fee. Figure 1 illustrates the Surveys application and highlights the three different groups of users (customers, Tailspin administrators, and Surveys participants) who interact with it.
  • 52. 25 the tailspin scenario figure 1 The Surveys application Customers who have subscribed to the Surveys service (or who are using a free trial) access the Subscriber website, which enables them to design their own surveys, apply branding and customization, and collect and analyze the survey results. Depending on the package they select, they have access to different levels of functionality within the Surveys application. Tailspin expects its customers to be of various sizes and from all over the world, and customers can select a geographic location for their account and surveys. Tailspin wants to design the service in such a way that most of the administrative and configuration tasks are “self-service” and can be performed by the subscriber with minimal intervention by Tailspin staff. The public website enables the people participating in the survey to complete their responses to the survey questions. The survey cre- ator will let their survey audience know what URL to visit to complete the survey. The Tailspin website enables staff at Tailspin to manage the ap- plication and manage the subscriber accounts. All three websites (Subscriber, Public, and Tailspin) interact with the core services that comprise the Surveys application and provide access to the applica- tion’s data storage. In the world of Software as a Service (SaaS), subscribers are commonly known as “Tenants.” We commonly refer to applications like Tailspin Surveys as “multi-tenant” applications.
  • 53. 26 chapter three Tailspin’s Goals and Concerns Tailspin faces several challenges with the current version of the Sur- veys application. The initial development was done quickly in order to be early to market. This resulted in some compromises during the development process whereby some features were sacrificed, and the design process was tailored to meet tight deadlines, not to optimize maintainability and extensibility. Tailspin sees this next phase in the life of the Surveys application as a consolidation phase that will lay the groundwork for the future development of the application and address the shortcomings of the initial implementation. Here is how the original application works. First, customers create surveys. These might be associated with product launches or market- ing campaigns, or they might be seasonal, perhaps associated with a holiday period. Often, customers who use the survey application set up these surveys with a very short lead time. Surveys usually run for a fixed, short period of time but may have a large number of respon- dents. This means that the Surveys application experiences bursts of usage, and Tailspin has very little warning of when these bursts occur. Tailspin now offers the Surveys application to customers around the world, and because the nature of the Surveys application includes sudden bursts in demand, it must be able to quickly expand or con- tract its infrastructure in different geographical locations. Up until now, Tailspin has relied on a process that requires an operator to manually add and remove role instances based on performance data collected from the application or in anticipation of known or planned events. In order to better serve its increasing number of customers and to control its costs, Tailspin would like to automate the scaling process. The subscriber and public websites also have different scalability requirements. Thousands of users might complete a survey, but only a handful of users from each subscriber will edit existing surveys or create new surveys. Tailspin wants to optimize the resources for each of these scenarios. When problems occur in the Surveys application, Tailspin some- times struggles to resolve them quickly enough to meet its service- level agreements (SLA). Tailspin wants to be able to respond to issues and problems with the Surveys application more effectively by having better diagnostics data that is easily accessible. Resource elasticity and geo-distribution are key properties of the Windows Azure platform.
  • 54. 27 the tailspin scenario Tailspin wants to be able to maintain its competitive advantage by rapidly rolling out new features to existing services or gain competi- tive advantage by being first to market with new products and ser- vices. For the Surveys application, Tailspin wants a platform with a clear, consistent architecture that is easy to extend and enhance. The Tailspin business model is to charge subscribers a monthly fee for a service such as the Surveys application and, because of the global market they are operating in, Tailspin wants its prices to be competitive. Tailspin must then pay the actual costs of running the application, so in order to maintain their profit margin Tailspin must tightly control the running costs of the services they offer to their customers. In this scenario, Tailspin’s customers (the subscribers) are not Windows Azure customers. Subscribers pay Tailspin, who in turn pays Microsoft for their use of Windows Azure features. Tailspin wants to ensure that customer’s data is kept safe. For example, a customer’s data must be private to that customer, there must be multiple physical copies of the survey data, and customers should not be able to lose data by accidently deleting a survey. In ad- dition, all existing survey data must be preserved whenever Tailspin updates the application. As the number of subscribers grows, Tailspin wants to improve the resilience of the Surveys application to ensure that it can continue to meet its SLAs. This is particularly important for some of Tailspin’s larger customers. Finally, Tailspin would like to be able to leverage the existing skills of its developers, minimize any retraining necessary to build the Sur- veys application, and make it easy for developers to leverage the ex- perience they have gained working on the Surveys application in Tailspin’s other products. The Surveys Application Architecture To achieve the goals of the Surveys application, Tailspin implemented the application as a cloud-based service using Windows Azure. Figure 2 shows a high-level view of this architecture.
  • 55. Another Random Document on Scribd Without Any Related Topics
  • 56. THE WRONG NICKEL. See GENERAL ELECTRIC'S TRUE. WRONG ODDS. See CORONADO 9. WRONG RECOMMENDATIONS. See BELL SYSTEM SALES DEVELOPMENT COURSE. F-12. THE WRONG ROBBIE. See MY THREE SONS. WRONG ROPE. See PONY EXPRESS. 7121. WRONG USAGE PROSPECTING. See BELL SYSTEM SALES DEVELOPMENT COURSE. F-10. WRONG WAY CORRIGAN LANDS IN DUBLIN, JULY 18, 1938. See ALMANAC NEWSREEL. July 18, 1960. WRONG WAY FELDMAN. See GILLIGAN'S ISLAND.
  • 57. WRONG WAY LANDS IN IRELAND. See GREATEST HEADLINES OF THE CENTURY. WRONG WAY MOOCHIE. See WALT DISNEY PRESENTS. Show no. 2. WRONGO STARR AND THE LADY IN BLACK. See F TROOP. WUTHERING HEIGHTS. McGraw-Hill Book Co. 13 min., sd., color, 16 mm. Produced by McGraw-Hill Text-Films in collaboration with Argyle Enterprises in association with Telemated Motion Pictures. © McGraw-Hill, Inc.; 28Dec67; MP18227. WYATT EARP'S BABY. See THE LIFE AND LEGEND OF WYATT EARP. WYATT FIGHTS. See THE LIFE AND LEGEND OF WYATT EARP. C-24 (96) WYATT RIDES SHOTGUN. See THE LIFE AND LEGEND OF WYATT EARP. C-22 (94) WYATT TAKES THE PRIMROSE PATH. See
  • 58. THE LIFE AND LEGEND OF WYATT EARP. WYATT WINS ONE. See THE LIFE AND LEGEND OF WYATT EARP. WYATT'S BITTEREST ENEMY. See THE LIFE AND LEGEND OF WYATT EARP. WYATT'S BROTHERS. See THE LIFE AND LEGEND OF WYATT EARP. WYATT'S DECISION. See THE LIFE AND LEGEND OF WYATT EARP. THE WYETH PHENOMENON. See WHO, WHAT, WHEN, WHERE, WHY? WYNDHAM'S WAY. See WICHITA TOWN. WYOMING SNAPSHOOT. Paramount Pictures Corp. 19 min., sd., color, 35 mm. Eastman color. © Paramount Pictures Corp.; 1Mar64; LP27974. THE WYOMING STORY. See THE RIFLEMAN. WYOMING, WHERE THE DEER AND THE
  • 60. X X. Alta Vista Productions. Released by American International Pictures. 80 min., sd., color, 35 mm. Pathecolor. Spectarama. © Alta Vista Productions; 18Sep63; LP27745. X EQUALS MURDER. See JOHNNY MIDNIGHT. X-15. Essex Productions. Released by United Artists Corp. 112 min., sd., Technicolor, 35 mm. Panavision. © Essex Productions, Inc.; 21Nov61; LP21773. THE X GAME. See THE DEPUTY. X MARKS THE SPOT. See GILLIGAN'S ISLAND. THE X-RAY STORY. See THE FLINTSTONES. X-27. See
  • 61. MR. GARLUND. XERODERMA PIGMENTOSUM. Institute for Dermatologic Communication & Education. 22 min., sd., color, 16 mm. Produced in cooperation with University of California, University Extension, Continuing Education in Health Sciences. Appl. authors: Marion B. Sulzberger & Roberta Z. Sulzberger. © Institute for Dermatologic Communication & Education; 6Dec67; MP18841.
  • 62. Y THE YACHT CLUB GANG. See CHECKMATE. THE YACHTING PARTY. See HOW TO MARRY A MILLIONAIRE. YACHTSMAN MAGOO. See MISTER MAGOO. THE YADWIN REPORT. See THE BING CROSBY SHOW. YAHOO. See LAREDO. YAK, YAK, YAK. See PETE AND GLADYS. YALE BOWL SEES ARMY VICTOR. See SPORTFOLIO. YALE UNIVERSITY CHEMISTRY FILMS. See
  • 63. CORRELATIONS WITHIN THE PERIODIC TABLE MELTING POINTS. MASS SPECTROMETER. MELTING POINTS—DETERMINATION AND CORRELATION. SINGLE PAN BALANCE. USING THE AIR DAMPENED BALANCE. YALE WINS TIE IN FINAL SECONDS. See SPORTFOLIO. THE YALTA CONFERENCE. Thorne Films. 4 min., si., b&w, 8 mm. (The 8 mm. documents project) NM: compilation. © Thorne Films, Inc.; 22Dec66; MP17244. YAMPA CROSSING. See SUGARFOOT. YANKEE COME HOME. See THE DEFENDERS. YANKEE CONFEDERATE. See DEATH VALLEY DAYS. 607. YANKEE DOLLAR. See
  • 64. TARGET: THE CORRUPTORS. YANKEE DOODLE DANDY. See FAIR EXCHANGE. YANKEE SAILS ACROSS EUROPE. National Geographic Society. Made by Wolper Productions, Inc. 52 min., sd., color, 16 mm. © National Geographic Society; 31Mar67; MP16726. YANKEE SPY. See SHOTGUN SLADE. YANKEE STAY HERE. See THE LLOYD BRIDGES SHOW. YANKEE TORNADO. See BRONCO. YANKS CONQUER ATTU. See GREATEST HEADLINES OF THE CENTURY. YANKS FREED IN KOREA. See GREATEST HEADLINES OF THE CENTURY. YANKS IN VIETNAM. See EYEWITNESS.
  • 65. YANKS OCCUPY TOKYO. See GREATEST HEADLINES OF THE CENTURY. YANKS ON AFRICAN SOIL. See GREATEST HEADLINES OF THE CENTURY. YANKS SMASH ACROSS RHINE. See GREATEST HEADLINES OF THE CENTURY. YANKS STORM AACHEN. See GREATEST HEADLINES OF THE CENTURY. YANKS WIN FIFTH STRAIGHT SERIES. See SPORTFOLIO. YANQUI GO HOME. See THE BARBARA STANWYCK SHOW. WIDE COUNTRY. YARD BIRDS. See LEAVE IT TO BEAVER. YAWKEY. See LAWMAN. YE FAITHFUL. Brian Kellman & Charles W. Tamulonis. 9 min., sd., b&w,
  • 66. 8 mm. © Brian Kellman & Charles W. Tamulonis; 21Mar66; MU7683. THE YEAR JOAN CRAWFORD WON THE OSCAR. See SAINTS AND SINNERS. YEAR OF GRACE. See HAWAIIAN EYE. THE YEAR OF THE HORSE. See THE HORSE IN THE GRAY FLANNEL SUIT. THE YEAR OF THE MOUSE. Metro-Goldwyn-Mayer. 6 min., sd., color, 35 mm. (Tom & Jerry cartoon) Metrocolor. © Metro-Goldwyn-Mayer, Inc.; 31Dec65; LP32293. THE YEAR OF THE SESQUICENTENNIAL. See NEW ALBANY 1963—THE YEAR OF THE SESQUICENTENNIAL. THE YEAR THE YANKEES LOST THE PENNANT. See DAMN YANKEES. A YEAR TO LEARN THE LANGUAGE. See IN THE FRENCH STYLE.
  • 67. THE YEARS BETWEEN. Volkswagen of America. Made by Marathon International Productions. 2 reels, sd., color, 16 mm. © Volkswagen of America; 20Jun69; MP19573. THE YEARS OF RECONSTRUCTION: 1865-1877. McGraw-Hill Book Co. 25 min., sd., color, 16 mm. (American history series) Produced by McGraw-Hill Text-Films in collaboration with Project 7 Productions. © McGraw-Hill, Inc.; 31Dec68; MP19106. THE YELLOW BADGE OF COURAGE. See I'M DICKENS, HE'S FENSTER. THE YELLOW BELLY IN THE PURPLE SAGE. See THE RED SKELTON HOUR. THE YELLOW CANARY. Twentieth Century-Fox Film Corp. 93 min., sd., b&w, 35 mm. A Cooga Mooga production. CinemaScope. Based on the novel Evil come, evil go, by Whit Masterson. © Twentieth Century-Fox Film Corp., 9May63; LP26796. THE YELLOW DOG. See MANHUNT. YELLOW HAIRED KID. See
  • 68. WILD BILL HICKOK. YELLOW RIVER. See MAVERICK. THE YELLOW ROLLS-ROYCE. Metro-Goldwyn-Mayer. 121 min., sd., color, 35 mm. Metrocolor. Panavision. © Metro-Goldwyn-Mayer, Inc.; 31Dec64; LP29638. THE YELLOW SCARF AFFAIR. See THE MAN FROM U.N.C.L.E. YELLOW SUBMARINE. Apple Films [London] Released by United Artists Corp. 85 min., sd., color, 35 mm. A King Features production. From an original story by Lee Minoff; based on a song by John Lennon & Paul McCartney. © Hearst Corp., King Feature Syndicate Division, & Subafilms, Ltd.; 18Jul68; LP36362. YELLOW TERROR. See COLT .45. YELLOWSTONE CUBS. Walt Disney Productions. Released by Buena Vista Distribution Co. 48 min., sd., color, 35 mm. Technicolor. © Walt Disney Productions; 16May63; LP25497. YELLOWSTONE KELLY. Warner Bros. Pictures.
  • 69. 91 min., sd., Technicolor, 35 mm. From the book by Clay Fisher. © Warner Bros. Pictures, Inc.; 5Sep59; LP17058. YEMEN: THE ARABS' OWN WAR. See EYEWITNESS. YES, GALEN, THERE IS A HERMAN. See THE MUNSTERS. YESTERDAY'S HERO. See SURFSIDE 6. YESTERDAY'S TIMEPIECE. See THE VIRGINIAN. YO HO HO AND A BOTTLE OF DUMB. See THE RED SKELTON HOUR. THE YO-HO-HO AND A BOTTLE OF RUM AFFAIR. See THE MAN FROM U.N.C.L.E. YO YO A GO GO. Hal Seeger. 5 min., si., b&w, 16 mm. (Batfink, no. 62) © Hal Seeger; 14Jun67; LU3514. YOCHIMS CHRISTMAS. See
  • 70. LASSIE. YOGI BEAR/YOGI BEAR'S. For titles beginning with Yogi Bear or Yogi Bear's See HUCKLEBERRY HOUND SHOW. THE YOKE'S ON YOU. See DEPUTY DAWG. No. 657. YONDER MAN. See BONANZA. YOO HOO! I'M A BIRD. United Air Lines. Made by Summit Films. 28 min., sd., color, 16 mm. © United Air Lines, Inc.; 1Oct66; MP16687. YOSEMITE SAM. See HONEY'S MONEY. SHISHKABUGS. YOU AIN'T NUTHIN' BUT A HOUN' DOG. See THE MANY LOVES OF DOBIE GILLIS. YOU AND OFFICE SAFETY. Xerox Corp. Made by Holland-Wegman Productions, division of Niagara Frontier Services. 8 min., sd., color, 16 mm. © Xerox Corp.; 27Dec68; MP19778.
  • 71. YOU AND THE BANK ROBBER. Highway Safety Foundation. 19 min., sd., color, 16 mm. © Highway Safety Foundation; 23Dec64; MP15063. YOU AND THE DRIVOTRAINER SYSTEM. Aetna Life Insurance Co. 20 min., sd., color, 16 mm. (The new Aetna drivotrainer film series) Eastman color. © Aetna Life Insurance Co.; 2Jan64; MP14331. YOU ARE A RETAILER. Sinclair Refining Co. Made by Jam Handy Organization. 18 min., sd., color, 16 mm. Ektachrome. © Jam Handy Organization, Inc.; 8Apr63; MU7307. YOU ARE A TEAM. Sinclair Refining Co. Made by Jam Handy Organization. 17 min., sd., color, 16 mm. Ektachrome. © Sinclair Refining Co.; 14May64; LU3331. YOU ARE HERE. See OUT OF THE INKWELL. YOU ARE IMPORTANT. Sinclair Refining Co. Made by Jam Handy Organization. 13 min., sd., color, 16 mm. Ektachrome. © Sinclair Refining Co.; 8May64; LU3327. YOU ARE THE LIFEGUARD. Aetna Life Affiliated Companies. 10 min., sd., color, 16 mm. Produced in cooperation with American National Red Cross.
  • 72. © Aetna Life Affiliated Companies; 28Mar62; MP12289. YOU AUTO BE IN PICTURES. Hal Seeger Productions. 6 min., sd., color, 35 mm. (Muggy Doo, no. 2) Eastman color. © Hal Seeger Productions, Inc.; 15Jan65; LU3348. YOU BE THE DOCTOR. Chevrolet Motor Division. Made by Jam Handy Organization. 16 min., sd., color, 16 mm. Ektachrome. © Chevrolet Motor Division, General Motors Corp.; 12Jan66; MU7667. YOU BECOME AN ASTRONAUT. H. D. Shattuck. 4 min., si., b&w, 16 mm. © Harold Darlington Shattuck; 6Jul62; MP12584. YOU BET YOUR LIFE. General Tire & Rubber Co. Made by Jam Handy Organization. 8 min., sd., color, 16 mm. © General Tire & Rubber Co.; 18May67; MU7820. YOU CAN BE A DOCTOR. International Afro-American Museum. 15 min., sd., color, 16 mm. Presented by McGraw-Hill Text-Films. © International Afro-American Museum, Inc.; 8Jan69; MP19219. YOU CAN FIGHT CITY HALL. See THE DANNY THOMAS SHOW.
  • 73. HARRIGAN AND SON. WENDY AND ME. YOU CAN'T ALWAYS BE A HERO. See THE REAL MCCOYS. 36. YOU CAN'T BE A LITTLE GIRL ALL YOUR LIFE. See ALFRED HITCHCOCK PRESENTS. YOU CAN'T BEAT THE ARMY. See THE REAL MCCOYS. YOU CAN'T BEAT THE PERCENTAGE. See MAVERICK. YOU CAN'T BEAT THE SYSTEM. See EAST SIDE/WEST SIDE. YOU CAN'T CHEAT AN HONEST MAN. See THE REAL MCCOYS. 6. YOU CAN'T FIGHT CITY HALL. See THE LIFE AND LEGEND OF WYATT EARP. THE ROARING 20'S.
  • 74. YOU CAN'T GO HOME AGAIN. See GUESTWARD HO. YOU CAN'T PICK THE NUMBER. See THE UNTOUCHABLES. NO. 5118-5. YOU CAN'T RAISE CHILDREN BY THE BOOK. See WOMAN! YOU CAN'T TRUST A MAN. See ALFRED HITCHCOCK PRESENTS. YOU CAN'T WIN 'EM ALL. See SCHLITZ-LUX PLAYHOUSE. YOU CHALLENGE ME TO A WHAT? See THE MOTHERS-IN-LAW. No. 12. YOU COULD DIE LAUGHING. See THE NURSES. YOU DON'T HAVE TO POLISH A SUBWAY. See FAIR EXCHANGE. YOU DON'T LIVE HERE. See GEORGE SANDERS MYSTERY THEATRE. 4.
  • 75. YOU DRIVE. See TWILIGHT ZONE. YOU FISH OR YOU CUT BAIT. See BEN CASEY. YOU GO YOUR WAY. See DENNIS THE MENACE. YOU GOTTA BE MISERABLE TO BE HAPPY. See THE DANNY THOMAS SHOW. No. 26-D (146). YOU GOTTA HAVE HEART. See THE BILL DANA SHOW. YOU HAVE THE KEY. Chevrolet Motor Division. Made by Jam Handy Organization. 21 min., sd., color, 16 mm. Ektachrome. © Chevrolet Motor Division, General Motors Corp.; 18Feb65; MU7548. YOU HAVE TO KNOW SOMEONE TO BE UNKNOWN. See THAT GIRL. No. 26. YOU HAVE TO RUN FAST. Harvard Film Corp. Released by United Artists Corp. 71 min., sd., b&w, 35 mm.
  • 76. © Harvard Film Corp.; 20Jul61; LP20544. YOU LIKE BUFFY BETTER. See FAMILY AFFAIR. YOU MUST BE JOKING. Ameran Films. Released by Columbia Pictures Corp. 100 min., sd., b&w, 35 mm. From a story by Alan Hackney & Michael Winner. © Ameran Films, Ltd.; 1Sep65; LP31986. YOU NEVER HAD IT SO GOOD. See ROUTE 66. YOU ONLY DIE ONCE. See THE DETECTIVES. YOU ONLY LIVE TWICE. Danjaq, S.A. Released by United Artists. 117 min., sd., color, 35mm. Panavision. Based on the novel by Ian Fleming. © Danjaq, S.A.; 13Jun67; LP34526. YOU SAW A WHAT? See MY THREE SONS. YOU SHOULD MEET MY SISTER. See AWARD THEATRE.
  • 77. YOU TAKE THE HIGH ROAD. See THE VIRGINIAN. YOU WANNA KNOW WHAT REALLY GOES ON IN A HOSPITAL? See BEN CASEY. YOU'LL BE THE DEATH OF ME. See ALFRED HITCHCOCK HOUR. YOU'LL FIND IT IN THE LIBRARY. Coronet Instructional Films. 13 min., sd., b&w, 16 mm. © Coronet Instructional Films, division of Esquire, Inc.; 2Nov66; MP16534. THE YOUNG AMBASSADORS. Volkswagen of America. Made by Marathon International Productions. 14 min., sd., color, 16 mm. © Marathon International Productions, Inc.; 13Feb67 (in notice: 1966); MP16554. THE YOUNG AMERICANS. Young Americans. Released by Columbia Pictures Corp. 104 min., sd., color, 35 mm. © Young Americans; 1Nov67; LP34868. YOUNG AND IN LOVE. See THE FARMER'S DAUGHTER. THE YOUNG AND THE BRAVE. A. C. Lyles
  • 78. Productions. Released by Metro-Goldwyn-Mayer. 84 min., sd., b&w, 35 mm. Story by Ronald Davidson & Harry M. Slott. © Metro-Goldwyn-Mayer, Inc. & A. C. Lyles Productions, Inc.; 6Mar63; LP24117. THE YOUNG AND THE WILLING (Young and willing) Rank Organisation Film Productions. Released by Universal Pictures Co. 113 min., sd., b&w, 35 mm. From the play The tinker, by Laurence Dobie & Robert Sloman. © Rank Organisation Film Productions, Ltd.; 6Jun63; LP33835. THE YOUNG ANIMALS. American International Pictures. 96 min., sd., color, 35 mm. © American International Pictures; 18Sep68; LP36435. THE YOUNG ASSASSINS. See PETER GUNN. YOUNG AT HEART. See KAREN. YOUNG BILLY YOUNG. Talbot-Youngstein Productions. Released by United Artists Corp. 88 min., sd., color, 35 mm. Based on Who rides with Wyatt, by Will Henry. © Talbot-Youngstein Productions; 9Sep69; LP37274.
  • 79. YOUNG BLOOD. See CISCO KID. THE HIGH CHAPARRAL. YOUNG CASSIDY. Sextant Films. Released by Metro-Goldwyn-Mayer. 110 min., sd., color, 35 mm. Metrocolor. Based on Mirror in my house, the autobiography of Sean O'Casey. © Sextant Films, Ltd.; 11Jan65; LP29819. THE YOUNG CONSPIRATOR. See MARKHAM. YOUNG COUPLE. See LESTARE. 713A. YOUNG DILLINGER. Zimbalist Co. Released by Allied Artists Pictures Corp. 102 min., sd., b&w, 35 mm. © Zimbalist Co., Inc.; 1Mar65; LP31458. THE YOUNG DOCTORS. Drexel Films Corp. & Millar-Turman Productions. Released by United Artists Corp. 102 min., sd., b&w, 35 mm. Based upon a novel by Arthur Hailey. © Drexel Films Corp. & Millar-Turman Productions, Inc.; 24Aug61; LP21040. YOUNG FANS. See
  • 80. I LOVE LUCY. THE YOUNG FUGITIVES. See CHEYENNE. YOUNG FURY. A. C. Lyles Productions. Released by Paramount Pictures Corp. 80 min., sd., color, 35 mm. Technicolor. Techniscope. © Paramount Pictures Corp. & A. C. Lyles Productions, Inc.; 31Dec64; LP29817. THE YOUNG GIRLS OF ROCHEFORT. Parc Film-Madeleine Films. Released by Warner Bros.-Seven Arts. 126 min., sd., color, 35 mm. © Parc Film-Madeleine Films; 1Dec67; LP35743. YOUNG GUN. See COLT .45. DEATH VALLEY DAYS. 617. YOUNG GUNS OF TEXAS. Twentieth Century-Fox Film Corp. 78 min., sd., color, 35 mm. Color by DeLuxe. CinemaScope. © Twentieth Century-Fox Film Corp.; 2Dec62; LP23851. YOUNG JESSE JAMES. Associated Producers. Released by Twentieth Century-Fox Film Corp. 62 min., sd., b&w, 35 mm. CinemaScope. © Twentieth
  • 81. Century-Fox Film Corp.; 27Jul60; LP17062. YOUNG JIM HARDIE. See TALES OF WELLS FARGO. THE YOUNG JUGGLER. Curtleigh Productions. 53 min., sd., b&w, 16 mm. (Ford startime) © Curtleigh Productions, Inc.; 29Mar60; LP22863. THE YOUNG LONER. See WALT DISNEY'S WONDERFUL WORLD OF COLOR. THE YOUNG LOVERS. Metro-Goldwyn-Mayer. 108 min., sd., b&w, 35 mm. Based on a novel by Julian Halevy. © Tigertail Productions, Inc.; 23Jun64; LP28748. THE YOUNG LOVERS. See THE DEFENDERS. THE YOUNG MAN FROM BOSTON. American Broadcasting-Paramount Theatres. 54 min., sd., b&w, 16 mm. A Circle Seven production. © American Broadcasting-Paramount Theatres, Inc.; 30Apr65; MP16722. YOUNG MAN WITH A SHOEHORN. See THE DICK VAN DYKE SHOW.
  • 82. A YOUNG MAN'S FANCY. See FAIR EXCHANGE. THE JOEY BISHOP SHOW. LIFE OF RILEY. THE RIFLEMAN. THE TWILIGHT ZONE. YOUNG MAN'S WORLD. See HARRIGAN AND SON. THE YOUNG MARAUDERS. See THE BIG VALLEY. YOUNG MR. EISENHOWER. See CBS NEWS SPECIAL. YOUNG PERFORMERS 1960-64. See NEW YORK PHILHARMONIC YOUNG PEOPLE'S CONCERTS. THE YOUNG PHILADELPHIANS. Warner Bros. Pictures. 136 min., sd., b&w, 35 mm. From the novel The Philadelphian by Richard Powell. © Warner Bros. Pictures, Inc.; 30May59; LP16498. THE YOUNG RACERS. Alta Vista Productions. Released by American International
  • 83. Pictures. 82 min., sd., color, 35 mm. Eastman color. © Alta Vista Productions; 22May63; LP26001. THE YOUNG RUNAWAYS. Four Leaf Productions. Released by Metro-Goldwyn-Mayer. 92 min., sd., color, 35 mm. © Metro-Goldwyn-Mayer, Inc. & Four Leaf Productions, Inc.; 12Aug68; LP36032. THE YOUNG SAVAGES. Contemporary Productions. Released by United Artists Corp. 100 min., sd., b&w, 35 mm. Based on the novel A matter of conviction, by Evan Hunter. © Contemporary Productions, Inc.; 23May61 (in notice: 1960); LP20319. THE YOUNG SWINGERS. Associated Producers. Released by Twentieth Century-Fox Film Corp. 70 min., sd., b&w, 35 mm. © Twentieth Century-Fox Film Corp.; 19Sep63; LP26776. THE YOUNG, THE EVIL AND THE SAVAGE. Super International Pictures & B.G.A. Released by American International Pictures. 82 min., sd., color, 35 mm. © American International Pictures; 14Aug68 (in notice: 1967); LP36044. THE YOUNG TOUGHS. See LAWMAN.
  • 84. THE YOUNG WARRIORS. Universal Pictures. 93 min., sd., color, 35 mm. Panavision. Based on Richard Matheson's novel. Appl. author: Universal Pictures, division of Universal City Studios. © Universal Pictures; 3Jun67 (in notice: 1966); LP36896. YOUNG WITNESS. See WILD BILL HICKOK. YOUNGBLOOD HAWKE. Warner Bros. Pictures. 137 min., sd., b&w, 35 mm. From the novel by Herman Wouk. © Warner Bros. Pictures, Inc.; 28Nov64 (in notice: 1963); LP32356. THE YOUNGER BROTHER. See LEAVE IT TO BEAVER. YOUNGER THAN AUTUMN. See THE ED WYNN SHOW. 7. THE YOUNGEST. See LAWMAN. YOUR BODY AND ITS PARTS. Encyclopaedia Britannica Films. 12 min., sd., color, 16 mm. (Basic life science, unit: Your health) Eastman color. © Encyclopaedia Britannica Films, Inc.;
  • 85. 15Sep64; MP14596. YOUR BODY GROWS. Coronet Instructional Films. 11 min., sd., b&w, 16 mm. © Coronet Instructional Films, a division of Esquire, Inc.; 11Aug67; MP17416. YOUR BODY REPAIRS AND MAINTAINS ITSELF. Coronet Instructional Films. 10 min., sd., b&w, 16 mm. © Coronet Instructional Films, a division of Esquire, Inc.; 12Oct66; MP16354. YOUR CHEATIN' HEART. Four Leaf Productions. Released by Metro-Goldwyn-Mayer. 98 min., sd., b&w, 35 mm. Panavision. © Metro-Goldwyn-Mayer, Inc. and Four Leaf Productions, Inc.; 30Jul64; LP28885. YOUR COMMUNICATION SKILLS: LISTENING. Coronet Instructional Films. 10 min., sd., b&w, 16 mm. © Coronet Instructional Films, a division of Esquire, Inc.; 4Sep69; MP19845. YOUR COMMUNICATION SKILLS: READING. Coronet Instructional Films. 11 min., sd., b&w, 16 mm. © Coronet Instructional Films, a division of Esquire, Inc.; 3Sep69; MP19857. YOUR COMMUNICATION SKILLS: SPEAKING. Coronet Instructional Films. 10 min., sd., b&w, 16 mm. © Coronet Instructional
  • 86. Welcome to our website – the perfect destination for book lovers and knowledge seekers. We believe that every book holds a new world, offering opportunities for learning, discovery, and personal growth. That’s why we are dedicated to bringing you a diverse collection of books, ranging from classic literature and specialized publications to self-development guides and children's books. More than just a book-buying platform, we strive to be a bridge connecting you with timeless cultural and intellectual values. With an elegant, user-friendly interface and a smart search system, you can quickly find the books that best suit your interests. Additionally, our special promotions and home delivery services help you save time and fully enjoy the joy of reading. Join us on a journey of knowledge exploration, passion nurturing, and personal growth every day! ebookbell.com