Existen diferentes formas de virtualización como virtualizar hardware, software, sesiones de usuario, aplicaciones y máquinas virtuales. La virtualización de hardware se logra mediante extensiones en la arquitectura x86, mientras que la virtualización de software permite ejecutar sistemas operativos de forma aislada. Las máquinas virtuales emulan hardware para ejecutar sistemas operativos de forma independiente compartiendo los recursos físicos.