Listen to my interview with Amitabh Srivastava, corporate VP of Windows Azure, Microsoft's cloud platform, which was unveiled last month at the giant Professional Developers Conference in Los Angeles. The interview is recorded as two podcasts (Part II discusses the Azure roadmap). In Part I below, he explains how his team set out to develop a cloud platform that would satisfy the demands of enterprise IT.
Listen to or download the 7:50 minute podcast below:
PW: Now, Windows Azure is Microsoft's Cloud platform, which was announced last week at the huge Microsoft PDC Event in Los Angeles. So that was a big week, I guess, for you Amitabh because I think effectively Windows Azure is your baby, isn't it?
AS: Yes, it is. It's something that we've been working kind of like quietly like for some time and we were delighted to really discuss it with everyone.
Great. So now, in today's podcast, we're really going to be finding out where Azure has come from and where it's going. Now, I wasn't there in Los Angeles but I was watching the webcast and I noticed Amitabh you were on stage in red sneakers. I think there was a special reason for that.
Yes, the code name for this project was "Red Dog". And very early in this project, we went to this NIKEiD.com and we designed Red Dog shoes. In fact, we had a competition and who could design these red shoes. And so these are the official "Red Dog" shoes that I was wearing that day.
Right, right. Okay. So that's a sort of 'Easter egg' reference to the genesis of Azure.
One of the things I was wondering during the presentation is how much of Azure stems from Microsoft's experience of running its Live Services and the experience therefore of scaling those services to serve high volumes of consumers.
Yes, we have really taken a very thoughtful approach on how to build this cloud operating system. There were really three key assets that we brought to bear in building Windows Azure. The first one was that we have been running services for a very, very long time and we know how to scale [to] manage millions of customers, how do we really go make these popular, big services run.
The second asset that we had was we basically have a very big enterprise business and we kind of like understand what the pain points or what are the things that enterprise customers actually want. And the third thing was that we are a systems company and we have a lot of systems expertise in operating systems, and databases, and networking, and management, and in a lot of those system aspects that we have.
And we were able to bring all of those three assets of Microsoft to bear designing Windows Azure to really solve the key problems that the customers are really facing today.
Right. So I think there are two facets to those problems aren't there? Because I mean, one part of it is this ability to scale massively to huge fluctuations in demand, which is something those consumer web properties have got a lot of experience in and which actually the corporate enterprise data center guys probably don't get a lot of that. They have fairly kind of predictable demands that they cater to in their data center. So that is a fairly new requirement that you had to engineer to. Yet, at the same time of course, there are all kinds of enterprise expectations that don't apply in the consumer space.
Right. You're exactly right that the -- if you go into the data center space there it's all about 'scale out'. And the classic approach that is used in enterprise is basically 'scale up'. But the two things that tie both of these --
Amitabh, can I just kind of ask you to -- because you've used those two terms and those were quite important terms in the keynote -- but can you just define what you mean by the difference between 'scale up' and 'scale out'?
Okay. So scale up basically means that you have a single machine and you try to make it more and more powerful. By putting more processors, more memory so that basically the machine gets fatter and bigger.
Right. And that's the traditional enterprise approach.
That's a traditional enterprise model there.
In the consumer space or in the data center space, you really want to have commodity hardware and you want to have -- these are small commodity machines and you have millions of these. And they're built on the model that these machines are going to fail and you have to design your applications that can run on top of a lot of these millions of machines rather than on single big servers basically.
Right. And so that's the cloud approach really is to virtualize or make a separation between the underlying hardware and operating systems and what's actually executing on top of it.
That's right. And the key element, which ties both of these things together, is cost, right, is the total cost of ownership. And if you look at the basic functions that you still have to do things like you have to manage your applications, you have to deploy them, you have to maintain them, you have to update them. The software would change, you still want to have availability of those things there. So even though there may be a difference at a lower level there but a lot of the end results that you need are basically [the] same in both places there.
And by designing by Windows Azure, they're trying to put this layer on top of it so that makes it easy for you to develop your app to run in the cloud very easily. And so you get the scale and the management -- a lot of those things there very, very simple for example.
Right. So what are the things that you've -- I mean have you had to do a lot of engineering or reengineering to take that kind of consumer web experience that you got in scaling out and make it enterprise ready?
Yes, absolutely. And let me give you some of the key examples right. So for example, like if you're in the cloud and you have millions of machines, then the only deployment mechanism, which works, is Xcopy.
You don't want to really install it. You basically Xcopy the bits onto that particular machine and you just bring the machines up. That's the fastest way how you deploy the bits out of it. That's how you scale out to lots and lots of machines. Because you don't have the time to go and keep on installing on each of those machines and bring them up -- but that takes your management cost down.
Now, the second thing that you get out of this is that the model that we use in the data center environment is that machines will die. I mean it's a fact that machines will fail and you just -- you can bring the machines down and you can reincarnate into another machine. So the fundamental model that we use is that each machine is just a cache. And the truth is over the network at this one center point there.
So we brought a lot of our enterprise software to start following those models there. So even though we are deploying Windows Server 2008 as the base OS for a lot of these machines there, it's all Xcopy deployment. You're using the same fundamental knowledge that machines can die and they can be reincarnated and so this allows us to scale in a very, very cheap way across many machines.
Can you still do the management, and the security, and the compliance, all of that stuff that enterprise users are actually concerned about?
Yes, absolutely. In Windows Azure, we have about like six or seven levels of security. And what we do is even though we are running it on these commodity machines or across a lot of machines, but each machine itself has got a hypervisor built in it. So if you're running a managed code app, we have code access security, then we put firewalls and things like that for OS security to happen. We have IP filters. We have VLANs, and we have, obviously, the isolation that hypervisor gives it.
We have six or seven levels of security that we put in. So because we are running all the apps across all these machines there so we have really designed the system to give us the enterprise level of security that people are used to, because one of the audiences that we are designing for is the enterprises.
This is Phil Wainewright of eBizQ, talking to Amitabh Srivastava, VP of Windows Azure at Microsoft. Join us again for Part II of this interview, where we'll talk about the roadmap for Windows Azure and what customers can do with it today.