Saturday, January 03, 2009

Azure and Cloud Computing Posts for 12/29/2008+

Windows Azure, Azure Data Services, SQL Data Services and related cloud computing topics now appear in this weekly series.

••• Updated 1/4/2008 11:00 AM PST: Minor additions and updates.

• Updated 1/3/2008 9:00 AM PST: Azure, SQL Data Services (SDS) and Cloud Computing topics were moved from LINQ and Entity Framework Posts for 12/29/2008+ on 1/3/2008.

• Updated 1/1/2008 12:00 PM PST: Additions

Azure Blob, Table and Queue Services

•• Roger JenningsFighting the Azure Blob Storage Blues post of 1/2/2009 describes issues encountered while creating an Azure Blob Test Harness project that’s an extension of Jim Nakashima’s early Windows Azure Walkthrough: Simple Blob Storage Sample of 10/29/2008. Problems include failure of one or more GridView cells to render, overlapping table rows and similar UI issues.

David Lemphers provides in his Windows Azure Storage - Queues [0]! post of 1/1/2009 a simple console project to demonstrate how Azure queues handle messages. Here’s his diagram of the process:


Alin Irimie questions Microsoft’s presentation of Azure’s features and the company’s cloud strategy in his I Have A Bad Feeling About Windows Azure Azure Journal post of 12/29/2008. His points:

First of all, everybody is using nowadays “cloud” to describe anything that runs on the web. Cloud is the new buzzword, and Microsoft jumping on the bandwagon doesn’t make things any better. … I believe Microsoft should have come up with a different buzzword to describe their Software as a Service/Software + Services offerings, one word, not many. …

Second, Microsoft should clarify better whether Windows Azure platform is a .NET platform or a “mixed” platform where legacy application can run. …

Third, Microsoft needs to let us know at least the year Windows Azure will be released. When are we going to have an SLA. …

On the whole, I agree, especially with Alin’s third point about SLAs. Microsoft stated in October 2008 that Azure would release in the second half of 2009 (see the last items in the Pricing section of the Azure FAQs and John Fontana’s Microsoft reveals Windows Azure ship date, pricing metrics Network World article of 10/30/2008.) SQL Server Data Services (now SQL Data Services) was originally scheduled to release in the first half of 2009.

[Repeated from last week’s post, but updated with the Azure release time frame.]

SQL Data Services (SDS)

•• Roger Jennings chides the SDS Team for its lack of communication since PDC 2008 in his The SQL Data Service Team’s Recent Silence Isn’t Golden post of 1/3/2009.

•• Roger Jennings’ belated SQL Data Services to Gain New ADO.NET Data Services Client Model post of 1/3/2008 was written on 11/2/2008 in answer to Pablo Castro’s ADO.NET Data Services in Windows Azure: pushing scalability to the next level post of 11/1/2008. Unfortunately, it got lost in the post-PDC 2008 shuffle.

.NET Services: Access Control, Service Bus and Workflow

No significant .NET Services posts this week. 

Live Windows Azure Apps, Tools and Test Harnesses

•• Roger Jennings posted Windows Azure Blob Test Harness Project is Live! on 1/4/2009 to announce the availability of and provide instructions for the OakLeaf Windows Azure Blob Test Project on Windows Azure:

My Fighting the Azure Blob Storage Blues post of 1/2/2009 describes issues I ran into while developing the blob test project.

•• Dare Obasanjo’s My Holiday Project: A Twitter Search Engine Built on Windows Azure post of 1/3/2009 describes his Hottie or Nottie Twitter search engine that implements the following features:

  1. Default: Identical to
  2. Search Near Me: Reports Tweets from people located within a radius of 30 miles of your location (see the screen capture below).
  3. Sort by Follower Count: Uses the Google Social Graph API to rank search results by number of followers (i.e., “Twitter Rank.”)
  4. Limit to People I Follow: Limits results to those people that Dare’s crawler has determined to be following you.

Dare also lists his likes and dislikes when developing on Azure. As to dislikes, I’ve had similar experiences with applications in the Developer Fabric occasionally hanging; in this case, I kill them with TaskMan. In general, I agree with Dare’s pros and cons, except for

Trying to program locally against this API is rather convoluted and requires writing your classes first then running some object<->relational translation tools on your assemblies.

Apparently, the OR/M tool that Dare refers to is DevTableGen.exe. Although I prefer database-first mode for simple domain models, such as those for basic Azure Data Services projects, a vocal minority of domain-centric .NET developers clamor for the model-first approach.

Dare’s application works perfectly for me.

•• David Aiken’s Windows Azure Online Log Reader is a no-frills Azure Services log reader by the author of Yap, an Azure-based Twitter clone with LiveID login but a terrible user experience. Here’s his description:

Yap is a micro-blog site that allows you to publish simple messages (called Yaps) in response to daily questions or topics.

David promises a future facelift and downloadable source code.

• David Pallman uploaded on 1/1/2009 a live Azure demonstration project called LifeTracks, which he describes as follows:

LifeTracks is a social networking web site that leverages the Azure platform for hosting, storage, and authentication with Windows Live Id. The source code and documentation have been posted on CodePlex.

An interesting feature of the app is implementation of Live ID for authentication.

David LemphersWindows Azure Logs! post of 1/1/2009 starts the new year with a spartan LogBrowser project that I couldn’t get to read my logs.

Note: The source code is in a Subversion repository, so you’ll need a Subversion client for Windows to download it. I use the AnkhSVN 2.0 add-in for VS 2008.

Sergei Meleshchuk’s Azure storage viewer post of 12/24/2008 showed a storage browser for Queues, Blogs and Tables that looked promising, but it wouldn’t run for me. Starting the app causes it to immediately stop running under Windows Vista Ultimate on two computers. I left Sergei a comment and sent an email, but haven’t heard from him as of 1/1/2009.

Update 1/2/2009: Greg Duncan confirms problems with the Storage Viewer in Windows Vista in his Windows into Azure, the Azure Storage Viewer post of 12/25/2008.

Azure Infrastructure

••• James Hamilton’s The Cost of Bulk Cold Storage post of 12/28/2008, which was written before his recent move from Microsoft’s data center operations to Amazon Web Services, analyzes how the cost of high-scale storage has decreased in the past two years as a result of increasing disk capacity and lower server prices. He calculates that the current cost of cold disk storage using 12 commodity disks per US$ 1,200 server is US$ 0.80/GB-year.

Note: Cold disk storage doesn’t include data ingress/egress costs; others use the term to mean on-demand storage where disk drives are powered down between accesses.

Although James’ analysis is for Amazon S3, it undoubtedly applies to Microsoft’s cloud storage operations, too. His Excel 2007 worksheet for calculating storage costs is ColdStorageCost.xlsx (13.86 KB).

•• Daniel Costello of Microsoft’s GFSDCSTeam has posted a 03:36 animation that illustrates the company’s global Data Center 4.0 strategy for Azure and Windows Live cloud computing, including edge services. (Audio is a piano soundtrack, not propaganda. Mike Manos’ Our Vision for Generation 4 Modular Data Centers - One way of Getting it just right . . . post could serve as a script.) I’m guessing that GFSDCS is an abbreviation for Global Foundation Services - Data Center Services.

Note: The “Powered by Fuel Cell” claim on the side of a container (at 00:22) is a bit over the top (and misleading.)

Other Cloud Computing Platforms and Services

•• Jeff Barr’s Bits For Sale - The New Amazon S3 Requester Pays Model post of 1/2/2009 describes a new billing mode wherein the requestor pays all Amazon S3 outbound data transfer and request costs. In this case, the data owner pays only inbound transfer and storage fees. The latest S3 Developer Guide contains the details for making use of S3 Requester Pays model.

Microsoft still hasn’t disclosed its proposed business model for Azure Blob and Table Storage or SQL Data Services, so it’s not too late for the Azure team to implement a requester-pays feature for these services. A clone of Amazon’s DevPay feature would also be a plus for Azure.

•• John Willis asks Who Coined The Phrase Cloud Computing? on 12/31/2009 and then answers his rhetorical question:

[M]y personal pick is in August 2006, where Eric Schmidt of Google described their approach to SaaS as cloud computing at a search engine conference. I think this was the first high profile usage of the term, where not just “cloud” but “cloud computing” was used to refer to SaaS and since it was in the context Google, the term picked up the PaaS/IaaS connotations associated with the Google way of managing data centers and infrastructure.

Update 1/3/2008: Reuven Cohen’s Who invented the term cloud computing? post of 12/31/2008 says:

I think I have found the first public usage of the term "Cloud" as a metaphor for the Internet in a paper published by MIT in 1996. As side note, this article fully outlines most of the concepts which have become central to the ideas found within cloud computing. Certainly worth a read: The Self-governing Internet: Coordination by Design [by Sharon Eisner Gillett and Mitchell Kapor].

Reuven is the founder and chief technologist for Toronto- based Enomaly and author of the forthcoming Cloud Computing: A Strategy Guide book from O’Reilly Media.

The Office of the Secretary for Homeland Security is seeking a Chief Technical Officer who must, inter alia:

Leads [sic] a team of technologists across DOD, DHS, and the Intelligence Community and be fluent in cloud computing, Web 2.0 and social networking applications. [Emphasis added.]

The salary range is US$ 117,787.00 to US$ 177,000.00 per year, and the open period is Friday, December 26, 2008 to Thursday, January 15, 2009.

I wonder how one becomes “fluent in cloud computing, Web 2.0 and social networking applications.” Writing code?