Microsoft may be "all in" for the cloud, but will developers follow?
At the Professional Developers Conference in Microsoft's Redmond headquarters this week, CEO Steve Ballmer and colleagues announced various new capabilities in Windows Azure, the platform-as-a-service offering whose success or failure will be crucial toward Microsoft's long term prospects in cloud computing.
While the PDC crowd is largely pro-Microsoft, those developers who are already building apps on Windows Azure give the service good reviews for its developer services and scalability.
"Windows is an operating system for a machine. And Windows Azure is an operating system for a data centre," says Chris Hewitt, a developer at Readify, an app development consulting company.
Azure is ripe for innovation, Hewitt says. "There isn't really anything else out there that's similar to it. When Windows came out, Microsoft didn't know what was going to run on it, and they don't know what's going to run on this."
To win the cloud computing market, Microsoft will have to contend against the likes of Google's App Engine, and the VMforce partnership between VMware and Salesforce.com. Both of these are in the platform-as-a-service (PaaS) space, which provide developer-friendly tools for building and hosting web applications.
But Microsoft also has to prevail against Amazon's Elastic Compute Cloud. An infrastructure-as-a-service (IaaS) offering, Amazon EC2 provides access to pre-configured virtual machine images, whereas PaaS provides abstracted views of the underlying infrastructure. PaaS minimises development complexity but allows somewhat less flexibility and portability of applications.
Microsoft believes platform clouds, rather than infrastructure clouds, are the way of the future and Hewitt is inclined to agree. "Absolutely, 100%," Hewitt says. "I don't want to deal with any of that stuff," he adds, by which he means the burden of managing virtual machines.
Hewitt's excitement is also due to the ability to scale up applications on as-needed basis, and to pay as you go. If a Web application proves popular, you just "turn up the knob" to handle more traffic. If it's not as popular, you leave things as is and don't waste the money, he says.
Azure's scalability also attracts developer Barry Stahl, who works for US Airways. "You just don't want to run into the scalability scenarios that kill so many startups," Stahl says. "For me, just being able to deploy it out there and know I can scale unlimitedly, that gives me a peace of mind."
At PDC, Microsoft announced new Azure features called the "Windows Azure Virtual Machine Role" and "Server Application Virtualisation," which let developers run Windows Server 2008 R2 instances in the Azure cloud, and transfer application images to Azure.
While the ability to run Windows Server instances in Azure is reminiscent of Amazon-style IaaS, Microsoft describes it as less an embrace of the IaaS model and more of an "on-ramp" that lets developers move existing apps from their data centres to the cloud and get the advantages of PaaS. Beta and preview versions of the Virtual Machine Role and Server Application Virtualisation features will be available before the end of 2010.
Although Microsoft has argued that the lines between infrastructure and platform clouds are bound to blur, Server and Tools president Bob Muglia said during the PDC keynote address that Microsoft is still firmly in the PaaS camp.
Developers' familiarity with software like .NET, Visual Studio, System Center makes Azure a natural fit for them, while providing greater fault tolerance than a typical IT shop might be capable of, he said.
"Platform-as-a-service recognises that failure will happen," Muglia said. "Failure will happen certainly within the hardware. It's designed to keep the application running through failure. When something fails it's no big deal. Another instance is just spun up."
Some developers are showing interest in using Azure on the back end for building Windows Phone 7 applications, Microsoft said.
Muglia also brought Pixar official Chris Ford up to the keynote stage to discuss how Pixar is using Azure to speed up rendering of video. A 103-minute movie in 3D (like "Toy Story 3") has 290,000 frames, and each one takes eight hours to render, he said. "You can see this is a big computational challenge," Ford said. "If we had just one processor, it would take us 272 years to render a movie."
In addition to the application virtualisation and cloud-based Windows Server instances, Microsoft discussed numerous other planned features that will ease the development process while improving performance and data access.
For example, AppFabric Caching, to be generally available in the first half of 2011, will help developers accelerate applications by storing frequently accessed data in an application's memory cache.
DataMarket, released at PDC, provides access to third party data and analytics, such as real time stock information, that can be used to build apps. Microsoft also said that before the end of 2010 it will deliver the Windows Azure Marketplace, a spot "for developers and IT professionals to share, find, buy and sell building block components, training, services and finished services or applications."
Stahl of US Airways was intrigued by a demo of Team Foundation Server (TFS) running on Azure, which will be available as a technology preview in 2011.
"I'd love to have a development server in the cloud," Stahl said. "I saw some hints that that might be possible, especially with the TFS offering."