Hypervisor
The software layer that splits one physical computer into many virtual machines.
A hypervisor is the software that creates and runs virtual machines. It sits between the physical hardware and the VMs, hands each one a share of CPU time, memory, storage and network, and keeps them isolated: a VM thinks it has a whole computer to itself, and it cannot read another VM's memory. This whole technique is called virtualization.
There are two broad kinds. A type 1 or bare-metal hypervisor runs directly on the hardware, with no ordinary operating system underneath; this is what data centers use, with examples like VMware ESXi, Microsoft Hyper-V, Xen and KVM, which is built into Linux. A type 2 hypervisor runs as an app on your normal operating system, like VirtualBox or Parallels on a laptop; it is convenient for testing but adds a layer of overhead.
Modern CPUs include special instructions that let hypervisors run VMs at close to native speed. Cloud providers build their own on top of these: AWS uses the Nitro system, which moves much of the virtualization work onto dedicated hardware cards, and Firecracker, a tiny hypervisor that starts lightweight VMs in a fraction of a second for AWS Lambda and Fargate. Because the hypervisor is the wall between customers, its security is critical.
Keep in mind
- Creates virtual machines and shares out CPU, memory, disk and network among them.
- Type 1 runs on bare hardware (ESXi, Hyper-V, KVM); type 2 runs on top of an OS (VirtualBox).
- CPU support for virtualization makes VMs run at near-native speed.
- The hypervisor is the isolation boundary between cloud customers.