Virtualization uses software to create an abstraction layer over computer hardware that allows the hardware elements of a single computer-processors, memory, storage and more-to be divided into multiple virtual computers, commonly called virtual machines (VMs). Virtualization is a process that allows for more efficient utilization of physical computer hardware and is the foundation of cloud computing.