Cloud Computing with the Windows Azure Platform


Cloud-based applications make it easier to share data, and the Azure Platform moves processing and storage from individual corporate servers and websites to large Microsoft data centers. With this book, Roger Jennings offers you an overview of cloud computing and shares his approach for hands-on programming of Windows Azure Storage Services (tables, blobs, and queues) and web, worker, and .NET Services applications. You'll learn how to program with Azure components, while online...

See more details below
Other sellers (Paperback)
  • All (29) from $1.99   
  • New (14) from $4.80   
  • Used (15) from $1.99   


Cloud-based applications make it easier to share data, and the Azure Platform moves processing and storage from individual corporate servers and websites to large Microsoft data centers. With this book, Roger Jennings offers you an overview of cloud computing and shares his approach for hands-on programming of Windows Azure Storage Services (tables, blobs, and queues) and web, worker, and .NET Services applications. You'll learn how to program with Azure components, while online chapters cover new SQL Azure Database and Workflow features.

Address various issues you may encounter when moving from on-premise to cloud-based applications (such as security, privacy, regulatory compliance, and backup and recovery)

Shows how to adapt ASP.NET authentication and role management to Azure Web roles

Reveals the benefits of offloading computing Services to one or more Worker Roles when moving to windows Azure

Teaches you how to choose the optimum combination of Partition Key and Row Key values for sharding Azure tables

Discussion ways to improve the scalability and performance of Azure tables

Read More Show Less

Product Details

  • ISBN-13: 9780470506387
  • Publisher: Wiley
  • Publication date: 10/5/2009
  • Edition number: 1
  • Pages: 360
  • Product dimensions: 7.40 (w) x 9.20 (h) x 0.90 (d)

Table of Contents

Introduction xxi

Part I Introducing the Windows Azure Platform

Chapter 1 Surveying the Role of Cloud Computing 3

Why Migrate Applications and Services to the Cloud? 7

Cloud Computing's Ancestry 7

Diskless Workstations and Thin Clients 7

Web TV and Its Clones or Descendants 8

Netbook Clients 9

Application Service Providers and Software as a Service 10

Web Hosting Services 10

Cloud Computing and Everything as a Service 11

Cloud Computing Ontologies 14

Cloud Computing Concerns 16

Summary 18

Chapter 2 Understanding Windows Azure Platform Architecture 19

The Windows Azure Developer Portal 21

Creating and Running Projects in the Azure Development Platform 23

Installing Windows Azure SDK and Tools for Visual Studio 24

Installing and Building the Windows Azure SDK Sample Applications 24

The Development Fabric 25

Development Storage 27

Using Azure Application Templates for Visual Studio 2008 35

Web Cloud Services and Client Wrapper Class Libraries 37

Taking Advantage of Auxiliary Cloud Services 38

.NET Services 38

.SQL Services 40

Deploying Applications and Services to the Azure Cloud 42

Azure Storage Services 42

Publishing Projects to the Azure Services Developer Portal 42

Publishing the Project to the Cloud Fabric 44

Summary 47

Chapter 3 Analyzing the Windows Azure Operating System 49

A Quick Tour of the Windows Azure OS 49

The Lifecycle of a Windows Azure Service 51

Creating the Host VM and the First Guest VM on a Physical Server 53

Adding Guest VMs to a Host VM 53

Maintaining Role Instance Health 53

Upgrading Service Software and Windows Azure 54

Securing and Isolating Services and Data 54

Reliance on Cloud-ComputingVendors' Security Claims 55

Isolating Private Data of Multiple Tenants 56

Assuring Fabric Controller Availability 57

Virtualizing Windows Servers for Azure 58

Deploying the Azure Hypervisor in Non-Microsoft Data Centers 59

Summary 60

Chapter 4 Scaling Azure Table and Blob Storage 63

Creating Storage Accounts 64

Create the First Storage Account with a Hosted Service Token 64

Create an Additional Storage Account with a Hosted Service Token 66

Using or Wrapping the Azure Storage Services' REST APIs 67

Using Fiddler2 to Display HTTP Request and Response Headers and Content 68

C# Wrappers for RESTful Storage and Authentication Operations 70

Understanding Azure Table Storage 72

Creating a New Table If the Table Doesn't Exist with Code 72

Creating a New Table If the Table Doesn't Exist with the HTTP POST Method 79

Adding Entities to a Table 80

Querying for a Specific Entity or Entities 85

Updating Entities by Replacing Their Property Values 90

Deleting Entities 93

Storing and Retrieving Blobs 94

Blob Content Types 95

The StorageClient Class Library's Blob Storage and REST Blob Storage Classes 97

Obtaining a File from Windows Live SkyDrive and Uploading It to Azure Blob Storage Code 97

Downloading a Blob File from SkyDrive with the HTTP GET Method 104

Uploading a Blob to Azure Storage Services in 1MB Blocks 106

Downloading a Selected Blob 106

Deleting a Specified Blob 108

Taking Advantage of New Copy Blob and Get Blob List Methods 109

Late Changes to Azure Blobs 110

Summary 111

Part II Taking Advantage of Cloud Services in the Enterprise

Chapter 5 Minimizing Risk When Moving to Azure Cloud Services 115

Bypassing Barriers to Cloud Computing 116

Maximizing Data Availability and Minimizing Security Risks 117

An IT-Related Risk Definition 117

NIST's Idea for Federal Cloud Computing Standards 118

Potential Cloud Computing Deployment by the Department of Defense 119

Gaining and Auditing Regulatory Compliance 119

Implementing Secure Sockets Layer Transmission Encryption for Web Roles 127

Enabling TLS for Azure Data Services 130

Creating a Self-Signed Certificate for the Development Fabric 131

Exporting and Importing the Issuer to the Trusted Root Certificate Authorities List 132

Creating a Test Root Certificate Authority and Using It to Sign a Test Certificate 134

Encrypting Personal Information in Azure Storage Services 135

Encrypting and Decrypting Strings with AES 136

Auditing Conformance to Regulatory and Industry Standards 147

Statement on Auditing Standards No. 70 (SAS 70) 148

The ISO/IEC 27001:2005 Standard 148

Azure's SAS 70 and ISO/IEC 27001:2005 Audits and Certifications 149

Service-Level Agreements and Business Interruption Risk 149

Summary 149

Chapter 6 Authenticating and Authorizing Service Users 151

Taking Advantage of ASP.NET Membership Services 151

ASP.NET Login Controls 152

User Role and Profile Management 152

Adapting ASP.NET Authentication and Role Management to Windows Azure Web Roles 153

Running the Windows Azure SDK's AspProvidersDemo Service Locally 153

Working with the AspProvidersDemoDB Database 157

Exploring Azure-Specific Membership Elements and Attributes in the Web.config File 158

Analyzing the AspProviders Library's Classes 161

The TableStorageMembershipProvider Class 161

The TableStorageRoleProvider Class 162

The TableStorageProfileProvider Class 164

The TableStorageSessionProvider Class 165

Moving the AspProvidersDemo's Data Source to the Cloud 169

Integrating Membership Services with an Azure Service 170

Copying and Integrating Membership?Related Files 170

Customizing the AzureTableTestHarness Project's Default.aspx Page 171

Authenticating Users with Windows Live ID 175

Downloading and Installing the WUD Web Authentication SDK 1.2 175

Installing the Windows Live Tools for Visual Studio 177

Creating and Testing the Initial LivelDSampleCloudService 181

Summary 186

Chapter 7 Optimizing the Scalability and Performance of Azure Tables 187

Assigning Primary Key Values to Entities 187

Choosing Partition Keys 188

Adding Row Keys 190

Handling Associated Entities 190

Taking Advantage of Entity Group Transactions 193

Uploading Table Data 194

Comparing Code for Uploading Data to Individual or Heterogeneous Tables 197

Comparing Performance of Homogeneous and Heterogeneous Table Operations 201

Displaying Data from Heterogeneous Tables in Grids 205

Displaying Parent Entities 205

Displaying Child Entities 207

Summary 208

Chapter 8 Messaging with Azure Queues 209

Creating and Processing Azure Queues and Messages 210

Listing a Storage Account's Queues 211

Issuing HTTP/REST Requests at the Queue Level 212

Working with HTTP/REST at the Message Level 215

Enhancing the Thumbnails.sln Sample Solution 221

Understanding the Interaction between WebRoles and WorkerRoles 222

Analyzing Network Traffic Implications of Polling for Blob Updates 225

Moving to Client-Side Detection of Added Thumbnail Images 229

Enabling Thumbnail Deletion 231

Summary 234

Part III Tackling Advanced Azure Services Techniques

Chapter 9 Authenticating Users with .NET Access Control Services 239

Creating a .NET Services Solution 240

Installing the .NET Services SDK, and Other Tools 242

Creating CardSpace Credentials at 244

Exploring the HTTP Request and Response Messages of the CardSpace Information Card 249

Standardizing Information Card Terminology 257

Using a Managed CardSpace Credential with ACS 259

Setting Up for Use with the Oakleaf-acs Soluction 260

Verifying the Managed CardSpace Card(s) with the EchoService 266

Summary 271

Chapter 10 Interconnecting Services with the .NET Service Bus 273

Creating a .NET Services Solution and Installing Prerequisites 274

Relaying Messages with SB 275

Analyzing the .NET Services SDK's EchoSample Solution 276

Inspecting the Service Project's EchoContract.cs, and Program.cs Files 276

Verifying the Service User's Credentials with Code in Program.cs 278

Consuming the EchoSample Solution's Service 282

Making Services Publicly Discoverable 283

Using the Configuration File to Specify WSHttpRelayBinding 285

Associating a Self-Issued Card Space identity Card with the Current Solution 288

Correcting the Autogenerated Scope for the Solution 290

Specifying Binding Details in App.config 293

Summary 294

Chapter 11 Exploring .NET Service Bus Queues and Routers 295

Persisting Messages in Service Bus Queues 296

Creating SBQs with the QueueManagementClient Class 296

Test-Driving the HttpQueueSample Solution 300

Spelunking the HttpQueueSample Solution's Code 302

Delivering Messages with Service Bus Routers 306

Summary 311

Part IV Working with SQL Azure Services (Online Only)

Chapter 12 Managing SQL Azure Accounts, Databases, and DataHubs

Chapter 13 Exploiting SQL Azure Database's Relational Features

Index 313

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)