La innovación de hardware del AWS Nitro System - El chip dedicado que cambió los paradigmas de virtualización y seguridad
Explicamos la filosofía de diseño del Nitro System desarrollado por AWS, analizando cómo la eliminación del overhead de virtualización, el aislamiento de seguridad a nivel de hardware y el rendimiento bare-metal generan una ventaja competitiva sin igual.
El problema fundamental del overhead de virtualización
La computación en la nube se sustenta sobre tecnología de virtualización. Un servidor físico se divide en múltiples máquinas virtuales, cada una proporcionada como un servidor independiente. Sin embargo, la virtualización conlleva overhead. El hipervisor consume recursos de CPU del host, y capas de software intervienen en el procesamiento de I/O de red y almacenamiento. Este overhead puede alcanzar del 10 al 30% del rendimiento del servidor físico. Tradicionalmente, los proveedores de nube aceptaban este overhead como el precio de la virtualización. AWS también usaba inicialmente el hipervisor Xen con overhead similar. Nitro System fue la respuesta de AWS a este problema fundamental.
El diseño del Nitro System - Offload de funciones al hardware
Nitro System es un diseño que descarga al hardware dedicado las funciones que tradicionalmente realizaba el software (hipervisor). Nitro System se compone de 3 componentes principales. Las Nitro Cards ejecutan el procesamiento de I/O de networking VPC, almacenamiento EBS y almacenamiento de instancia en hardware dedicado. El procesamiento de paquetes de red y el cifrado de almacenamiento que antes realizaba la CPU del host en software ahora se ejecuta en chips dedicados, asignando casi el 100% de los recursos de CPU del host al guest (carga de trabajo del cliente). Nitro Security Chip controla el acceso al hardware y verifica la integridad del firmware. Nitro Hypervisor es un hipervisor ligero especializado que solo gestiona la asignación de CPU y memoria.
Rediseño fundamental de la seguridad
El diseño de seguridad del Nitro System revoluciona los paradigmas convencionales de seguridad en la nube. En entornos de virtualización tradicionales, el hipervisor tenía una posición privilegiada con acceso a la memoria y almacenamiento de todos los guests. Esto significaba que una vulnerabilidad en el hipervisor amenazaba la seguridad de todos los guests. En Nitro System, la ruta de acceso del hipervisor a la memoria del guest está físicamente eliminada. Nitro Security Chip realiza el control de acceso a nivel de hardware, haciendo imposible acceder a los datos del guest incluso explotando vulnerabilidades de software. Este diseño proporciona protección fundamental contra ataques de canal lateral como Spectre y Meltdown.
Comparación con los enfoques de Azure y GCP
Azure utiliza su propio hipervisor (Azure Hypervisor), pero el offload de funciones al hardware como Nitro System es limitado. Azure realiza aceleración del procesamiento de red con FPGA (Azure SmartNIC / AccelNet), pero el offload integral de hardware que incluye I/O de almacenamiento y funciones de seguridad no es tan exhaustivo como Nitro System. Azure Confidential Computing ofrece computación confidencial utilizando Intel SGX y AMD SEV-SNP, liderando en esta área específica. GCP utiliza el chip Titan como base de seguridad para verificar la integridad del firmware del servidor, pero su enfoque es diferente al de Nitro System que elimina el overhead de virtualización.
Resultados concretos del Nitro System
La introducción del Nitro System ha permitido a AWS lograr múltiples resultados concretos. Primero, la provisión de instancias bare-metal. Tipos de instancia que permiten utilizar el rendimiento del servidor físico sin overhead de hipervisor, adecuados para software con restricciones de licencia para ejecución sobre hipervisor o cargas de trabajo que requieren rendimiento extremo. Segundo, la diversificación de tipos de instancia. La arquitectura flexible del Nitro System permite a AWS desarrollar y ofrecer nuevos tipos de instancia rápidamente. Instancias con procesadores Graviton, instancias GPU, instancias optimizadas para almacenamiento: la diversidad de opciones se ha expandido significativamente.
El significado estratégico del desarrollo de hardware propio
El desarrollo del Nitro System se basa en la tecnología de Annapurna Labs, adquirida por AWS en 2015. El significado estratégico de que un proveedor de nube diseñe y desarrolle su propio hardware es grande y puede organizarse desde 3 perspectivas. Primero, la sostenibilidad de la diferenciación. Mientras que las optimizaciones de software son fáciles de imitar por competidores, el desarrollo de hardware dedicado requiere inversiones de varios años y equipos técnicos especializados, elevando las barreras de entrada. Segundo, la optimización de la estructura de costos. Reducir la dependencia de proveedores de hardware genérico y diseñar hardware optimizado para las propias cargas de trabajo mejora fundamentalmente el costo por rendimiento. Tercero, la velocidad de innovación.
Resumen
AWS Nitro System logra 3 resultados mediante el desarrollo propio de hardware dedicado: eliminación del overhead de virtualización, aislamiento de seguridad a nivel de hardware y diversificación de tipos de instancia. Azure contrarresta con aceleración de red basada en FPGA y Confidential Computing, pero no ha alcanzado un offload de hardware tan integral como Nitro System. GCP tiene una base de seguridad con el chip Titan, pero no iguala a Nitro System en la eliminación del overhead de virtualización. Que un proveedor de nube desarrolle su propio hardware es una inversión a largo plazo que genera una ventaja competitiva difícil de replicar.