This document discusses the history and modern uses of virtualization. It begins by describing early virtualization techniques and then outlines different types of modern virtualization including CPU, network, server, client/desktop, application, memory, I/O, and OS virtualization. While most companies virtualize 75% or more of their servers, Google runs workloads in virtual machines but uses containers internally. Experts believe virtualization is moving toward a fully software-defined data center where all layers are virtualized and delivered as a service for flexibility. Virtual machines may also be used in virtual reality applications in the future.