Arquitectura de virtualización

Una arquitectura de virtualización es un modelo conceptual que especifica la disposición y las interrelaciones de los componentes particulares involucrados en la entrega de una versión virtual, en lugar de física, de algo, como un sistema operativo (SO), un servidor, un dispositivo de almacenamiento o recursos de red. .

La siguiente imagen ilustra la diferencia entre la arquitectura informática tradicional y una arquitectura de virtualización.

Arquitectura de servidor tradicional frente a arquitectura virtual

La virtualización suele estar basada en hipervisores. El hipervisor aísla los sistemas operativos y las aplicaciones del hardware informático subyacente para que la máquina host pueda ejecutar varias máquinas virtuales (VM) como invitados que comparten los recursos informáticos físicos del sistema, como los ciclos del procesador, el espacio de memoria, el ancho de banda de la red, etc.

Los hipervisores de tipo 1, a veces denominados hipervisores bare-metal, se ejecutan directamente sobre el hardware del sistema host. Los hipervisores bare-metal ofrecen alta disponibilidad y gestión de recursos. Su acceso directo al hardware del sistema permite un mejor rendimiento, escalabilidad y estabilidad. Ejemplos de hipervisores de tipo 1 incluyen Microsoft Hyper-V, Citrix XenServer y VMware ESXi.

Un hipervisor de tipo 2, también conocido como hipervisor alojado, se instala en la parte superior del sistema operativo del host, en lugar de sentarse directamente sobre el hardware como lo hace el hipervisor de tipo 1. Cada sistema operativo o VM invitado se ejecuta por encima del hipervisor. La conveniencia de un sistema operativo host conocido puede facilitar la configuración del sistema y las tareas de administración. Sin embargo, la adición de una capa de sistema operativo anfitrión puede potencialmente limitar el rendimiento y exponer posibles fallas de seguridad del sistema operativo. Ejemplos de hipervisores de tipo 2 incluyen VMware Workstation, Virtual PC y Oracle VM VirtualBox.

La principal alternativa a la virtualización basada en hipervisores es la contenedorización. La virtualización del sistema operativo, por ejemplo, es un método de virtualización del kernel basado en contenedores. La virtualización del sistema operativo es similar a la partición. En esta arquitectura, un sistema operativo se adapta para que funcione como múltiples sistemas discretos, lo que permite implementar y ejecutar aplicaciones distribuidas sin lanzar una VM completa para cada una. En cambio, varios sistemas aislados, llamados contenedores, se ejecutan en un solo host de control y todos acceden a un solo kernel.