Windows Azure Platform Glossary for IT Pros

This blog post lists out terms frequently referenced in Windows Azure Platform. They are presented in a hierarchical order based on the context shown in the following schematic. Each term is described concisely with key concept and pertinent information. The content is intended for IT pros and non-programmers.

image

Term Description
Windows Azure Platform

A collective name of Microsoft’s Platform as a Service (PaaS) offering which provides a programming platform, a deployment vehicle, and a runtime environment of cloud computing hosted in Microsoft datacenters

  • One key advantage of Windows Azure Platform is that it is a PaaS offering, at the same time a complete solution of DIY SaaS. Basically an application published to Windows Azure Platform is accessible with SaaS in Internet. Namely the application can be accessible on demand, automatically load-balanced and highly available with 99.9% SLA, assuming the application is deployed with at least 2 instances.
  • IT pros can play a key role in transitioning to cloud by refining, automating, and optimizing processes and operations running in today’s on-premises settings such that the IT services become pluggable and can be easily integrated tomorrow with tasks required by running applications in cloud.
  • A great place to get started and learn more is Windows Azure Platform Training Kit.
Windows Azure

Essentially Microsoft cloud OS which provides abstractions and shields the complexities of implementing and managing collections of hardware, software, and instances

  • Technically the distinction of Windows Azure Platform and Windows Azure is important. The former is Microsoft’s PaaS offering including Windows Azure, SQL Azure, and Appfabric; while the latter is part of the offering and the Microsoft’s cloud OS. I recommend not to use the two terms interchangeably.
  • In Windows Azure, a role instance runs in an individual VM with can be accessed via RDP. All content stored on Windows Azure is replicated 3 times regardless which storage service is employed.
  • With Windows Azure SDK, a Visual Studio programmer can employ Cloud project template, develop Windows Azure applications, and securely publish an application to cloud using certificate.
Compute

A Windows Azure service for executing application code based on a specified role including web role, worker role, and VM role

Web Role

A service definition to deploy a VM with IIS 7 for hosting a web application

Worker Role

A service definition to deploy a VM without IIS for running application code in the background similar to Windows processes, batch jobs, or scheduled tasks

  • A worker role starts and runs automatically while the role instance is up. It uses a simple while loop and a sleep statement to periodically look for work.
VM Role

A service definition to upload a VM to cloud (i.e. Windows Azure Platform) for deploying an application with a custom or predictable runtime environment and provided as a last resort for addressing issues including:

  • The inability to fully automate the initialization of the application
  • An initialization process that is not 100% reliable
  • Technical complexities or cost concerns introduced by a prolonged initialization process of the application
Storage

A Windows Azure service for allocating persistent and durable storage accessible with HTTP/HTTPS (REST) and .NET

  • For high durability, data are replicated 3 times within a cluster, and across datacenters.
  • For high scalability, data are automatically partitioned and load balanced across servers.
BLOB

Binary Large Object for storing large data items like text and binary data

Table

Structured storage in the form of tables which store data as collections of entities for maintaining service state

  • Notice a table here does not enforce any schema, so two entities in the same table may have different sets of properties. Essentially, Table in Windows Azure storage is not the same with that in a relational database.
Queue A mechanism for storing messages to be read asynchronously for enabling service communication for notification and scheduling work
Windows Azure Drive

A page BLOB and formatted as a single-volume NTFS virtual hard drive to be mounted within a Windows Azure role instance and accessed like a local drive

Local Disk

Non-persistent storage local to a role instance

Fabric Controller (FC)

Owner of datacenter including hardware, software, and instances and ultimately the brain of the cloud OS

  • Fabric is an important abstraction in cloud computing referred to the ability to identify and manage resources in datacenter. Under fabric are collections of computing, storage, and networking resources managed as a whole to deliver services with the 5 characteristics of cloud computing.
  • FC in Windows Azure owns the datacenters and can identify, allocate, manage, and release resources. Once a Windows Azure application is uploaded, manually or programmatically, into Azure Management Portal, FC deploys the application to a staging or a production environment according to the specification. Within a Guest OS where a deployed instance is running and the root partition which the Guest OS is deployed with, there are Guest Agent and Fabric Agent in place, respectively, to enable FC to logically control not only a deployed VM, but the instance running within which is what FC ultimately cares.
Fabric Agent

A self-initialized application deployed with the root partition of a Windows Azure Compute node to form the fabric

Guest Agent

A self-initialized application deployed with the base image of a Guest OS to form the fabric

Connect

A user interface to configure IPsec protected connections between computers or virtual machines (VMs) in an organization’s network, and roles running in Windows Azure

  • This feature securely bridges on-premises establishments with and extends traditional 3-tier application architecture into cloud computing as illustrated.
Content Delivery Network (CDN)

An add-on feature to Windows Azure subscription to cache Windows Azure BLOBs and the static content output of Compute instances at Microsoft’s caching servers near what the content is most frequently accessed

SQL Azure

A cloud-based relational database service with SQL Azure Reporting, a report generating service

  • To use SQL Azure Reporting, one must have a SQL Azure subscription followed by adding the Reporting service to the subscription.
  • A user can author and publish reports by using SQL Server Business Intelligence Development Studio for report server projects, and Management Studio to develop queries.
  • For those who are already creating Reporting Services reports, SQL Azure Reporting will seem very familiar. Reports, shared data sources, shared datasets, and report parts are all stored on SQL Azure Reporting report servers, in the same way that they are stored on Reporting Services on-premise report servers configured in native mode.
AppFabric A set of middleware services, i.e. class library, interoperable across languages (.NET, Java, Ruby, PHP…)
Service Bus

To provide secure messaging and connectivity capabilities through firewalls, NAT gateways, and other problematic network boundaries and enable building distributed and disconnected applications in the cloud, as well hybrid application across both on-premise and the cloud

Access Control

A hosted service providing federated authentication and rules-driven, claims-based authorization for REST Web services with integration with Windows Identity Foundation (WIF) like Active Directory Federation Services (ADFS) v2

Caching

A subset of the on-premise distributed caching solution, Windows Server AppFabric Caching, for provisioning a cache in cloud to be used with ASP.NET or client applications for caching requirements

Integration

Capabilities similar to those of Biz-Talk to integrate Windows Azure Platform applications with existing LOB and databases and third-party Software as a Service (SaaS) applications

Composite App

For building applications with a composite of services in the cloud and on premises, components, web services, workflows, and existing applications