Its Azure and apps strategies are giving businesses new choices.
"We're actually trying to help people do what they really will need to do for the modern time. You don't get that out of what Amazon is doing." -- Steve Ballmer
Microsoft's cloud computing strategy is a tale of two clouds. There are its popular software-as-a-service offerings: SharePoint, Exchange, Dynamics CRM, and the soon-to-be-released new Web version of Office 2010. And there's Microsoft's emerging platform as a service, Azure.
How quickly and easily customers adopt these offerings is an open question, but Microsoft CEO Steve Ballmer, in an interview at the company's Redmond, Wash., headquarters, says that every CIO he talks to is at least considering the move. And just in case they aren't, all of Microsoft's 2,000 account managers are being required to make a cloud pitch to each of their customers.
One of the main cogs of Microsoft's cloud strategy is Azure, its approach to selling computing power over the Internet based on usage, as customers need it. Microsoft has some enterprise customers such as Kelley Blue Book and Domino's testing key Web applications on Azure, and some smaller tech companies--including SugarCRM--sell software services running on the platform. But Azure continues to be a work in progress.
Azure is a long-term bet because, for it to be a blockbuster the way Microsoft envisions, software needs to be written differently--just as Web apps are different from client-server apps, which are different from mainframe software. Microsoft sees the switch to cloud development as being as significant as those earlier generational shifts. Developers will write applications, for example, so they take advantage of key features of a cloud architecture, such as the ability to automatically scale server resources up and down as needed for demand, treating their computing capacity as a pooled resource. Companies that run huge data centers to run Web apps--Google, Facebook, Microsoft, Amazon--do that today, but most enterprise data centers don't.
"There are a few people in the world who can write cloud applications," says Bob Muglia, president of Microsoft's server and tools division. "Our job is to enable everybody to be able to do it."
What's In Azure
Azure is pay-per-use computing and storage offered from a virtualized, multitenant IT infrastructure, meaning systems generally are shared by customers for higher efficiency. Microsoft's cloud infrastructure includes systems management that handles tasks such as autoscaling and failover and APIs that developers can use to tap into those and other capabilities. Azure has been available since the beginning of the year, at a cost of about 12 cents per hour for a basic Windows server.
Microsoft's service offerings include SQL Azure, a version of the company's database that has been configured for the cloud. Developers can run stored procedures and other SQL Server programming in Microsoft's data center rather than their own, with the added benefit that Microsoft takes on the headaches of database administration. "They don't have to worry about tuning, load balancing, cluster management, and all that, because that's done at the automated systems layer," says Doug Hauger, general manager of Microsoft's cloud infrastructure group.
Another element is Azure's content delivery network, which customers can use to distribute and store data and media files for better performance over the Web. The network is in beta, so Microsoft isn't charging for it yet. Another big piece in development is AppFabric, a service layer that supports identity management, messaging, service bus, and other middleware functions.
"There's nobody with an offer like ours in the market today--not even close," Ballmer says of Azure. "We're actually trying to help people do what they really will need to do for the modern time. You don't get that out of what Amazon is doing."
The comparison to Amazon was inevitable. Amazon launched its Elastic Compute Cloud in 2006, more than three years ahead of Azure, so Microsoft is playing catch-up. At this stage, Amazon enjoys not only a market-share lead over Microsoft and other cloud service providers, but mindshare among the cloud's early adopters.
Because Azure is platform as a service, geared toward development and hosting of Web apps, it lacks some of the basic infrastructure-as-a-service options available on Amazon's EC2. Microsoft is providing, in essence, a ski resort with only advanced runs. Company execs admit the mistake and say Microsoft will add what it's calling VM Role to offer more EC2-like infrastructure-as-a-service options. Microsoft wants to make it simpler to bring an existing workload to Azure.
Even so, Microsoft will continue to emphasize the platform-as-a-service model, encouraging customers to write apps and in some cases rewrite old apps to take full advantage of the cloud. "If you've got a hairball in your data center, and you move that hairball to an infrastructure as a service, and you don't rework it, it's still just a big hairball," Hauger says.
Microsoft expects businesses to build enterprise apps that scale up and down in the Azure cloud and that take advantage of its built-in high availability. Microsoft plans to engineer some of Azure's automation capabilities into Windows Server and its System Center management software; it recently announced Dynamic Datacenter Toolkit for Enterprises, to help IT departments create compute clouds in their own data centers. Being able to choose and switch among clouds is a recurring theme Microsoft uses, particularly against Google App Engine.
"Google is kind of its own weird, funny proprietary environment, which I don't think has any hope of ever coming back and being run except out of a Google data center," says Ballmer. "We have to have a story and an approach where people can run our cloud in their data center." A major preoccupation of Muglia's team is developing the software and tools to create hybrid Windows clouds that link corporate data centers with Microsoft's Azure services.