Session – A Lap Around Windows Azure, part 1

PDC 2008, Day #1, Session #1, 1 hr 15 min.

Manuvir Das

In my first PDC session, Manuvir Das gave us some more information about the Azure platform.

He started talking about the platform for traditional desktop clients as being the operating system.  It provides a variety of services that all applications need, to run on the platform.

Windows Azure serves as a similar platform for web-based applications.  In other words, Azure is the operating system for the cloud.  It provides the “glue” required for cloud-based services.

According to Manuvir, the four main features of Azure as a platform are:

  • Automated service management
  • Power service hosting environment
  • Scalable, available cloud storage
  • Rich, familiar developer experience

Manuvir demonstrated how an Azure-based service is defined.  The developer describes the service topology and health constraints.  And Azure automatically deploys the service in the cloud.  This means that your service runs on Microsoft’s servers and is scaled out (run on more than one server) as necessary.

As a sample topology, Manuvir showed a service application consisting of a web-facing “role” and a worker “role”.  The web-facing part of the application accepted requests from the web UI and the worker role processed the requests.  When the author configures the service, he specifies the desired number of instances for each of these roles.  Azure seamlessly creates a separate VM for each instance of each role.

A developer can create and test all of this infrastructure entirely on a local desktop by using the Azure SDK.  The SDK simulates the cloud environment on the developer’s PC.  This is valuable for uncovering concurrency and other issues prior to deployment.

Manuvir also talked about Azure providing scalable and available cloud-based storage.  The data elements used for storage are things like Blobs, Tables, and Queues.  Future revs of the platform will support other data objects, including File Streams, Caches, and Locks.  Note that these data structures are simpler than a true relational data source.  If a relational data store is required, the service should use something like SQL Services—Microsoft’s “SQL Server in the cloud” solution.

Rollout

Windows Azure goes “live” this week, for a limited number of users.  It will likely release as a commercial service sometime in 2009.

The business model that Azure will follow will be some sort of pay-for-use model.  Manuvir said that it would be competitive with other similar services.

At some point, Azure will better support geo-distribution of Azure-based services.  It’s also expected to eventually support the ability to run native (x86) code on the virtual servers.

Demo

The obligatory demo by a partner featured Danny Kim, from Full Armor.  Danny described an application that they had created for the government of Ethiopia, that allowed them to track thousands of teachers throughout the country and push out data/documents to the teachers’ laptops.

This demo was again a bit more interesting as a RIA demo than a demo of Azure’s capabilities.  The only Azure-related portion of the demo involved Danny explaining that they were currently supporting 150 teachers, but would soon scale up to several hundred thousand teachers.  But they hadn’t yet scaled out, so Danny’s application didn’t really highlight Azure’s capabilities.

PDC Keynote – Windows Azure Arrives

I love the Terminator movies.  That’s why I need to share this fact—Skynet has finally arrived, and it’s called Windows Azure.

In short, Windows Azure is Microsoft’s platform for cloud-based services and applications. It’s a platform on which you can deploy your own applications, leveraging Microsoft-supplied hosting, service management, data services, and scalability.  It’s also the platform that Microsoft is using to host all of their subscription-based enterprise services, like Live Services and SQL Services.  (Umm, eventually, I think).

Or maybe it’s Skynet—the network that allows the machines to finally take over.  It’s hard to tell.  Maybe not—Steve Ballmer looks not a bit like the Terminator.

Because I’m not an enterprise software sort of guy, some of the stuff in the keynote made my eyes glaze over.  When Dave Thompson started demoing Sharepoint and Microsoft Dynamics CRM Services, I found myself having a truly deep I-don’t-really-give-a-crap reaction.  It’s just hard to get pumped up about timesheets and status reports.

On the other hand, there are things Ray mentioned that hint at being fairly interesting.  If the Azure platform really makes it simple to scale out a web app, that would be cool.  Or if they can provide SQL Server data services to web-based apps in a simple way, that would also be cool.

Ray was talking about two basic things today:

  • Windows Azure — the underlying platform for cloud-based services
  • Microsoft’s services that are based on Azure

For Azure as a platform, the mom-and-apple-pie speaking points are attractive:

  • Move Microsoft’s expertise for scaling web-based apps into a platform
  • Easy to scale up/out
  • Easy to deploy globally  (i.e. not just to server sitting in some city)
  • Federated identity, allowing enterprise identities to move into cloud

Ray also showed the various Microsoft services that will be available to applications/organizations, and which run on Azure:

  • Live Services
  • .NET Services
  • SQL Services
  • SharePoint Services
  • Microsoft Dynamics CRM Services

Live Services—seems to be the “kitchen sink” category.  Possible pieces include Live Mesh for synchronized storage, and interop with other Windows Live bits, like Messenger and Photo Gallery.  Maybe I missed something, but I don’t think that Muglia really talked about this box.  More info on Live Services here.

.NET Services—Muglia touched briefly on these higher-level application services that are built on top of Azure.  They include: Service Bus (connect applications over the Internet), Access Control (federated identity based on claims), and Workflow Service (running Workflow in the cloud).  More info on .NET Services here.

SQL Services—SQL Server “in the cloud”, available to your web apps.  This is basically just a subscription model for SQL Server, where you “pay as you go” and get access to SQL Server data stores in a scalable fashion.  For more info, go here.

SharePoint Services—blah blah blah enterprise blah blah

Microsoft Dynamics CRM Services—see SharePoint Services

Oslo

I forget who was talking at the time, maybe Muglia or maybe Ozzie.  But on one of the high-level slides included Oslo as a little blurb.  Oslo is a new platform for modeling applications and creating domain-specific languages.  Promises to be very interesting, especially given that Don Box and Chris Sells are on this team.

Demos

What would a keynote be without cool demos by Microsoft partners, who have put their gonads on the line by using the new Microsoft technologies in some production environment.  Microsofties at the keynote (Amitabh?) alluded to the need for demos by admitting that a new platform wasn’t that sexy—you really need a cool demo to see what it’s capable of.

I’m sorry to say that the main example of an application built on Azure was a British startup, bluehoo.com, whose purpose in life is for mobile users to discover other mobile users sitting near them by using a little animated blue avatar.  WTF?!  We already have that application.  It goes like this: a) stand up; b) turn to your right; c) extend hand; d) introduce yourself.

Bluehoo.com seems a major fail.  The demo didn’t really show off any of the true Azure goodness that was being touted.  The closest it came was their CEO saying that he’d have to go tweak his Azure configuration to bring more servers online.  Maybe they might have done some sort of animated load testing to prove their point?  Worse yet, the bluehoo.com site is DOA—nothing more than a linkback to a twitter feed.  Ugh.  Bluehoo would have made a fine Silverlight 2 demo, but as an Azure demo it was pretty thin.

Takeaways

As lackluster as the demos were, the rollout of Azure really is a big deal.  Azure demos aren’t as flashy as the NBC Olympics site that was demoed with the rollout of Silverlight 2.  But Azure really is more about the back-end anyway—it’s truly a platform for developing scalable web applications.  The man on the street won’t know (or care) about it.  But for web developers, Skynet truly is here.