Virtualization means “with boundaries or constraints removed” or “simulated.” Solutions refer to products and services that address particular issues or situations. Virtualization solutions refers to ways of addressing computing issues by removing boundaries or constraints, and/or through the use of a simulation.
Virtualization solutions can be divided into three types: hardware virtualization, network and storage virtualization, and application virtualization. Hardware virtualization is another term for server virtualization. It refers to three ways to partition a computer to create virtual servers on it. Depending on the method used, the virtual servers may be able to run different operating systems. In any case, applications on separate servers will not interact or cause problems for each other, and redundancy becomes easily possible.
With regard to virtualization solutions involving networks and storage, a somewhat opposite approach is taken to the approach in server virtualization, gathering items together, rather than separating one item into many. With network virtualization, this means that multiple devices on the network are consolidated in order to be controlled and managed from one administrator’s console. Network virtualization often includes storage virtualization, which allows various — sometimes numerous and quite different — storage devices to all be accessed in a similar way.
Virtualization solutions involving applications are of at least five types. Application streaming is a process whereby an application is not actually installed on every machine in a network, but is delivered on an as-needed basis. This is one way of ensuring the most up-to-date software is being used as well as keeping track of each person’s use time. Another way in which application virtualization takes place is when users’ PCs are terminals or made to function as terminals to the server. In this case, all applications and data reside on the server.
Partitioning hardware is one of the virtualization solutions that takes place on an individual user’s PC. Apple has recently designed their Macs so that they can be partitioned and run Windows software. This is called desktop virtualization.
The two other types of application virtualization are quite different from the first three. One is exemplified by Java Virtual Machine (JVM) software, which enables programs either written in Java or compiled into Java bytecode to run on any computer on which it is installed. JVM is said to virtualize the software the software by extending the limits of where it can run. Dynamic application assignment is an approach that treats a group of servers as a cohesive pool of resources that can be assigned in real time, virtualizing the applications by running them on any server, as needed.