Virtualisation is the technique of running multiple independent computer systems on a single physical host by creating software based copies called virtual machines. A thin control layer known as a hypervisor allocates processor time, memory, storage and network interfaces to each virtual machine and keeps them isolated so that one cannot interfere with another. Each virtual machine has its own operating system and applications and behaves like a separate computer. This approach lets organisations consolidate servers to raise utilisation, create new machines quickly from templates, move running workloads between hosts for maintenance, take snapshots for easy rollback and improve recovery after a fault. Virtualisation is used for servers in data centres and clouds, for developer and test environments on laptops and for desktop delivery to users. It differs from containers, which share the host’s operating system kernel and are lighter but offer a different isolation model.