La historia que Nitro System cambió en EC2 - De Xen a KVM, la revolución que redujo a cero la sobrecarga de virtualización
Explicación de la evolución de EC2 desde Xen hasta Nitro System. Se presenta la descarga de I/O con tarjetas Nitro, la minimización del hipervisor, las instancias bare metal y Nitro Enclaves.
Los primeros 10 años de EC2 fueron la era de Xen
Cuando EC2 se lanzó en 2006, utilizaba el hipervisor de código abierto Xen. Xen ejecuta un dominio privilegiado (Dom0) que gestiona las operaciones de I/O de todas las máquinas virtuales invitadas (DomU). Este diseño significaba que todo el I/O de red y almacenamiento pasaba por Dom0, creando un cuello de botella de rendimiento. A medida que los tipos de instancia crecían y el rendimiento de red y almacenamiento aumentaba, la sobrecarga de Dom0 se convertía en un problema cada vez más serio. Además, Dom0 ejecutaba un kernel Linux completo, lo que ampliaba la superficie de ataque de seguridad. AWS necesitaba una arquitectura fundamentalmente nueva para superar estas limitaciones.
Tarjetas Nitro - Descarga de I/O a hardware dedicado
La primera innovación de Nitro System fue la descarga de las funciones de I/O a tarjetas de hardware dedicadas. Las Nitro Cards son tarjetas PCIe personalizadas que manejan directamente el procesamiento de red (VPC, ENA), almacenamiento (EBS) y seguridad (NVMe cifrado). Esto eliminó la necesidad de que Dom0 mediara en las operaciones de I/O, proporcionando a las instancias invitadas acceso directo al hardware. La Nitro Card para red implementa la funcionalidad VPC (grupos de seguridad, enrutamiento) en hardware, logrando un rendimiento de red de hasta 200 Gbps. La Nitro Card para almacenamiento gestiona el cifrado y la comunicación con EBS en hardware, proporcionando hasta 19,000 Gbps de ancho de banda de almacenamiento. La Nitro Security Chip monitoriza el firmware del hardware y detecta manipulaciones no autorizadas.
Nitro Hypervisor - El extremo de la minimización
Con la descarga de I/O a las Nitro Cards, el rol del hipervisor se redujo drásticamente. El Nitro Hypervisor es un hipervisor ligero basado en KVM que solo proporciona aislamiento de CPU y memoria. A diferencia de Xen que ejecutaba un kernel Linux completo en Dom0, el Nitro Hypervisor tiene una base de código mínima, reduciendo la superficie de ataque de seguridad. La sobrecarga de rendimiento es casi cero, y las instancias invitadas pueden utilizar casi el 100% de los recursos de hardware del host. Esta minimización también hizo posible las instancias bare metal.
Realización de instancias bare metal - EC2 sin virtualización
Las instancias bare metal (familia .metal) proporcionan acceso directo al hardware del servidor sin capa de hipervisor. Esto fue posible porque las Nitro Cards manejan las funciones de red y almacenamiento en hardware, eliminando la necesidad de un hipervisor para la mediación de I/O. Las instancias bare metal son ideales para cargas de trabajo que requieren acceso directo al hardware (hipervisores anidados, contadores de rendimiento de hardware, licencias vinculadas a hardware). VMware Cloud on AWS y Amazon ECS Anywhere utilizan instancias bare metal como infraestructura subyacente. Desde la perspectiva del usuario, las instancias bare metal se gestionan exactamente igual que las instancias virtualizadas normales (inicio/parada desde la consola, conexión a VPC, montaje de EBS), pero internamente no hay capa de virtualización. Para aprender sobre la historia de la infraestructura de AWS, libros técnicos (Amazon) son útiles como referencia.
Nitro Enclaves - Computación confidencial a nivel de hardware
Nitro Enclaves es una extensión de Nitro System que crea entornos de ejecución aislados (enclaves) dentro de instancias EC2. Los enclaves están completamente aislados de la instancia padre a nivel de hardware, sin acceso a red, almacenamiento persistente ni acceso interactivo. Ni siquiera el usuario root de la instancia padre puede acceder a la memoria del enclave. La atestación criptográfica certifica la identidad del enclave, y la integración con KMS permite operaciones de descifrado solo dentro de enclaves verificados. Nitro Enclaves es la culminación de la filosofía de seguridad de Nitro System: minimizar la superficie de ataque y proporcionar aislamiento a nivel de hardware. Desde la era Xen donde Dom0 tenía acceso a toda la memoria de los invitados, hasta Nitro donde incluso el operador del host no puede acceder a la memoria de los invitados, la evolución de la seguridad de EC2 ha sido dramática.