Computerworld

Virtualization to transform IT

The term virtualization is applied in many different contexts these days. What do different virtualization schemes have in common, and how are they different?

They're [all] inserting a level of indirection between the software and the hardware of the system. There is virtualizing 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 virtualization layers that are out there.

Today, the killer application for virtualization in the enterprise is server consolidation. What will the next one be?

If you view [virtualization] as taking a bunch of machines and squeezing them onto a single machine, you're not using the real power of virtualization. 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 virtualization layer, what can it do for me to make IT more manageable and run 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.

Virtualization encapsulates a complete, running system environment into a file. How will that affect how software is distributed and installed?

It's definitely going to have a big impact. You can see that already with people shipping virtual machines around which have all the software fully installed to run a service. You can take this collection of bits, and all you do is drop it on a virtualization 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.

Page Break

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?

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 centralized 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.

Today, the operating system is at the centre of things. With virtualization schemes appearing above and below it, is the role of the operating system changing?

The virtualization 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 virtualized 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 nontrivial bit of software.

Ten years from now, how will virtualization have changed the PC and server landscape?

Virtualization will provide all the computation, all of the disks and all of the networks in your organization. You'll have decisions to make about when to buy more storage bricks or compute bricks based on scheduling of the workload. 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 personalize 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 multipurpose it for anything you want. In a virtual world, you build virtual machines and just customize what you want to do. That' a pretty different way of thinking about how computing goes on.

Mendel Rosenblum, co-founder and chief scientist of VMware Inc, (a subsidiary of EMC Corp). He founded VMware in 1998 along with Scott Devine, Edward Wang and Edouard Bugnion. In addition to working at VMware, Rosenblum is an associate professor of computer science at Stanford University, where he leads a group focused on operating systems research. He and his students developed the Hive operating system, the SimOS machine simulator and the Disco virtual machine monitor. In 2002, he received the ACM/SIGOPS Mark Weiser Award for his creativity, innovation and vision in operating systems research.