I spent much longer than I expected writing my First Look at the Microsoft Azure Services Platform. It wasn't just that I hadn't been at the PDC where Azure was announced: I normally do pretty well reading between the lines in Microsoft documentation. First, the invitations for services dribbled in over the course of a week. Then, the SDKs required Windows Vista SP1 or Windows Server 2008 with Visual Studio 2008 SP1 and SQL Server Express just to install.
My main installation of Visual Studio 2008 is on a Windows XP SP3 desktop. I do have another copy that is installed on Windows Vista, but it's on a laptop that normally lives on my desk at home, and I wanted to do most of the work on this First Look at my office, where it's relatively quiet. Attempting to learn new concepts while the teens in the next room erupt into fights over Project Runway versus Family Guy is less than ideal.
I tried to get a quad-core system built quickly for this effort, on which I'd run Windows Server 2008, but I had a small snag in my personal finances when the stock market melted down and my upstairs bathroom suddenly needed remodeling. So I was reduced to doing my First Look on an underpowered laptop, and to carrying the laptop back and forth to my office on a daily basis.
Once I resigned myself to that and slogged through all the downloads and installations, I found myself overwhelmed by the sheer scope of the Azure Services Platform and the multiple sources of documentation and samples and labs. Eventually, as I tried the samples and built simple projects, I calmed down about the whole thing and started admiring the Azure Services SOA architecture.
The day after I turned in the first draft of my article, I finally got to speak with five of the managers on the Windows Azure-related teams: Steve Yi, Senior Product Manager, Marketing, Connected Systems Division (CSD); Dennis Pilarinos, Principal Group Program Manager, .Net Services; Tudor Toma, Principal Group Program Manager, Data and Storage Platform Division; Arash Ghanaie-Sichanie, Senior Program Manager, Live Platform Services; and Tracey Yeager Blackburn, Senior Marketing Manager, PR, CSD. Frank Kane of Waggener-Edstrom organized the teleconference.
I started off with the hard questions: What will Azure cost, and what service-level agreements will be available? As I expected, those answers have yet to be determined, but according to Yi they'll probably be announced in March 2009. Then I had a pleasant surprise: Tudor Toma jumped in and made an impassioned case for high service levels.
"The SDS (SQL Data Services) team is very serious about making our service levels business-ready," Toma said. "We're implementing systems with high availability and fast recoverability, and we're enabling disaster recovery with multiple data center locations. One to three years out, we don't want the Azure cloud to be perceived as risky, the way most clouds are viewed today: we want the Azure cloud to be the preferred and most reliable location for data storage."
I didn't expect that to go by without comment from PR or marketing, and Blackburn obliged by reminding me that the primary purpose of a CTP (Community Technology Preview) is to solicit early feedback from developers on the technology.
We turned the conversation to the development experience. Yi agreed with the advice I gave in my First Look: developers should start by going through the hands-on labs, if possible. He also suggested using the Azure developer forums for questions. Toma pointed out that there's additional developer content on the Azure Developer Center site that's updated frequently, and Ghanaie-Sichanie mentioned additional material at dev.live.com.
There are three complete site demos promised in the Azure SDK that have not yet been delivered. When I asked about their status, Yi told me which Evangelism group was working on them, and said that he expected them to go live in a few weeks, so they will probably be available in January 2009. Yi also promised that the Azure developer experience will improve over time: "We know that the SDKs are a little raw at this point, but we're still working on them."
Yi made a strong point about the interoperability of the services platforms and the use of REST, SOAP, ATOM, and other standard protocols. He also pointed out that Microsoft had worked hard to allow .Net developers to use their existing skills for the Azure cloud. They could easily have invented a whole new set of languages and tools. I had gotten both of those points into my article on my own.
Ghanaie-Sichanie discussed the four pillars of Live Services: services about users, devices, applications, and synchronization. I had skipped over most of this in my First Look: I'll have more to say about it at a later date, perhaps when a Live Services CTP invitation becomes easier to obtain for mere mortals.
Finally somebody, perhaps Yi, pointed out that the whole PDC was recorded and available on Channel 9. I made a joke about having an infinite amount of time to watch PDC reruns, but the point was a good one: if you need a good introduction to Azure or any of its component services, you could do worse than to watch the relevant PDC sessions on Channel 9.