Windows Azure: Microsoft mainstreams the cloud

Microsoft has boosted the fortunes of cloud vendors everywhere with today's announcement of Windows Azure. I like the vision, but can Microsoft deliver? Not today, that's for sure.

Two years ago, Microsoft boosted the fortunes of on-demand vendors everywhere when it announced the 'live era' even though it had practically no live offerings to speak of. It's pulled off the same trick with today's Azure announcement (more coverage on Techmeme).

Cloud vendors everywhere (Amazon in particular) will be delighted that Microsoft has endorsed cloud services (anointing them the "fifth generation of computing" according to a slide presented today by Bob Muglia SVP of Microsoft's servers and tools business) — while unveiling a cloud offering that's available today only as a 'Community Technology Preview'.

Windows Azure platform diagram

Don't get me wrong, I like a lot of what I see of Microsoft's cloud vision. It's the vendor's ability to execute that I wonder about. I liked Muglia's demonstration of cloud status feeds showing up the Systems Center dashboard and his talk of being able to set up reporting services. This is the kind of enterprise-friendly management and visibility that all cloud providers should be enabling. I was impressed to hear so much airtime devoted to the knotty problem of federated identity. When Windows Azure chief Amitabh Srivastava talked about the underlying architecture, I instantly jotted down an approving verdict: "A classic, loosely coupled, contract-based services environment. Services are defined in XML — all classic cloud architecture."

It's the execution issues that take the gloss off it. Read through David Chappell's white paper penned for the launch (docx file) (hat-tip Nick Carr) and you'll see just how much isn't delivered in the current iteration of Azure (did someone say 'blue-sky'?):

"For the initial availability of this service, a Community Technology Preview (CTP) made public in the fall of 2008, Microsoft allowed Windows Azure to run only applications built on the .NET Framework ..."

"A fundamental characteristic of every mesh is that the Live Operating Environment can synchronize data across all of the mesh's systems ... (This ability isn't yet supported in the Live Framework November 2008 CTP, however.)"

"... While this might change over time, Windows Azure's initial release maintains a one-to-one relationship between a VM and a physical processor core."

"... any mesh-enabled Web application can run on any system in the mesh (although all of these options aren't supported in the Live Framework November CTP)."

I'm especially disappointed to see how little of Live Mesh, which I warmly welcomed earlier this year, is delivered in Azure. I wondered why I barely heard the word mesh mentioned on stage today. Will Ray Ozzie ever deliver the network synchronization he's always dreamt of?

The other execution hurdle I can foresee stems from a mismatch in the messaging. On the one hand Microsoft is telling developers that Azure will make it easy for them to develop for the cloud using their existing Windows tools and skills. But that's just a few moments after Ozzie's been standing there on stage saying that you can't build applications to run and 'scale out' in the cloud the same way you used to build them to run and 'scale up' in the enterprise: "Most of today's applications are deeply deeply rooted in a scale-up past." Here's an example from the Chappell white paper that show the sort of traps that will trip up Microsoft developers moving from on-premise to the cloud:

"Yet moving existing .NET Framework applications to Windows Azure unchanged usually won't work. For one thing, the way an application accesses storage is different. Access to Windows Azure storage uses ADO.NET Web Services, a relatively new technology that isn't yet ubiquitous in on-premises applications. Similarly, Worker role instances typically rely on queues in Windows Azure storage for their input, an abstraction that's not available in on-premises Windows environments."

Overall then, I give Microsoft points for effort. I welcome the launch of Azure today which, combined with last week's announcements from Amazon and Rackspace, confirms beyond argument that the cloud has gone mainstream. But Microsoft still has to show it can deliver on its vision, while others are already out there in the market, delivering commercial, production-grade cloud services.