Monday, May 09, 2011

Republished My Live Azure Table Storage Paging Demo App with Two Small Instances and Connect, RDP

Updated 5/9/2011: Changed from ExtraSmall to Small instances because MSDN Ultimate subscribers and MSDN Premium subscribers whose benefit has been upgraded to Ultimate have a free 1,500 hours of Small compute instances, not ExtraSmall instances. See my Microsoft Bills for ExtraSmall Instances with a MSDN Ultimate Benefit post of 5/9/2011 for more details.

On 2/4/2010, Steve Marx (@smarx) asked me to stop publishing monthly uptime reports for a single instance of my live OakLeaf Systems Azure Table Services Sample Project - Paging and Batch Updates Demo because they were irrelevant, misleading and not representative of ordinary production deployments. Steve likened my approach to reporting the uptime of a bank by observing the presence or absence of a single teller. I acquiesced and stopped the monthly reports. My Windows Azure Uptime Report: OakLeaf Table Test Harness for January 2011 (100.00%), which contains Steve’s request in a comment, was the last.

Microsoft requires two instances of Web or Worker roles to qualify for the Windows Azure Compute Service Level Agreement (SLA):

Windows Azure has separate SLA’s for compute and storage. For compute, we guarantee that when you deploy two or more role instances in different fault and upgrade domains your Internet facing roles will have external connectivity at least 99.95% of the time. Additionally, we will monitor all of your individual role instances and guarantee that 99.9% of the time we will detect when a role instance’s process is not running and initiate corrective action.

The separate Windows Azure Storage SLA is as follows:

For storage, we guarantee that at least 99.9% of the time we will successfully process correctly formatted requests that we receive to add, update, read and delete data. We also guarantee that your storage accounts will have connectivity to our Internet gateway.

Click here for summaries of all Windows Azure SLAs.

My MSDN Ultimate subscription benefit changed from 750 hours/month of a Small instance to 1,500 hours/month of ExtraSmall instances in April 2011, which enabled running two simultaneous compute instances without charging my credit card. On 5/8/2011, I upgraded my sample project as follows:

  • Changed from a single Small compute instance to two ExtraSmall compute instances
  • Added IntelliSense for deployment troubleshooting
  • Added Windows a Azure Connect VPN and enabled Remote Desktop Access
  • Updated from Windows Azure SDK v1.2 to v1.4


I had enabled enabled diagnostics on 12/4/2011, as reported in my Adding Trace, Event, Counter and Error Logging to the OakLeaf Systems Azure Table Services Sample Project post of 12/5/2011.

I wasn’t able to perform a Swap VIP operation because my existing production instance had only one Web Role and the new site would have two. Therefore, I had to delete the existing production Web Role and publish the project with Visual Studio 2010 to a new Production site.

Deployment Speed Record: < 11 Minutes

Deploying the new site on Sunday morning established a new speed record for me: Less than 11 minutes from start to finish. Here’s the Visual Studio Activity Log:

7:08:14 AM - Preparing...
7:08:14 AM - Connecting...
7:08:15 AM - Uploading...
7:10:46 AM - Creating...
7:11:22 AM - Starting...
7:11:59 AM - Initializing...
7:11:59 AM - Instance 0 of role WebRole1 is initializing
7:11:59 AM - Instance 1 of role WebRole1 is initializing
7:16:51 AM - Instance 0 of role WebRole1 is busy
7:16:51 AM - Instance 1 of role WebRole1 is busy
7:17:56 AM - Instance 1 of role WebRole1 is ready
7:19:01 AM - Instance 0 of role WebRole1 is ready
7:19:01 AM - Complete.

Update 5/9/2011: The Small-instance replacement took about 00:11:15 on Monday morning, so the earlier provisioning time wasn’t a fluke.

Contrast this time with the 32 minutes it took me to activate one IBM SmartCloud Enterprise Silver instance, as reported in the Connecting to the instance with Windows' Remote Desktop Protocol section of my Test-Driving IBM’s SmartCloud Enterprise Infrastructure as a Service: Part 2 - Spring 2011 Promotion Free Trial, updated 5/6/2011.

Here’s the Windows Azure Portal page for the upgraded site:


Note that the Quota’s maximum Cores (20) applies to paid subscriptions. Only 2 cores are free with MSDN Premium and Ultimate benefits.

I plan to resume publishing uptime reports for based on Pingdom availability data beginning the first week of July for June 2011.

For more details about the test harness and its qualification to use Microsoft Platform Ready (MPR) program’s “Powered by Windows Azure” logo, see my Azure Storage Services Test Harness: Table Services 1 – Introduction and Overview post (updated 11/17/2010).