Virtualization allows multiple virtual machines to run on a single physical machine. It started with mainframe virtualization in the 1960s and expanded to x86 servers with VMware in the late 1990s. Virtualization provides hardware isolation, compatibility, and independence. Virtual machines can be moved and managed as a flexible virtual infrastructure. Cloud computing takes this a step further by providing on-demand, self-service access to virtual resources over the internet.