Microsoft Chief Software Architect Ray Ozzie has officially filled the shoes previously worn by founder and Chairman Bill Gates, stepping in as leader of the company's vast developer network, which is its lifeblood and crucial to the enormous success of Windows.
Ozzie delivered Monday's keynote speech at the company's Professional Developers Conference (PDC) in Los Angeles, introducing Windows Azure, a cloud-computing development and hosting environment that integrates Ozzie's vision for the future of the Web, which he began building at his company Groove Networks before he joined Microsoft.
Ozzie also took some time Monday for an interview with IDG News Service, discussing Azure, cloud computing and the future of the Windows OS.
Windows Azure will help corporate developers bring application development to the Web, but at the same time it looks like it's going to help Microsoft bring its own applications to the Web. Can you talk about the two purposes that it serves?
Ozzie: We looked at our own internal properties, we looked at the trends. We always try to monitor what are the technology trends that are going on and where might things happen. Our systems people were getting more and more interested in how the high-scale Internet services really work. And so we did this big assessment and we really came to the conclusion that there's a role for this new kind of computer, this computer in the sky, computer in the cloud.
When was this?
Ozzie: The first document that I know of that I wrote about was in December '05, and I know we were talking about it throughout '06. It wasn't so much what Amazon was doing, because essentially Amazon's model -- even though I have a lot of respect for what they've done -- they've basically taken more or less a hosting model of taking existing operating systems and putting them up into the cloud.
The conclusion we came to was there was this new role for this new third tier of computer in the cloud. You've got your personal computing tier, you've got Windows servers for the enterprise tier serving the enterprise, and now this computer in the cloud serving this whole worldwide Web.
Once we took that on we basically had to start thinking how does it change for developers, how would it benefit enterprises over the long term and so forth. So that project has been going for several years now, and part of the way through that project, that was when we began evaluating how can we take our business applications online on that platform, how will it help our consumer apps -- Hotmail and things like that.
But once we decided to really make it like a Windows in the cloud, that's a decision where you say, well if we're going to build those APIs [application programming interfaces] for our groups internally, let's make sure we also give them to people externally because they'll find just as much benefit as we did.
They don't have those people who run hundreds of millions of user services as we have. So I can't say there was ever a time that it was only for internal use or only for external use -- they really kind of grew up together. There should be no question it will help us run our internal things more efficiently, but we're really measuring our success more from the external feedback because it's more balanced than the feedback we get internally.
So you said Azure is different than just taking things and putting them on the cloud. Can you tell me how?
Ozzie: Let me try to describe it -- this is not an analogy I've tried. Let's say that Richard [Eckel, Ozzie's colleague] over there tossed me a tennis ball, and then he tossed me a second one, and he tossed me a third one. I could possibly juggle those three.
Each ball that I'm taking, I'm doing what we in the industry call scaling up. I'm the computer and I'm doing these things as much as I can. Now, let's say he throws 100 balls at me. There are limits to the scale-up model and if I fail, all the balls will fall to the ground. But if we together as a group decide we're going to take turns, as he starts throwing them -- hey you grab that one, I'll grab that one, he'll grab that one -- 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.
That's called scale out. It's basically saying the more tasks you're juggling, the more you can just keep adding things, and it just works in that way. The systems we've built for enterprises are really the scale-up model.
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. Something like Notes or Exchange has a history in building up and up and up. Hotmail started at exactly the opposite way, knowing it had to scale to hundreds of millions. There's a process you use to take an enterprise app and change it and rethink it to be that broad, horizontal thing. We've done that with Exchange, and we're doing that with more and more.