While much will be said about Microsoft's cloud-computing strategy introduced Monday, at the heart of Windows Azure is a fairly simple goal: inspire corporate developers to rethink the way they develop software so applications can take better advantage of the Web.
Microsoft is trying to differentiate its Azure cloud-based development environment, unveiled in a keynote at the Microsoft Professional Developers Conference in Los Angeles, from competitive offerings like Amazon's Elastic Compute Cloud (EC2) by saying Azure does more than just take traditional software and put it in the cloud.
In an interview Monday at the conference, Microsoft Chief Software Architect Ray Ozzie described how traditionally software has been built according to a scale-up model, which isn't practical for the current era of the Web, when applications must be flexible and accessible to a large number of users both inside and outside the corporate firewall.
"The systems we've built for enterprises are really the scale-up model," he said. "We build a system and we try to add hardware to make it get bigger and bigger and support bigger and bigger enterprises, but eventually that kind of falls apart."
With Azure, developers can build software in a scale-out model, which Ozzie described using an analogy involving tennis balls, and how a person or persons might handle them if someone was throwing balls at them.
"Let's say [someone] throws 100 balls at me," he said. "There are limits to the scale-up model and if I fail, all the balls will fall to the ground."
However, in a scale-out model, an application can distribute the task of catching the balls, which gives it more flexibility, Ozzie said. "There's a chance that by just adding more people, we can take any number of balls that he'll throw at us. And if one falls down, then maybe the guy next to him will pick it up, but he'll keep going."
Azure, then, allows developers to build applications according to this model, which means an application won't break down as it tries to process all the different connections -- to users behind the firewall, on the Internet and to myriad devices -- that the current wave of Web applications must juggle.
Ozzie used the example of Microsoft's Hotmail e-mail service as an application developed according to a scale-out model because the company knew from the beginning it would have to serve millions of users coming in from various connected environments. However, it didn't build its e-mail server software, Exchange, in this way, and had to rearchitect the application later to fit this development model, he said.
"There's a process you use to take an enterprise app and change it and rethink it to be that broad, horizontal thing," Ozzie said. "We've done that with Exchange, and we're doing that with more and more."