Friday, March 26, 2010

(Editorial) Why the Client Hypervisor is Doomed

Big surprise! Both VMware and Citrix have fallen behind schedule in delivering their “bare metal” hypervisors for client computing. Both had promised to deliver solutions by the end of 2009, but now VMware has reset that goal to the end of this year while Citrix has stopped talking about ship dates altogether.

So, what happened? In a word, hardware. Or more precisely, the ever changing cornucopia of PC hardware devices and configurations. A “bare metal” hypervisor has to sit at the very bottom of the software stack, where it directly manages, and controls access to, the underlying hardware devices. And doing those two things requires hardware-specific control software – i.e. device drivers.

Developing a comprehensive library of device drivers is no easy task (just ask Microsoft). Even assuming that you can create enough generic or “pass through” type modules to allow the majority of common devices to function, there will still be the inevitable subset of components or peripherals that refuse to cooperate.

It would only take handful of (highly publicized) customer run-ins with such finicky devices to give the “bare metal” client hypervisor a long term compatibility black-eye. Which is why these leading vendors continue to test – and wait.

But waiting (and testing) won’t solve the long-term problem of PC hardware churn. Unlike in the server space, where hardware evolves more slowly and where there are fewer basic configurations to support, the client PC space is in a constant state of flux. The never ending performance arms race, coupled with a near constant stream of innovation at both the internal and external component level, has turned the PC platform into a moving target. Blink, and you’ve missed it.

What is needed is a layer of hardware-level device abstraction, with groups of discrete components functioning as a logical block and accessible through a relatively static interface model. Intel is doing its best to promote as much through its vPro and similar management initiatives. However, these sorts of solutions require significant buy-in from the very OEM partners who stand to lose by making client computing environments portal across hardware platforms. Why would HP want to make it easier for you to move your stuff over to Dell or Acer?

And then there’s the 800lb gorilla in the room next door. Microsoft, which stands to lose the most in a hardware-abstracted world, has been relatively silent on the issue. Ask them about “bare metal” hypervisors on the client and they’ll respond that they “already have one…it’s called Windows.”

In fact, much of what a “bare metal” hypervisor does is entirely redundant in a Windows client environment. It’s an abstraction (client hypervisor) of an abstraction (the Windows Hardware Abstraction Layer). Which makes me wonder why you would really want one in the first place.

After all, it’s not like the current generation Windows platform is really tied to the underlying hardware. Technologies like Plug & Play and improved hardware auto-detection/driver-reconfiguration have made the process of creating a portable, hardware-abstracted Windows client image relatively trivial. This was the whole point of developing WIM and other post-XP installation technologies: To make PC imaging easier.

So, if the primary goal of a “bare metal” client hypervisor is to further abstract the OS from the hardware (and I give zero credence to the “other” reason being bandied about: Running multiple OS VMs on a single PC), and if this task is already handled quite effectively by Windows and its well-established device driver ecosystem, then the only real reason to pursue such a strategy is if  you’re trying to do an end-run around Microsoft’s desktop hegemony.

Which is exactly what VMware and Citrix (not to mention Microsoft’s fair weather friends at Intel) are trying accomplish. They want to remove the Windows kernel/HAL/driver model as the gatekeeper to the PC client world. As such, their actions represent a clear and present danger to the ongoing survival of Microsoft’s core desktop OS business.

And we all know what happens to companies that post a threat to Microsoft’s bread-and-butter revenue stream. First they pan you. Then they copy you. And, finally, they bury you – typically with one of those infamous “free” solutions that seems to fit the bill but still somehow locks you into their world.

A “bare metal” hypervisor on the desktop? Without Microsoft’s direct support?

Good luck VMware and Citrix…you’re going to need it!


1 comment:

Bill Corrigan said...

Randall - great blog post. I agree with your sentiment about the hardware compatibility issue being a huge roadblock for client hypervisors using emulated drivers. There's just NO WAY any vendor can keep up with the nearly 5 million individual Windows drivers. That is why the concept of "PassThrough" is so important in a client hypervisor versus a server hypervisor. With PassThrough, the driver that is within the "guest" (quotations because in a Type 1 configuration, there really is no "host") passes through the hypervisor to control the hardware. This eliminates all of the problems associated with the driver emulation issues that Citrix and VMware are facing.

Of course, there are pluses and minuses to every technology. With the PassThrough drivers, you don't get the ubiquity and "golden image" promise that you get with emulated drivers. However, as customers and the industry has indicated, most people want their clients to be rich, fully-functioning devices and not dumbed down by a "one-size-fits-all" driver. The upside is huge because of the plethora of use cases that can benefit from the separation and management of a client hypervisor, so I am very bullish on the long term success of it in the market.

Bill Corrigan
CMO - Neocleus (another client hypervisor-based company)