Sure, we got some hints along the way, especially earlier this year when Microsoft launched a preview of Live Mesh.
On Monday, Ozzie finally talked about what he's been up to. Microsoft launched Windows Azure, essentially its long-rumored Cloud OS.
In an interview after his keynote on Monday, Ozzie talked about what Azure means for developers, businesses, and even the everyman.
Here's an edited transcript.
Q: One of the selling points of Windows Azure is the idea that it uses some of the same tools that developers already know in terms of .NET. What parts of it translate and what are new skills that developers are going to have to learn?
Ozzie: The day-to-day writing of code, and many of the modules that they may have already built in their products will translate fairly readily. But things that are fundamentally different tend to be at the application framework level, meaning the fundamental assumption in Windows Azure is that there is no single point of failure. No computer by going down will take down your application. So, if your app is not written in that way--is not written to handle this one going down and this other copy of itself taking over,-then fundamentally the application pattern does have to change. Most applications will not run that way out of the box.
How does this all come together for developers? What is the time frame when people are going to really get their hands on this?
Ozzie: Well, for the people who are here, who can register today, and then later when others get it, they should download the SDK, download the Visual Studio Express if they don't have it, and begin to play with it, register and start uploading code to the cloud; (to) understand the nature of the environment. For people who have used our systems before, it will initially seem familiar, but when they restart their computers, the hard disks are empty. There are certain aspects of it that feel different...For somebody who has used (Amazon's) EC2, it will be a lot easier to get up to speed, because there are some concepts that are carried across.
I talked to Amazon last week to get a sense of what they're doing. They were like "we offer choice; you can do Windows or Linux." Why do you need or want a separate operating system in the cloud and what are the benefits?
Ozzie: I think the biggest benefit is that we've raised the level of abstraction up to this thing that we refer to as a service model where you declare in a very model-based way the different pieces of your application--which pieces need to run close together, which pieces need to run far apart from each other for redundancy. And you might give hints that I want this running in a different datacenter. You give it hints, if there's a high demand, on how high you're willing to let it go in terms of how much you're willing to pay for how long, and so on. You basically express this and you let the system just deal with it. There's much less manual effort by the developer or by the operations personnel in provisioning another virtual machine, turning off another virtual machine; it's kind of automated.
Ozzie paints Windows Azure
One of the things about Windows Azure is it's running in Microsoft's datacenters. Obviously it leverages the big investment you guys have made for your own software and your own Internet services. Do you want to be in that business long term of being the world's computer?
Ozzie: It's a business that we will be in probably as long as there will be a Microsoft. We have our own myriad properties that are all going to the Web. Every one of our properties, from the pure Web properties like MSN that are just services, to things that you've seen like Exchange and SharePoint that have enterprise presence and service, everything has a service component. So, even selfishly we need to have very, very high scale services.
We have very good relationships with our enterprise customers and the developers that serve those customers, and we really believe that by collocating those apps with our apps, it's an extremely important thing.
There's also an issue of trust. Cloud computing is ultimately going to be 'do you trust this provider to have more to lose than I have to lose as a company if they mess me up?' And Microsoft has both the capacity to invest and the willingness to be in that end of a business, and give that kind of a trust assurance to developers and enterprises.
Looking out three or five years, what do you think the balance will be in terms of enterprises running software in the way that they do today versus living in the cloud? Obviously Microsoft is making a bet that there's going to be a balance.
Ozzie: Purely speculative based on the things that I've learned. Infrastructure will be a no-brainer. The things where there isn't unique business value added to a given system, such as e-mail infrastructure is a good example, phones, videoconferencing, or live meetings. And as long as we achieve the performance objectives and cost objectives that they want, I see no reason why those are not going to migrate very, very quickly to the cloud, except in government environments where they have separate networks that are disconnected from the Internet.
In terms of business applications, it's really going to take longer because there are different businesses for a variety of reasons in terms of the risk profile, the regulatory environment of a given industry, how much you bring your customer data online, that's going to take a little bit longer. Some companies might do it quickly.
What we've seen is that business units within big companies (who) pick up on it, use it for a rapid application, might throw it away. They'll experiment with it. But in terms of the strategic enterprise apps, it might take a little longer.
Part of this is about shifting the costs from companies running their own datacenters to taking advantage of the scale that Microsoft brings, but I imagine another piece of this vision is the types of applications that can only exist.
Ozzie: That's exactly right.
We only saw one example of an Azure application today. What are the kinds of things that can be done, and has Microsoft done some things that really are only possible with Azure?
Ozzie: I think some of the benefits of some of the things that have emerged during this Web 2.0 era relate to things that you can do when you aggregate and utilize the activities of many, many people who are hitting your site. I think those kinds of things will become more broadly done by enterprises and other customers than they are done today. They're not very mainstream. Amazon is a leader in using those kinds of techniques. But for the most part, most Web sites' experiences today are very monolithic. I think in terms of the short term, it's mainly going to be the infrastructural (adoption).
So, how does the business of this shape up for Microsoft? It's free while it's a developer preview. How does the business look? When does it become a business for Microsoft and how does it compare to Microsoft's existing businesses?
Ozzie: Well, when we finally determine that it achieves the objectives from a completeness perspective and a reliability perspective that our customers would expect of us, then we'll go commercial. And when it does, it will be profitable from birth because we're going to price it to be that way.
If you looked at that layer cake that you saw on the screen with the foundation and the middle services and the top, the margins increase as you go up that stack. At the top of the stack it's value-based pricing because it's a solution. At the bottom it's really more or less the resource utilization, the margin on top of that resource utilization and combined with an SLA.
What should the average person take away from today's announcement or the average computer enthusiast who is not a developer?
Ozzie: It's a new kind of computer that 20 years from now we'll wonder how we did without. We know about PCs, we know about servers. Every company right now runs their own Web site and they're always afraid of what might happen if it becomes too popular. This gives kind of an overdraft protection for the people who run their Web sites. By letting us run that piece of their Web site or them running it on our infrastructure, they don't have to worry about the capacity; they can worry about what they're trying to do with it.