Windows Azure Platform at a Glance

This is my first attempt at parsing and summarizing the Windows Azure Platform, so I expect it to evolve as I iterate on it.

Windows Azure Platform at a Glance

The Windows Azure platform is a set of cloud computing services for creating and consuming cloud applications and services.  The key components of the Windows Azure Platform are:

  • Windows Azure – provides virtualized compute, storage, and management for your cloud-based applications.  It’s effectively a “cloud OS.”
  • SQL Azure – provides cloud-based relational database services.
  • App Fabric – provides application infrastructure services for federated authorization and for distributed application challenges (service composition and connectivity challenges.)

You can use the Windows Azure Platform from your applications running in the cloud and from on-premises applications.  For example, you might access data in the cloud from an on-premises app, or you might access local user accounts from an app in the cloud.

Windows Azure
Windows Azure provides compute, storage, and management through Microsoft data centers.   The key components are:

  • Compute Service - process requests.  Compute services are Virtual Machine (VM) instances that come in two types:  Web Roles and Worker Roles.  Web Roles include Internet Information Services (IIS) and can accept HTTP and HTTPS Requests.  Worker Roles aren’t configured with IIS and are primarily for background processing, such as queuing, monitoring, or ticket-system scenarios.
  • Storage Service – stores data.  It provides blobs, tables, and queues.  Blobs and tables are for storing and retrieving data, but queues are primarily for Web Role instances to talk to Worker Role instances in an asynchronous way.
  • Fabric – provides physical machines for compute and storage.  The servers for Windows Azure live within a Microsoft data center.  These servers are organized into a Fabric.   This Fabric of machines provides the compute and storage capabilities.  These physical machines host the VM instances that provide the compute services.  The machines are controlled by a Fabric Controller.   The Fabric Controller talks to a Fabric Agent on each machine.  The Fabric Controller determines which physical machines to spin up Web and Worker Role VM instances and it monitors the health of the VMs and the physical machines.

For more on Windows Azure, see Windows Azure SDK (MSDN.)

SQL Azure
SQL Azure provides cloud-based services for relational databases, reporting and analytics, and data synchronization.  The main component is a SQL Azure Database:

  • SQL Azure Database - provides a highly available, scalable, multi-tenant database service hosted by Microsoft in the cloud.  It’s a cloud-based relational database service built on SQL Server technologies.  You can access a SQL Azure Database through a Tabular Data Stream (TDS) protocol, which means you can use any existing SQL Server client library, such as ADO.NET, ODBC, or PHP.

For more information on SQL Azure, see SQL Azure (MSDN.)

App Fabric
Windows Azure platform AppFabric (formerly called “.NET Services”) provides common application infrastructure services for distributed applications.  The key components are:

  • Access Control – provides authentication and authorization services through rules and claims.  It’s a standards-based service that supports multiple credentials and relying parties.  It enables federated identity and supports Active Directory, as well as other identity infrastructures.
  • Service Bus - provides secure connectivity options for service endpoints that would otherwise be difficult or impossible to reach.  It supports various communication patterns such as relayed, buffered, bidirectional, publish-subscribe, multicast, streaming and direct-connect.  Service Bus provides infrastructure for large-scale event distribution, naming, and service publishing.  It helps address the challenges of firewalls, NATs, dynamic IP, and disparate identity systems.  Service Bus can provide a service with a stable Uniform Resource Identifier (URI) that you can be accessed by any authorized client application.  Service Bus supports REST and HTTP Access from non-.NET platforms and it supports standard protocols and extends similar standard bindings for Windows Communication Foundation (WCF.)

For more on App Fabric, see App Fabric Service Bus (MSDN) and App Fabric Access Control (MSDN.)

For more information on the Windows Azure Platform, here are some of the main Azure starting points: