I've been meaning to do this for a while, and after I read this, I figured it's about time that I vented about Microsoft's virtualization offerings.
Virtual PC
Apparently Virtual PC 2004 SP2 (oops, I mean Virtual PC 2007) went into Release Candidate phase. The program went from one beta that listened to hardly any feedback, and then a candidate for release. WTF?
My opinion stands that VPC 2007 is nothing more than the exact same VPC 2004 UI with the Virtual Server binaries under the hood. Why do I think that? Because all the advancements in VPC were already there in earlier betas of Virtual Server 2005 R2 SP1 (a really stupid name, BTW... it should just be Virtual Server 2007).
My beefs with Virtual PC are many. For starters, the UI is horrible. Why is each VM in it's own window, with another set of UI only available from the system tray? Why isn't everything managed from one simple MMC-like interface. Even better... why isn't it managed in MMC? Isn't that kind of thing what MMC was designed for?
Another thing is managing VM options. The options for the Virtual PC Console app are under "File | Options". Clicking "Actions | Properties" on a running VM gets you a generally useless statistics pane, but clicking "Edit | Options" gets you the changeable options for the running VM. Uh... hello Usability guys? Were you taking a nap or something during this meeting?
On the plus side... drag and drop is a really nice feature of Virtual PC. But if Microsoft moves to a Remote Desktop interface for VMs (which I hear may be a possibility moving forward), that support could potentially get the ax due to security issues.
Virtual Server
I've been using Virtual Server as my VM system for quite some time. Performance is pretty good. But what REALLY frustrates me is the BS web-based management app that was built using CGI. CGI?!?? Microsoft has the best web programming platform on Earth... they can't devote two weeks of dev time to making an AJAX-enabled ASP.NET-based VM management app that is skinnable, performant, and doesn't suck? Or how about a GUI version that doesn't need a website? It's amazing what you can do if Microsoft spent more than 12 man-hours on something that so many people use.
The only other thing that frustrates me about Virtual Server is the way networking is set up. For the life of me, I can't figure out how to set up a network between a Guest and the Host that doesn't require the physical network adapter to be enabled. Sometimes I work on VMs on my laptop while I'm travelling, and since VMRC is as equally terrible as Virtual PC, I can't Remote Desktop in because the Guest VM can't get an IP address. Which means I have to make sure I shut down the VM in Virtual Server and start it up in Virtual PC first. Ugh.
Viridian
Right now, most of Microsoft's resources are being put into Viridian... which is a good thing, cause Viridian will be the coolest thing to hit Windows Server in a long time. I'm under NDA about the details... but trust me, it'll be sweet. It's just too bad that Microsoft's other virtualization offerings have to suffer because of it. And the fact that both VPC and VS are free now doesn't give Microsoft much of a business case for accelerating development on their more mature offerings (thought I use that term very loosely).
Conclusion
These things are allowing VMWare to open up a can of whoop-ass on Microsoft with VMWare Workstation 6.0. Some things it can do that Microsoft's VM offerings only dream of: 64-bit guests, multiple-processor guests, multiple-monitor support, an integrated Virtual Debugger, integrated screencast capture, and advanced virtual networking wizards. The only think keeping me from switching? Well, you can't beat free. $189 is a tough pill to swallow for a freelance developer like me. I'd rather spend that on a RAM upgrade for my laptop or an HD-DVD drive for my Xbox 360.
So for now, I'll continue to be masochistic about my virtual setup. But as VPC continues to stagnate, and VMWare continues to improve... my list of reasons for doing so grows smaller.