Ars@PDC: More on Windows Azure

Microsoft provided us with a few more Azure details, including SDK information …

Since this morning's Windows Azure announcement, a bunch of random details have materialized. Here's a rundown of what we've heard:

Azure is being described as a new OS, albeit one based on the existing codebase. The Azure team is working alongside the Core OS team, and there's cross-pollination between the groups. For example, one of the improvements made for Windows 7 is an increase in the number of processors/cores/logical processors that can be used (currently, the number of processors supported is the same as the bitness of the OS; 32 in 32-bit, 64 in 64-bit); the Azure team is able to take this new, expanded ability and use it itself.

Conversely, Azure has extended HyperV to make it use hardware virtualization support (it wasn't specified, but presumably things like VT-d and NPT/EPT) to increase its scalability; this change is being propagated back to the Core OS group and should become a part of future Windows Server and/or HyperV releases.

Other technologies, such as the Fabric Controller (the highly reliable part that manages services and servers) will be available to other groups within MS, and are likely to find their way into on-premises software (as well as the in-cloud software).

Different people have told us different things about Azure's availability. This morning, we were told that Azure would be MS-only; third-party data centers, for example, would not be able to run Azure themselves. This afternoon, I was told that third parties would be able to run it. I suspect what I heard this morning was the correct story.

Azure will be available for developers immediately. PDC attendees will be the first to get authorized (so that they can deploy services to the cloud), which should happen within the next two weeks; if that goes well, it should become more broadly available thereafter. MS underlined that this is an early release and that everything could change (API-wise), which is why it's initially going to be free to use.

MS is also going to take a conservative approach to rolling out new features. Although the keynote said that native code would be possible, this is one of the features that won't be available from day one. It is still undergoing performance/reliability testing and will be enabled at a later date.

Azure will eventually underpin most or all of MS's online offerings—SharePoint Services, the various Windows Live services, Exchange Services, etc.—and, though it's still early days, some software is already running on Azure. Live Mesh is using Azure's storage system for its BLOB storage.

There are SDKs available for Java and Ruby. These SDKs enable Java and Ruby developers to call into .NET Services hosted on Azure—but they don't (at the moment, at least) allow Java and Ruby developers to write services hosted within MS's datacenter. This is one area where EC2 looks like a much stronger option. EC2 may provide less infrastructure than Azure, but the flipside is that EC2 gives developers much more flexibility to choose development languages, runtimes, and so on.

Microsoft says that Azure is the result of three years' work. That may be true, but from what we've seen so far, it's still an immature product. MS has the big picture things nailed down, but the actual details—APIs and specific features—are still very much in flux.