With Microsoft's Professional Developers Conference (PDC) 2008 now behind us, I'd like to reflect on the biggest announcement from the show with the benefit of a few days worth of decompression. Sometimes when you're at a show as big and momentous as this year's PDC, it's easy to lose sight of what is, and is not, important. And this PDC was, perhaps, the most confusing of them all.
PDC, if you're not familiar, is the irregularly scheduled conference that is always timed for what is then Microsoft's next big platform shift. As you might imagine, most PDCs have focused on various Windows versions. But there are exceptions, including the .NET PDC from several years ago, and this PDC, which focused on Microsoft's cloud computing platform, Windows Azure. Windows Azure is a lousy name, as evidenced by the sheer number of ways in which Microsoft employees pronounced it at the show. But Azure suffers doubly from the complexity of its mission. It's just so forward leaning that many people, myself included, have a hard time wrapping their minds around it. And it doesn't help matters that Microsoft didn't do a particularly spectacular job of explaining Azure at PDC.
Here's my take. Azure is Microsoft's next big platform, and yes, it runs "in the cloud," which is a cute way of saying that you can access it only over the Internet because it will run exclusively in Microsoft data centers. The easiest way to think of Azure is as a new version of Windows Server that you can't host on-premise. Instead, you can write custom applications that run in the Azure cloud, or take advantage of a new generation of Microsoft services--based on all of the company's traditional server products. These services will be federated, as well, so you can integrate with your current infrastructure and migrate over time to a fully cloud-based system. Or not. It's your choice.
What's most confusing about Azure to me is that Microsoft has a ton of other online services already, and it's currently unclear how (or if) they fit within the wider Azure Services Platform, as Microsoft calls it. According to one of those typical Microsoft architectural diagrams, Windows Azure is the foundational piece for a number of technologies, including .NET Services (developer frameworks), SQL Services (hosted version of the relational database), and a few other obvious pieces. And then there's something called Live Services, which are described as "marquee building block services ... for handling user data and application resources." You develop for Live Services using yet another new developer framework called the Live Framework. So. How do things like today's Windows Live services, Live Mesh, and Windows Live FolderShare fit within this structure? What about Office Live Workspace and Office Live Small Business? Microsoft Online Services (MOS)? I have no idea. And what troubles me is that I've spoken to a number of people at Microsoft about these issues already. It's unclear that they even have an answer.
And let's not even jump into the murky world of Microsoft's partners. If you thought MOS was going to sap your revenue stream, how does Microsoft self-hosting every one of its servers as subscription services make you feel? This is a topic that wasn't explored at PDC at all. And while you may argue that partner concerns have no relevancy at a developer show, well, neither do those nifty Windows 7 desktop effects they showed off at length, or that morning long orgy about irrelevant Microsoft Research projects. Put simply, this is all very exciting but also very troubling. There's a huge new platform coming down the pike, with still lots to be discovered. (And my guess is that Microsoft's decision to schedule a 2009 PDC has everything to do with the fact that Azure is going to evolve quite rapidly over the next year.) But there are so many questions, and so few answers. I hope to find out those answers. But it's been difficult so far. Bear with me as I try to sort out this mess. Check out the following related podcast on ittv.com.