For most users they see virtualization through a virtual machine (VM). A VM is a software environment that runs an operating system and applications while abstracting the surrounding hardware, networking, storage, etc. When an operating system runs in a virtual machine, it is not even aware that it running in virtual environment. For example:
- You can't take the C:\ drive from a Dell system and copy it to an IBM system and get it to work. There are tons of compatibility issues with hardware, drivers, etc. Yet if you are working with VMware virtualization and you loaded VMware's ESXi (hypervisor - bare metal) on a Dell system, then you are using VMware drivers, VM SCSI definitions, etc. You can very easily move the Virtual Machine to different hardware, because the Virtual Machine (its operating system and applications) keeps hardware transparent to the operating system. You could use VMotion to move the guest OS to different hardware with no downtime. Virtualization solutions like VMware "take hardware out of the equation".
VMs are servers and desktops that work like physical servers and desktops except they run in a software environment instead of a hardware environment. This abstraction layer is very thin and very high performing. VMs can have:
- CPU, memory, hard disks, NICs, parallel/serial ports, SCSI controllers, USB controllers and a video card.
Most of the IT industry does not realize the blazing speed of these VM environments and the tremendous advantages they bring to IT environments and cloud computing infrastructures.