Virtual machine (VM) technology has been around for PCs for a long time. For me, it's been one of those technologies that I've heard about, wrote about, and even seen in demonstrations for almost as long as I can remember. But it wasn't until I recently started acquainting myself with VMWare's Workstation 5 (in the course of trying to simplify my testing of Windows Vista) that I've become so sold on VM technology that I can't imagine being without it. Now that VMWare has announced that it's virtual machine "player" can be freely distributed to any system, I'm even more convinced that this is a technology that no system should be without. Here's why.
When I finally get around to wiping and refreshing my everyday system (something I have to do because it's littered with all sorts of junk and buggy stuff that I can't seem to get rid of), the first thing I'm going to install before installing any applications is VMWare Workstation 5. Then, when I install my applications, I'll be looking to install them in separate VMs, each of which will be running a distinctly separate copy of Microsoft's Windows XP.
To someone who has never been exposed to the power of something like VMWare's Workstation software, the idea of doing what I just described seems entirely unnecessary. VMs for workstations have typically been the domain of software developers. Software developers like using VMs to run separate instances of their operating systems so they can turn a single computer into a full blown network for developing and testing the deployment of the software they're writing.
For example, in one virtual machine is the developer's regular production system where they run all of their personal applications (e-mail, word processing, etc.). In another virtual machine is a copy of Windows with Visual Studio.NET where they develop the Windows-based versions of their applications. In a third virtual machine is a copy of Linux with Eclipse for developing the Linux-based versions of their applications. Then, in a fourth virtual machine is a Linux-based or Windows-based server that will host the server-side that the Linux and Windows-based software be developed will talk to. And then, there are two more virtual machines -- one Linux-based and one Windows-based -- for testing the newly developed software as well as the deployment tools for distributing it onto a corporate network. That's six distinctly separate virtual machines, all on one system, that can talk to each other as though they're separate systems on a network.
So, why does it make sense for an ordinary user to have this sort of industrial strength on their systems? Well, even before getting to the security benefits of running multiple partitioned operating systems on one computer there's one benefit that everyone will love: the ability to start over with a pristine copy of Windows with just a few clicks.
In my life, I have never met anyone who hasn't either wiped their system clean in order to restore it to its virgin state (unpolluted by who-knows-what) or who wanted to but was too scared to do it. Indeed, such wipes and reloads are daunting tasks. But if you ask most users, they're usually able to give you an approximation of when the system was working perfectly and when things started to go downhill. It might have been when you loaded that shareware. Or, even right after something as simple as visiting a Web site. So, imagine if you could restore your system to that point that it was working perfectly, application software and all, with just a few clicks. That is just one benefit of virtual machine software like VMWare's Workstation.
Here's an example of how it works. Once you've set up your pristine virgin copy of Windows in a VM (let's name it "FreshWin") with all the necessary security patches and some base applications (eg: your favorite Web browser) that you know to be trouble free -- before doing anything else -- you make two clones of it. With VMWare, cloning an existing virtual machine is child's play. Name one "CleanWork" and the other "CleanPersonal". Then, leaving the original VM that started with alone, you take the Work clone and load your just your work applications onto it. Be sure to start with the ones that you think are the most stable and result in the least pollution of your system. Between the installation of each work application, use Windows' System Restore feature to create Restore points so that, in the event that you run into an application that's screwing things up, you can restore that CleanWork to a known, relatively unpolluted and working state. Then, make a clone of that and call it "ProductionWork" and repeat the process with the Personal clone using the applications that you run for personal use and call it "ProductionPersonal."
Now, not only do you have two relatively clean production "systems" that can run side by side without ever interfering with each other, if either of your production systems gets to that unsuable point, you grab what you can off the polluted VM (data, etc.), delete them (takes one right-click in VMWare Workstation), and with a couple more clicks, make new clones of your clean versions. Of course, at any point, if you need to update the clean versions -- perhaps with new software that you know to be healthy or with security updates -- you can.
But wait, it gets better. For those of you that are paranoid about some spyware getting onto your system and stealing your identity or your e-commerce credentials, have you ever wished that you could make that next online purchase with a brand new system, right out of the box? One that's virtually guaranteed not to have anything on it that could be compromising your privacy? One that can't interfere with anything else on your system (nor can anything else interfere with it)? Based on what I've just told you, your instincts might be to set up a VM that's for nothing but engaging in e-commerce. But why not do what I do? Go one step further by making a new clone of your original "FreshWin" installation, use that clone for an online purchase, and then, when your done, shut down the VM and delete it. The, repeat the process for other e-commerce transactions. Yes, this is an extreme. But to some, it would offer peace of mind. So, you use Quicken and worry about someone getting access to your banking records? No problem. Set it up in a separate VM that runs nothing else but Quicken. Perhaps now you're getting the picture.
The Free Player
No matter how hard they've tried, one thing that businesses have had a really tough time doing is setting desktop standards. The minute some company regression tests and standardized on an IBM Thinkpad T40, the T42 was out. And, after some process error over in purchasing, the entire human resources department ended up with Dell notebooks. Not to mention the top brass who refused to travel with anything heavier than a Sony Vaio. Before you know it, any hope of setting destkop and notebook standards is out the Window. VMWare Workstation has always held the promise to elminate that problem by creating a standard virtual machine (complete with all the necessary applications), the clones of which can be deployed to any Intel-based system.
In this context, virtual machines give new meaning to the word "image." Whereas before, you had separate images for your different Thinkpads, Dell notebooks, Sony notebooks, and whatever desktops, now, you have a single image and all you needed on all of those Intel-based system was a copy of VMWare Workstation. Prior to making it's player available for free, a full-blown copy of VMWare Workstation cost $180. But now, with it's player available for free, organizations are clear to create their standard clone(a.k.a. "image") with one copy of VMWare Workstation and deploy it to as many workstations as need be.
If VMWare's Workstation technology is so good, its move to make its player available for free begs the question of why in the world it would forego the potential $180 per workstation revenues. I can see two reasons. Even though I think virtual machine solutions would be great for just about anybody but gamers (incredibly sensitive to anything that could degrade performance) and people with special peripherals that may not be compatible with VMs, the primary target is the enterprise where, for VMWare there's bad news ahead: not only does Microsoft have a competing product (Virtual PC), it appears as though it will be included for free in at least one if not more versions of Vista (the next version of Windows) that also target enterprises.
By giving it away the player now, VMWare could very well attract and addict enterprises to its solution before those enterprises have an opportunity to get hooked on Microsoft's Virtual PC. Whereas VMWare may be foregoing revenue on the sales of its Workstation product, the opportunity still exists for the company to make money on companion products such as its Virtual Center (currently for managing server deployments of VMware, but could easily apply to workstations), VMware ACE (for securing workstation deployments), and P2V Assistant (for converting physical machines into virtual ones). Like open source software companies, giving away the player also creates opportunities for VMware to make money through one of its support programs.
On a separate note, I haven't tried to get VMware Workstation working with the beta of Windows Vista yet. But I found a blog entry from someone who has gone deep on the idea.