Why Did Microsoft Build Hyper-V? Let’s Turn Back The Clock…
I was reading Alex’s post on SearchServerVirtualization this morning and really focused in on this comment from John Humphreys at Citrix:
If you think about what the operating system does, it only does three things. It provides an interface to the hardware [and] to the software and provides middleware,” Humphreys said. “If the hypervisor is doing one-third of that job, that’s a potential price cut for [Microsoft].”
This comment has had me thinking all morning, and now as I sit down to enjoy some lunch, I’m really starting to noodle a this idea (the boucing between past and present is intentionl - this has been sitting with me all morning, seriously). First I started thinking about the OS vs. hypervisor idea. Do these two ideas compete? Is it really the goal of the hypervisor to replace the OS, or at least take on 1/3rd of the duties as John suggests? I think the answer is “No” to both of these. I think the hypervisor’s role is to manage access to and, to a certain extent, emulate hardware, for operating systems, not instead and not to replace. Long term I think this will allow the OS to function more on resource management for its own applications rather than having to also worry about where those resources come from. Seperation of duties: let the OS manage the apps so they all play nice together and then let the hypervisor manage the hardware for the OS, while the OS still owns allocating the resources. Even better when the OS’ and hypervisors start working together ala paravirtualization, which is an interesting side note to all of this and may have answered my question, but before I get to that…
So then I latched on to this comment from Gordon Haff:
Haff believes Microsoft’s attitude is misguided. Rather than “stress out” about delivering a hypervisor, it “could have done more in the partnering arena and saved the world 75% of the ‘Microsoft doesn’t get virtualization’ stories’ and never lost a penny.”
…and that got me thinking about the “Why didn’t MS partner for the hypervisor?” idea. And here, I’m stumped. We all know MS isn’t a hardware company, and minus the XBox they admit this as well. So if the hypervisor truly is meant to emulate hardware rather than software (ie the OS), why would MS want to build a virtual hardware platform? As far as the OS is concerned, the hypervisor is the hardware platform. Why buy then build rather than partner? Why not work with a company that’s 100% focused on the hypervisor? I think we all also agree that MS is a software company; their revenue comes from software licenses. They make apps and operating systems to run those apps.
This begs the question: What was the original benefit evaluation for MS to start building Hyper-V (knowing that Hyper-V grew out of Virtual Server which was acquired by their puchase of Connectix in 2003)? Why did they head down that path rather than working with VMware (remembering that until recently, Xen wouldn’t have been an option due to its *nix lineage)? MS makes money every time an enterprise installs VMware to run a Windows operating system. With issues like sprawl, MS could stand to make a good amount of money on both OS and app licenses. And as we saw on Mike D’s blog (although take it with a grain of salt b/c Mike does work for VMware and has vested interest in propogating the MS vs. VMware price war), the MS licensing model does require a finite number of virtual instances of their OS for every license except with a full Data Center license, which makes sense.
Now please don’t misunderstand me: I am in no way suggesting that MS shouldn’t be in the hypervisor business or kill Hyper-V. I’m simply thinking out loud. Long time readers of this blog will know that I actually think MS is in the perfect position (long term) to completely change how we think about using discrete hypervisors, operating systems, and apps. The day I can run Sharepoint on a bare metal, bootstrapped hypervisor (ie hardware -> Hyper-V/WinKernel -> Sharepoint) is the day I jump for joy. Now that we have Hyper-V, I think MS does have the ability to own the virtual stack and deploy true application virtualization better than anyone. And I also disagree with Haff’s comments about MS not getting virtualization. I think they get it extremely well, they’re just up against a technology originator (in the x86 space anyway) and have to defend every thing they do. Which is funny given the nature of this post I guess.
But before we had Hyper-V…To me it seems they would have had nothing to lose from partnering with a VMware hypervisor company and jointly developing a “WinOptimized Hypervisor” or something of the like, in a similar manner to working directly with Intel for CPUs. Was their goal to own the stack for app virtualization without an OS? To create a paravirtualized running environment where Server 2008 and Hyper-V, for example, separate duties (which they’ve done on the hypervisor-only front)? Even if that comes at a huge cost from competing with VMware and having to become hardware experts for things like virtual switches and infrastructure? What’s in it for MS?
Anyone know the history (more recent than Connectix) and/or want to chime in? I’ll be the first to admit if I’ve got this wrong, so let the opinions fly! What am I missing? ![]()
