After publishing the video this morning to recruit this week's ZDNet Deputy Testers of the Week, I've been working most of the day on setting up some new virtual machines using VMware's recently released VMware Workstation 6.0. I've used VMware Workstation 5.5, but the big deal with VMware Workstation 6.0 is that it supports Windows Vista as a host operating system. This is important to me since the X60 Tablet that the folks at Lenovo sent me for testing runs Vista (actually, the Tablet version of Vista).
My goal for the X60 is to, finally for the first time since first espousing the virtues of virtualization, to go totally virtual with my system. That is to say that any production software (or test software for that matter) that I run (once I get it all installed) will be run from within one of the several virtual machines and not on the host operating system itself.
The benefits of this approach are several. First of all, from a security perspective, it will be literally impossible for some form of malware to wriggle its way onto the host OS -- the Tablet version of Vista that's running on the X60. Instead, I'll have multiple VMs for multiple purposes. For starters, I spent most of today getting two "base" VMs (otherwise known as "guests") in place. One is a base copy of Windows XP Service Pack 2. The other is a base copy of Windows Vista. These are barebones copies of each OS that are configured with the bare minimum stuff that I'd want any copy of XP or Vista to be ready with. Namely, Microsoft Office (2003 for XP, 2007 for Vista), Firefox, and an anti-virus/personal firewall security package. I picked McAfee's since I get it from Comcast (my ISP) for free. Then, I ran as many updates as seemed necessary in order to get both base copies up to current snuff.
With my base copies of each in place, my plan is to use VMware's cloning feature to generate some clones of each. At least one of the clones (probably of the Vista base VM) will be used as my production "system" for working at ZDNet. I'll use this to access the systems behind our corporate firewall (eg: our e-mail system). Another clone will be for non-ZDNet use. Not only does this keep a clean break between the production stuff I need for ZDNet and the software I use for my own personal business matters, the way VMware works, one of the VMs can route all traffic over the corporate VPN while the others avoid it all together. Why, for example, should I be using up the company's precious bandwidth for non-company business? With virtualization products like VMware, you can "fork" the traffic.
Still, another clone (probably of each) will be for software testing (the results of which will often be published here). The idea is to have a couple of clones "at the ready" so that if there's something I need to test in a jiffy, I can load the sofware into one of the clones, test it, and then either uninstall the software, or delete the clone altogether (thus removing any trace of the tested software in the first place). The idea here is to prevent myself from screwing up a production clone with test software (something that has happened to me a great many times).
Another major benefit is staying backed up. In the case of VMs, backing up an entire PC involves little more than copying a small handful of files. Restoring them (perhaps to a different system) involes little more than copying those files again. It's that simple. Way simpler than any other backup system I know of.
So why VMware? Well, I started to set this up with Microsoft's Virtual PC. Virtual PC was the first out with support for Vista as a host and I gave it a try. But its lack of support for the USB ports was a dealbreaker. In other words, if you hooked something up to the USB port like a printer, a phone (for synching), or an IDVault, it simply wouldn't work. VMware has managed to figure this problem out and I expect this capabilty to play a big role in my ability to preview the product I'll be giving away next week in our effort to recruit more deputy testers. Hopefully, it will work.
VMware 6 also comes with a neat utility called Pocket ACE. I'm not sure I can explain it any better than VMware's Web site does. Here's what the site says:
Administrators can now bundle and deploy ACE packages directly on a portable USB media device such as a flash memory stick, portable hard drive or even an Apple iPod. End users can operate their ACE client machines directly from the USB device for unparalleled mobility and flexibility.
VMware's ACE involves an enterprise environment whereby client-side VMs are centrally managed, provisioned, etc. Whereas previous versions of ACE allowed for the provisioning of VMs (and subsequent management of them) to desktops and servers, this version of ACE makes it possible to provision VMs to many forms of USB-connectable storage. Even cooler is that the VMware runtime is provided right on the same storage device. The idea is that I could put an entire VM of mine on a USB key and take that with me instead of my PC. Theoretically, I should be able to run that VM anywhere the runtime (what VMware calls the "player") works. In VMware Workstation 6's case, it can take any of your VMs, turn it into an "Ace Master" and then from there, clone that master onto some form of USB-connectable storage like an iPod.
Now, if only there were public PCs everywhere (including in the seatbacks of the airplanes that I fly) that were ready for a VM to be plugged in like this.
A couple of final notes. First, to date, no one I know of has figured out how to manage VMs at rest. For example, now that I have my base VMs in place and am cloning them, I still must start them up occasionally to make sure they have the latest security updates. Once clones of those bases get created, they have to be individually updated which is a management nightmare. They can be automatically updated as long as they're running. But keeping the ones that get used less frequently up-to-date is a problem that I'm still hoping someone will solve.
Second, VMware has the ability to record whatever happens in a VMware window as video. This is a neat feature because there are some events that are impossible to capture if the capture software is actually running as from within the operating system in which the events are happening. VMware's video capture feature runs outside of the VMs it is hosting. Unfortunately, while we've been able to view the videos with the Windows Media Player, we can't figure out how to import them into Apple's Final Cut Pro (where we import other AVIs to produce video reviews). Though I suspect it's a codec problem, VMware says there is no solution (big *sigh*).
Finally, all this cloning that I'm doing will still be ultimately hampered by software licensing issues. To the extent that Microsoft uses technologies like Windows Genuine Advantage to make sure its software isn't being pirated, some of my clones will get trapped as potential pirates and I'll be asked to supply new license credentials for the software to work. This will especially be the case if I take one of my Windows VMs and move it to a completely different system than the X60 Tablet (such a jarring hardware change invariably awakens the licensing Gods at Microsoft). As such, one of my client VMs will probably be running a distribution of Linux, perhaps SuSE or Ubuntu. I've tried before (and failed). But it's apparently time to try again and see if maybe I can bring up a production environment under Desktop Linux, one that allows me to get my work done without having to worry about whether I'm going to trip over a licensing wire somewhere (when I'm not even remotely close to being a pirate).