Virtualization helps abstract the hardware of a device from the user of that hardware (instance). Each instance can run independent of each other, on the underlying layer that's below it. This layer of abstraction is what is virtualized. Virtualization is done to allow multiple virtual instances (or virtual machines i.e. VMs) to run on a single piece of hardware. This provides the benefit of each virtual instance looking like a discrete piece of hardware for the software that runs on top of it.
Virtualization is all about separating traditional IT resources into more easily managed and centralized solutions. This separation often increases scalability, improves resource utilization, and reduces administrative resources.
Different forms of virtualization commonly used in enterprise environments are:
- Hardware Virtualization: Uses software called a hypervisor (VMware ESXi, Microsoft Hyper-V, or Citrix XenServer) to abstract the physical characteristics of a server. This permits multiple virtual instances of operating systems to run on a single physical server. The virtual machines are not aware that they are sharing physical hardware. The resources of the physical server are better utilized.
- Software Virtualization: Streams a remotely installed application from a server to a client (Citrix XenApp or Microsoft App-V) or packages up an application to run in a standalone sandbox without requiring local installation (VMware ThinApp). Because the applications are no longer installed on client desktops, administrators can more easily administer and distribute applications and their patches from a single networked location.
- Desktop Virtualization: Is similar to hardware virtualization in that it separates a personal computer desktop environment from a physical machine by either remotely streaming the desktop (VMware View or Citrix XenDesktop). In some cases the entire desktop may be cached locally, but most solutions simply provide a remote keyboard, video and mouse (KVM) interface through a locally installed application (Citrix Receiver or Microsoft Remote Desktop Connection). The desktops run on high performing servers that are centrally managed and easily deployed by IT.
- Storage Virtualization: Abstracts logical storage from physical storage. Large pools of disks are divided into smaller logical units that are presented as a single volume but may actually span across many physical disks. This improves performance, increases drive space utilization, and provides redundancy.
- Network Virtualization: Either separate physically attached networks into different virtual networks or combine many separate virtual networks to share the same segments of a large physical network. By creating virtual networks, administrators are able to logically group machines and their traffic while better utilizing the physical networking infrastructure.