contents
preface xix
acknowledgments xxi
about this book xxiv
author online xxvi
about the authors xxvii
about the cover illustration xxix
 
Part 1 Welcome to the cloud
- 1 Getting to know Windows Azure
- 1.1 What’s the Windows Azure platform?
- 1.2 Building your first Windows Azure web application
- 1.3 Putting all the Azure pieces together
- 1.4 Storing data in the cloud with Azure
- 1.5 Why run in the cloud?
- 1.6 Inside the Windows Azure platform
- 1.7 Summary
- 2 Your first steps with a web role
- 2.1 Getting around the Azure SDK
- 2.2 Taking Hello World to the next level
- 2.3 Deploying with the Azure portal
- 2.4 Summary
Part 2 Understanding the Azure service model
- 3 How Windows Azure works
- 3.1 The big shift
- 3.2 Windows Azure, an operating system for the cloud
- 3.3 The Fabric Controller
- 3.4 The service model and you
- 3.5 It’s not my fault
- 3.6 Rolling out new code
- 3.7 The bare metal
- 3.8 The innards of the web role VM
- 3.9 Summary
- 4 It’s time to run with the service
- 4.1 Using the Windows Azure Service Management API
- 4.2 Defining your service
- 4.3 Setting up certificates in Windows Azure
- 4.4 Summary
- 5 Configuring your service
- 5.1 Working with the service configuration file
- 5.2 Handling configuration at runtime
- 5.3 Configuring non-application settings
- 5.4 Developing a common code base
- 5.5 The RoleEnvironment class and callbacks
- 5.6 Summary
Part 3 Running your site with web roles
- 6 Scaling web roles
- 6.1 What happens to your web server under extreme load?
- 6.2 How the load balancer distributes requests
- 6.3 Session management
- 6.4 Cache management
- 6.5 Summary
- 7 Running full-trust, native, and other code
- 7.1 Enabling full-trust support
- 7.2 FastCGI in Windows Azure
- 7.3 External processes in Windows Azure
- 7.4 Calling native libraries with P/Invoke
- 7.5 Summary
Part 4 Working with BLOB storage
- 8 The basics of BLOBs
- 8.1 Storing files in a scaled-out fashion is a pain in the NAS
- 8.2 A closer look at the BLOB storage service
- 8.3 Getting started with development storage
- 8.4 Developing against containers
- 8.5 Configuring your application to work against the live service
- 8.6 Summary
- 9 Uploading and downloading BLOBs
- 9.1 Using the REST API
- 9.2 Managing BLOBs using the StorageClient library
- 9.3 Downloading BLOBs
- 9.4 Integrating BLOBs with your ASP.NET websites
- 9.5 Using local storage with BLOB storage
- 9.6 Copying BLOBs
- 9.7 Setting shared access permissions
- 9.8 Summary
- 10 When the BLOB stands alone
- 10.1 Hosting static HTML websites
- 10.2 Hosting Silverlight applications in BLOB storage
- 10.3 Using BLOB storage as a media server
- 10.4 Content delivery networks
- 10.5 Summary
Part 5 Working with structured data
- 11 The Table service, a whole different entity
- 11.1 A brief overview of the Table service
- 11.2 How we’d normally represent entities outside of Azure
- 11.3 Modifying an entity to work with the Table service
- 11.4 Partitioning data across lots of servers
- 11.5 Developing with the Table service
- 11.6 Doing CRUDy stuff with the Table service
- 11.7 Summary
- 12 Working with the Table service REST API
- 12.1 Performing storage account operations using REST
- 12.2 Authenticating requests against the Table service
- 12.3 Modifying entities with the REST API is CRUD
- 12.4 Batching data
- 12.5 Querying data
- 12.6 Summary
- 13 SQL Azure and relational data
- 13.1 The march of SQL Server to the cloud
- 13.2 Setting up SQL Azure
- 13.3 Size matters
- 13.4 How SQL Azure works
- 13.5 Managing your database
- 13.6 Migrating an application to SQL Azure
- 13.7 Limitations of SQL Azure
- 13.8 Common SQL Azure scenarios
- 13.9 Summary
- 14 Working with different types of data
- 14.1 Static reference data
- 14.2 Storing static reference data with dynamic data
- 14.3 Joining dynamic and infrequently changing data together
- 14.4 Summary
Part 6 Doing work with messages
- 15 Processing with worker roles
- 15.1 A simple worker role service
- 15.2 Communicating with a worker role
- 15.3 Common uses for worker roles
- 15.4 Working with local storage
- 15.5 Summary
- 16 Messaging with the queue
- 16.1 Decoupling your system with messaging
- 16.2 Working with basic queue operations
- 16.3 Working with messages
- 16.4 Understanding message visibility
- 16.5 Patterns for message processing
- 16.6 Summary
- 17 Connecting in the cloud with AppFabric
- 17.1 The road AppFabric has traveled
- 17.2 Controlling access with ACS
- 17.3 Example: A return to our string-reversing service
- 17.4 Connecting with the Service Bus
- 17.5 Example: Listening for messages on the bus
- 17.6 The future of AppFabric
- 17.7 Summary
- 18 Running a healthy service in the cloud
- 18.1 Diagnostics in the cloud
- 18.2 Diagnostics in the cloud is just like normal (almost)
- 18.3 Configuring the diagnostic agent
- 18.4 Transferring diagnostic data
- 18.5 Using the service management API
- 18.6 Better together for scaling
- 18.7 Summary