As founder and chief scientist at VMware, Mendel Rosenblum has been in the thick of the development of virtualisation technologies. He recently spoke with Robert L. Mitchell and discussed how virtualisation is changing the IT landscape.
Q: The term virtualisation is applied in many different contexts these days. What do different virtualisation schemes have in common, and how are they different?
A: They're [all] inserting a level of indirection between the software and the hardware of the system. There is virtualising at the operating system interface level; VMware is down at the hardware level, and then there are things like WebSphere that are up on top of everything at a Java-level interface.
For each of these different techniques, you have some advantages and some disadvantages: What can it run? What performance does it run with? How confident are you of the isolation of the environment?
I could go with my VMware hat on and say [that] the hardware is the best place to do things, it has the strongest isolation and the most compatibility, and so on. But someone else would say, "Yes, but your virtual machines are quite large now because you have all the software on that compared to a Java applet that runs in a Java virtual machine." It really depends on the need.
The one place I feel very strongly about is when we start talking about security. Security is undermined by just a single bug, and the only way to avoid bugs is by making something very simple. That's one thing that distinguishes the hardware interface from these other virtualisation layers that are out there.
Q: Today, the killer application for virtualisation in the enterprise is server consolidation. What will be the next one be?
A: If you view [virtualisation] as taking a bunch of machines and squeezing them onto a single machine, you're not using the real power of virtualisation. A large percentage of the people who use our ESX product also use our VMotion technology to move virtual machines while they're running between physical boxes. The same technology that allowed them to do server consolidation now allows them to do things like load balancing across the different hardware platforms.
Now that I have a virtualisation layer, what can it do for me to make [IT] run more manageably, more securely, more reliably? Once you have this technology, it will just be so useful for so many things that you won't even remember why you brought it in in the first place.
Q: Virtualisation encapsulates a complete, running system environment into a file. How will that affect how software is distributed and installed?
A: It's definitely going to have a big impact. You can see that already with people shipping virtual machines around which have all of the software fully installed to run a service. You can take this collection of bits, and all you do is drop it on a virtualisation layer, and suddenly it's a working service. It's a fundamentally different paradigm for distributing software because you no longer buy this software package and prepare the machines for it and install the operating system and applications on it. Looking forward, if you want a service, you'll go grab some bits from a provider you trust, drop it into your virtual environment and suddenly have a service running.
Q: Products such as desktop streaming tools, and thin-client software such as Microsoft Terminal Services, are abstracting the PC hardware from where software resides and where it runs. How will that affect the future of the PC?
A: That's a fascinating question. PCs just sort of took over the enterprise but also caused a tremendous pain point in managing these things. That pain point is high enough -- especially with the security attacks people deal with -- that people are looking at better ways of managing PCs.
Certainly, you can look at the different approaches. Terminal Services says, "OK, we're going back to our centralised facility where everything runs, and we use technology to push displays to the desktop." Softricity says, "We'll have an operating system running [on the desktop] but rather than having direct applications running on it, we'll allow them to dynamically download and run the applications." VMware ACE is yet another one where you build a virtual machine with a desktop environment, and you send it to someone, and they can run it on their desktop PC in a controlled environment.
They all solve some problems, but they all have weaknesses. In the next couple of years, we'll see players pushing hard for remote desktops using remote display protocols and other approaches for attacking this problem.
Q: Today, the operating system is at the centre of things. With virtualisation schemes appearing above and below it, is the role of the operating system changing?
A: The virtualisation layer takes away some of the functionality that the operating system was performing. For apps that are written against a particular API, like Win32, you'll still need the operating system code there. When you start talking about running in language environments like Java and WebSphere, there is a question of what you do with the operating system. It is a pretty large piece of middleware now in a virtualised world.
There is a possibility that it could possibly shrink down. If you're just going to run Java programs, you don't need a huge operating system. The flip side is that some functionality, like resource management, has to be performed by somebody, and it's still a non-trivial bit of software.
Q: Ten years from now, how will virtualisation have changed the PC and server landscape?
A: Virtualisation will provide all the computation, all of the disks and all of the networks in your organisation. You'll have decisions to make about when I buy more storage bricks or compute bricks based on scheduling of the workload I need to do. It might give me hints that I might need to buy more of this resource or the other, but it's all totally anonymous to me.
That's fundamentally different from the way we work today. Right now, people bring up a server and give it some name so they can personalise it. That will be gone in 10 years. You'll no longer think of a server as being something other than how you think of a disk in a disk array today.
Today, you put the world's most general-purpose operating system on [a server] so you can multi-purpose it for anything you want. In a virtual world, you build virtual machines and just customise what you want to do. That's a pretty different way of thinking about how computing goes on.