Virtualization Best Practices, Selecting A Vitualization Solution

This will be the first in a multi-part posting.

I use Microsoft Virtual Server on my PCs for virtualization, and I use VMware on my Macs (I used to use Parallels, but it got to be too expensive to keep paying for updates, and when VMware attempts to charge for an update I’ll probably switch to VirtualBox on my Macs); but most everything I have to say here will apply to any virtualization solution you might choose to use.

When you evaluate a virtual solution, you need to look at a number of requirements and features and decide which is right for you:

  • Cost, that’s the initial cost of acquisition, plus updates
  • Hardware requirements, some virtualization solutions require machines with hardware vitualization (most modern processor have that, but not all), some do not — some only require it for 64-bit virtualization.
  • What type of host operating systems are supported (that’s the operating system you will run the virtualization software on, and install guest operating systems).
  • What type of guest operating systems are supported (and what guest operating systems are known to work).
  • How reliable the solution is on the particular host you’re interested in, and how reliably it runs the guests you’re most interested in.
  • How easy the solution is to use, and how well it fits into the host you’ve chosen (software that runs on lots of different hosts may not be engineered to fit the paradigm of your host well, it may look and act the same on all hosts — which really is of no value unless you’re running it on lots of different hosts, in general you should prefer a solution that looks and works like the other software your use).
  • Whether the system supports 64-bit and 32-bit virtualization or only 32-bit virtualization; and whether you need 64-bit virtualization or not.
  • What type of network connectivity the virtualization solution provides (NAT, bridged, etc), and what type you need.
  • The performance of the network virtualization, and how important the performance might be.
  • What type of storage virtualization the solution provides, and what you need.
  • The performance of the storage virtualization, and how important the performance might be.
  • Does the storage system support undo disks, checkpoints, snapshots, etc, and what do you need.
  • What type of device virtualization the solution provides, and what you need.
  • The performance of the core virtualization (and how important slight differences in performance might be).
  • What type of management tools exists, and what you need.

The above list will get your started on evaluating the relative merits of different virtualization solutions.  My recommendation is start with a solution that’s free and try it out, if you find it doesn’t seem to fit your needs, then try solutions that offer a trial period.  And when you identify things you like or don’t like, go back and look at the free solution and compare it again.  Often you will find after getting a broader experience base things look different, and you shouldn’t just stop with the last one you looked at — you should reassess the less expensive alternatives you dismissed.

One final word, don’t install multiple virtualization solutions on a single machine.  Remove the previous software you were looking at (you can retain the virtual machines), reboot, and install the new software.

The next postings will cover basic operating, maintenance, and some ways to make management easier.

Originally posted 2009-01-13 12:39:01.