As interesting as virtual client system and virtual server systems are, they're not the panacea that some in the industry present when speaking about their products. Why is it that when I speak to a Kusnetzky Group client, I almost always have to help them understand that virtualization is a much bigger topic than just virtual machine software?
If we stick to the virtual processing layer, there are at least five different technologies that either become part of or get underneath an operating system to offer some interesting, albeit mutually exclusive, benefits. Virtual machine software just must be easier for some to understand.
This is a technology that has been around for decades and so, there are many single-vendor and open source entries in this category. If one needed high levels of performance, this would be the appropriate choice, not virtual machine software. Virtual machine software isn't really designed to allow a single application to use as much processing power as possible.
This type of software typically is made available as part of a clustering monitor (see the next category). Once again, virtual machine software would not be the best choice for this need since it is designed to run all instances of an application on a single computer. This, of course, is not a recipe for increased scalability.
Single system image clustering makes it possible for the machines to act very much like a symmetric multiprocessing computer that just happens to have been configured in multiple cabinets. Shared nothing clusters are made up of machine that basically do their own work but will pick up work that has been dropped by an outage somewhere in the cluster. In both cases, the systems are much more tightly integrated and often have to run the same exact version of the operating system on nearly identical machines. In many cases, this configuration may also be known as a "high availability" or HA cluster.
Each of these "virtual machines" runs its own operating system and manages the resources provided by the underlying machine or operating system. This is often the best choice when an organization wants to consolidate independent workloads that formally ran on separate machines onto a newer, much faster single machine.
Multiple applications can be running and when an outage occurs or service level objectives are not being met, virtual machines can be 1) moved to another physical machine having more available resources or 2) moved from a virtual machine onto an available physical machine.
It must be noted that keeping workloads in virtual machines often imposes more overhead on the environment in exchange for a greater level of flexibility.
The technical answer revolves around the whether the organization is seeking the highest level of efficiency or the need to support workloads running on different operating environments. The virtual machine software-based approach allows applications running on different operating environments or different versions of operating environments to all play together.
With a vague reference to an old Dilbert comic strip, it is difficult for an executive who doesn't understand whether it would be better to use a "red" or a "blue" database to understand the distinction. So, they'll almost always choose the most publicized approach over another approach that might be technically better.
How does your organization see this?