I read my colleague Ken Hess' post "The Answer to the Why Virtualize Question" and felt the need to weigh in. While the points he makes are both useful and valid, I don't think that he is making the whole picture visible. First of all, Virtualization is far more than merely using virtual machine software. Virtual machine software is just one of the five things found in the virtual processing layer of the Kusnetzky Group model of virtualization technology (see Sorting out the different layers of virtualization for more information).
Virtualization is something that has been around for quite a long time. It has been a staple of the mainframe world for well over 30 years. It has been part of the midrange systems world for over 20 years. It has been emerging in the world of industry standard systems for over a decade. Although virtualization technology touches every part of a computing solution today, many vendors, and the good Mr. Hess, seem to focus on one part of one layer of virtualization technology. Why, do you suppose, is that? My guess is the drive for simplicity.
Virtual machine software is a powerful tool, if used correctly. Its use can also create a number of intractable problems as well. There are times this software is deployed when it would have been far more efficient to deploy operating system virtualization and partitioning software. I'm sure that the folks at Parallels would love to present benchmarks showing the benefits of that approach to anyone who will make the time to listen.
Virtual machine migration software combined with orchestration and automation software are often used rather than technology that may be more efficient, clustering software. If the organization's goal was high availability, it may have been better to consider software, such as Stratus' Avance, or a fault tolerant server, such as those offered by Stratus.
What I find the most interesting is that some organizations start deploying virtual servers without also planning out a complete environment that includes virtual access to those servers, virtual networking for those servers, virtual storage for those servers and a management environment that makes it easily possible to see what's really happening. Don't forget security software that can deal with such a complex environment.