Virtualization is all the rage in the trade journals right now, but is it more trouble than it is worth in the user space?
In case you didn't realize, the Release Candidate of Windows XP Mode has been available for about a month or so now. Windows XP Mode is a package developed by Microsoft to make the transition easier for customers who want to move up to Windows 7 but still need to run some programs that will work only in Windows XP. To give the Windows XP Mode a try, follow the download link that is posted in this announcement on the Windows 7 blog.
In some ways, XP Mode is a wolf in sheep's clothing. It doesn't magically make older software work on Windows 7; it leverages Microsoft's Virtual PC technology. In order to use Windows XP Mode, you're installing a software virtualization tool for your customers that will essentially allow them to run two operating systems simultaneously.
I'm afraid that's going to end up being pretty much as troublesome as it sounds.
While the version of Windows bundled into XP Mode is stripped down and users can't interact with it independently, it is still a second OS. Running such a compatibility tool is going to add complexity to the customer's experience and require support teams to perform more testing before they can confidently integrate such a feature into their environment.
Much of the buzz around virtualization right now is centered around using virtual machines to run multiple software servers on a single piece of hardware. While the technology has existed for a while in some client-side products, I feel like there is less excitement about virtual machines in the user space. I've had to support some client-side virtual machines in the course of my work. There are rare circumstances where I think they make sense. In particular, I like to set up virtual machines as development environments. Our programmers are able to write and test their software without putting our production machines at risk. I can't say I'm really in favor of using virtualization in order to use old software, though. It strikes me as a way to merely postpone the inevitable. How long do you keep that elderly program running, especially once the OS that it requires is no longer supported? If a program is important enough to keep around through the use of virtual machines, isn't it worth updating it to run on modern software without workarounds?
OK, rewriting every program to be Windows 7-compatible may not be possible, but effectively managing virtual machines on client computers could be a complicated task. Is it something you're currently wrestling with?
If you are currently supporting any virtual machines for your clients, share your tips with us in the comments.