Un Virtual Machine Monitor (VMM), comúnmente conocido como hypervisor, es una capa de software, firmware o hardware que crea y ejecuta máquinas virtuales (VMs). Su función principal es virtualizar los recursos de hardware subyacentes (CPU, memoria, almacenamiento, red) y presentarlos a cada sistema operativo invitado (Guest OS) como si fueran recursos dedicados. El VMM intercepta y gestiona las instrucciones privilegiadas de los Guest OS, asegurando el aislamiento entre las VMs y la protección del hardware físico. Existen dos tipos principales: Type-1 (bare-metal), que se ejecuta directamente sobre el hardware, y Type-2 (hosted), que se ejecuta sobre un sistema operativo anfitrión (Host OS).

En el mundo real, los VMMs son la base de la computación en la nube y la virtualización empresarial. Ejemplos de VMMs Type-1 incluyen VMware ESXi, Microsoft Hyper-V, y KVM (Kernel-based Virtual Machine) en Linux. KVM, en particular, transforma el kernel de Linux en un hypervisor, aprovechando las extensiones de virtualización de hardware (Intel VT-x, AMD-V). Ejemplos de VMMs Type-2 son Oracle VirtualBox y VMware Workstation, que se utilizan comúnmente para desarrollo, pruebas y entornos de escritorio virtualizados. La tecnología de contenedores, aunque diferente, a menudo se ejecuta sobre VMs gestionadas por VMMs.

Para un arquitecto, el VMM es una pieza fundamental para la resiliencia, escalabilidad y eficiencia de la infraestructura. Permite consolidar cargas de trabajo, reducir costos de hardware y energía, y mejorar la utilización de recursos. La elección entre un VMM Type-1 y Type-2 impacta directamente en el rendimiento, la seguridad y la complejidad de la gestión. Los arquitectos deben considerar trade-offs como la sobrecarga de virtualización (overhead), la compatibilidad con hardware específico, las capacidades de migración en vivo (live migration) para alta disponibilidad, y las características de seguridad y aislamiento que ofrece el VMM. Entender el VMM es clave para diseñar plataformas robustas de cloud computing, infraestructura como servicio (IaaS) y entornos de desarrollo/producción virtualizados.