In mid-August I blogged about how I had made the cut over from using Microsoft's two virtualization products (VirtualPC 2007 & Virtual Server 2005 R2) to VMWare's offerings (Workstation v6 & Server v1). It has now been six weeks since I made the switch and since I've had a few questions since then, I figured it was time for an update. In short: I'm still happy with VMWare.
I explained in the last post what my situation is... basically consultant developer, instructor and writer that works out of a home office. I have a meaty server that runs my AD & SQL 2005, acts as a file share and most importantly hosts a few virtual machines (using the free VMWare Server v1). Like most consultants, I work primarily off a laptop and need to run VM's from that laptop.
For the server... nothing really special that pushes VMWare over Microsoft's solution. I do like the client app over MSFT's Web interface, but what I don't like is that the client isn't really suited for working with the VMs as they are fairly slow. Instead, I follow what others have done and use Remote Desktop to connect to my VM's. Those run fine, but that's a pain because I need to know the machine name or IP to connect to... just an annoying extra step.
For the laptop... this is where VMWare [Workstation v6] really excels. First, the client app absolutely rocks. So many things are just so much easier to do. For instance jumping between full screen & windowed mode. Sure, a simple ALT+ENTER in VirtualPC works, but I always had random instances where the full-screened virtual machine would fall back into a windowed mode. With VMWare, there are two buttons on the toolbar: one to do a "Quick Switch" or "Full Screen" mode. The latter is obvious, but the former does a tabbed interface of all your VM's in a near-full screen mode making it easy jumping between VM's as well as getting back out of full screen mode with only your mouse (great when doing presentations and you aren't standing right next to the keyboard... admittedly rare occasions).
I've also noticed Workstation v6 is a bit faster than VirtualPC 2007. It seems it's disks are bigger, but not that big of a deal (what's another few hundred MB when we're talking GB's?). For me though, this is mitigated using snapshots... the thing I thought was a nice feature until I tried it... it's critical for me.
Snapshots are kind of like differencing disks or somewhat like multi-stage undo disks in Microsoft virtualization terminology, but much better. Here's how they work: Say you're working on something but want to set a checkpoint so that you can come back to in case you run into problems. You create a snapshot right there... without shutting down/rebooting the VM... and a few moments later, you're working again (takes a few moments to create the snapshot). Check out the following image.
It shows my main MOSS 2007 development machine. I use it for demos, client projects, testing different things, etc. I can take any of those snapshots and create new VM's based off of them, or I can just jump to that spot and start working again... very cool! You can see where there's one point where I was testing three different approaches starting from a single point.
If I did this same thing using differencing disks with MSFT's virtualization tech, not only would it take more time to setup (as you can only do a diff / undo disk by shutting down a VM) and performance would suffer quite a bit... not to mention taking up more space on the disk.
Please don't take this as me slamming Microsoft's virtulization offerings as some did when I published that last post. Rather, this is just my experience. I still have VirtualPC 2007 installed and I still use it often.