The announcement of Windows Azure a week ago at Professional Developers Conference (PDC) 2008 marked the second time this year that I've had to reflect on what it's like to get what you wish for. (The first, of course, was Microsoft's decision to make Internet Explorer 8 render Web pages in standards mode, which has resulted in massive incompatibilities for that browser.) You see, I've been a huge proponent of cloud computing solutions for some time now. And yet, with Microsoft finally moving beyond its previous tentative steps into this new computing model, I'm suddenly fearful that the company is moving too fast.
Windows Azure, as the lowest level of this platform is now called, is big. Very big. Very big and very complex. It is both wide and deep, confusing and new, but in a scary way. But you don't have to take my word for it. Just examine Microsoft's own press release for Windows Azure, and you'll note that the phrase "Windows Azure" doesn't appear until over 370 words into the release. If you watched last Monday's PDC keynote, you may also notice that it took Ray Ozzie approximately 30 minutes of preparatory explanation before he finally unveiled that Microsoft was indeed releasing something called Windows Azure. This is a product that defies any simple explanation.
So let's see if I can step back and try to work through a description of Windows Azure in a way that will be approachable by mere mortals. Looking at Microsoft from a mile high view, we see a very complex company. It sells desktop software solutions, server software solutions, online services, digital media, video game and entertainment solutions, PC accessory hardware, and other products and services. Most people are familiar with the notion of Windows being a desktop operating system, and understand that applications run on top of Windows, and that both Windows and its applications can interact with server systems, portable devices and other hardware, and online services. Windows is a platform, but its only one of many platforms that Microsoft makes. Indeed, Microsoft could very easily be described as a platforms company. Platforms are something that Microsoft does quite well.
Windows Azure is the foundation, or lowest functional level, of a new Microsoft platform with the awkward name of Azure Services Platform. Microsoft describes it as a cloud-based operating system that provides the development, run-time, and environment for the Azure Services Platform. That sounds confusing, but remember that desktop versions of Windows, like Windows Vista, can be said to provide the development, run-time, and environment for the applications and services that run on top of them. Azure, like desktop Windows, can be targeted by developers, who can create applications and services that run on top of this OS.
When people think of cloud computing, they often envision some sort of nebulous Internet cloud, which is vague enough to cause old timers some concern. But cloud computing basically means "hosted elsewhere" rather than hosted on-site. And scary or not, you're most likely taking advantage of some cloud services today. For example, Web-based email services like Gmail, Hotmail, and Yahoo! Mail are all cloud computing services because they are hosted elsewhere (i.e. "up in the cloud"). So are services like Facebook, Flickr, and Google Docs. To a growing generation of young computer users, cloud computing solutions define virtually their entire computing experience.
Microsoft's move to cloud computing has been in the works for some time. One obvious example of this transition is Exchange, the company's corporate-oriented email solution. Exchange has traditionally been offered as an on-site (or "on-premise") software install. That is, Exchange is something that a company's administrators and IT pros need to install, deploy, and manage. More recently, Microsoft has begun offering Exchange as a hosted services, first through partners and then through its own data centers. In such a hosted scenario, Exchange is being offered as a cloud computing service because it is hosted (and managed) elsewhere. There are advantages and disadvantages to this approach, and because Microsoft knows that not all companies will simply move to this model, it also provides "federation" capabilities that allow on-site Exchange servers to interact with hosted (cloud-based) Exchange servers as if they were in the same environment. Again, Microsoft gets platforms, and its experience here will pay off as it moves to a more cloud computing-centric business model.
Windows Azure and the wider Azure Services Platform take this model to its logical extreme. As part of this upcoming platform, Microsoft will offer its business customers two choices for all of its server offerings. They will be able to install, deploy, and manage local server products on-site as always. Or they can access hosted versions of the servers, as services, up in the Azure cloud. (OK, there's a third option: They can mix and match as needed as well.)
In the context of Windows Azure and the Azure Services Platform, the "cloud" is Microsoft's own datacenters. The software giant will be responsible for hosting, updating, and managing all of the hardware, virtualization, and software resources needed to serve its customers. It will offer what it calls "five nines" of reliability, or 99.999 percent uptime, through a service level agreement (SLA) with its customers. And it expects, over time, that most of its corporate sales, which are already on a subscription model of sorts, will migrate to the cloud over time.
Naturally, there's a lot more going on with Azure. In the next part of this preview, I'll dig a bit deeper and examine the parts that make up this frightening--but exciting--new platform.