This quick start kit is available for download at http://aka.ms/QSK for self-studies of Windows Azure Infrastructure Services and Windows Azure PowerShell. It deploys a simple, yet well-structured, Windows Azure Infrastructure Services instance including:

  • Affinity Group
  • Storage Account
  • Cloud Service
  • VMs with attached data disk
  • Availability Set
  • Load-Balancer

Additional information of Windows Azure IaaS deployment methodology is available at:

The conceptual model of a Windows Azure Infrastructure Services deployment with QSK is showed as below:

Notice since the storage account is auto-created with PowerShell in QSK, by default Windows Azure optionally enables geo-replication of a storage account. Therefore the synchronization may take a little bit longer for creating or deleting a VM and its attached disks.

For each deployment, the RDP files of each deployed VM is also automatically downloaded to a designated local folder. Namely a VM user can access a deployed Windows Azure VM using the RDP file and VM user credentials, and without the need to log in Windows Azure management portal or acquire the Windows Azure subscription information. Further, accessing a deployed Windows Azure VM will be based on a self-signed certificate, if no PKI has been pre-configured for the VM.

QSK uses a user-specified prefix and a timestamp as a tag to eliminate any possible naming conflict within Windows Azure. This tag also makes resources in one deployment unique and easily identifiable by matching the tag. Hence, a user can execute the script multiple times to deploy multiple services and consume resources within what the subscription allows and without a naming conflict.

The following are additional resources and the history of a sample PowerShell session where I deployed two services by executing the script twice.

qsk.session.1

In Windows Azure Management Portal, the following shows what were deployed.

qsk.session.2.affinity.group

qsk.session.3.storage.account

qsk.session.4.cloud.services

qsk.session.5.deployed.resources

qsk.session.6.availability.set

qsk.session.7.load.balancer

 qsk.session.8.availability.set

 qsk.session.9.load.balancer

And the RDP files of deployed VMs were also downloaded to the local SQL folder as shown here.qsk.session.10.local.folder

To remove all deployed resources, the 4-step clean up routine as included in the script was run in sequence and one step at a time.

qsk.session.11.removing.resources

qsk.session.12.removing.resources