AWS Nitro System 的硬件革新 - 专用芯片改变虚拟化与安全的常识

解析 AWS 自主研发的 Nitro System 的设计思想,分析消除虚拟化开销、硬件级安全隔离、实现裸金属性能如何创造其他厂商不具备的竞争优势。

虚拟化开销这一根本问题

云计算建立在虚拟化技术之上。将一台物理服务器分割为多个虚拟机,分别作为独立服务器提供。然而,虚拟化伴随着开销。Hypervisor 消耗主机 CPU 资源,网络 I/O 和存储 I/O 处理也有软件层介入。这种开销会消耗物理服务器性能的 10% 至 30%。对于数据库、高性能计算、实时处理等对性能敏感的工作负载来说,这种开销是不可忽视的成本。AWS 通过 Nitro System 从根本上解决了这个问题。

Nitro System 的设计 - 向硬件卸载功能

Nitro System 是将传统由软件(Hypervisor)承担的功能卸载到专用硬件芯片的设计。Nitro System 由三个主要组件构成。Nitro Cards 用专用硬件执行 VPC 网络、EBS 存储、实例存储的 I/O 处理。传统上这些由主机 CPU 通过软件处理,但 Nitro Cards 将其完全卸载,使主机 CPU 的全部算力可供客户的工作负载使用。Nitro Security Chip 控制硬件的信任根,防止固件篡改并保护启动过程的完整性。Nitro Hypervisor 是极度精简的轻量 Hypervisor,仅负责 CPU 和内存的分配,其他所有功能都委托给硬件。

安全的根本性重新设计

Nitro System 的安全设计颠覆了传统云安全的常识。在传统虚拟化环境中,Hypervisor 处于可以访问所有客户机内存和存储的特权位置。这意味着 Hypervisor 的漏洞会威胁所有客户机的安全。在 Nitro System 中,从 Hypervisor 到客户机内存的访问路径被物理消除。即使 AWS 运维人员也无法访问客户实例的内存内容。这种「即使是提供商也无法窥视」的安全模型,是软件层面的安全措施无法实现的硬件级保证。Nitro Enclaves 进一步扩展了这一概念,在实例内创建完全隔离的计算环境,即使实例的 root 用户也无法访问 Enclave 内的数据。

与 Azure 和 GCP 方法的比较

Azure 使用自有 Hypervisor(Azure Hypervisor),但像 Nitro System 那样向硬件卸载功能是有限的。Azure 利用 FPGA 加速网络处理(Azure SmartNIC / AccelNet),但包含存储 I/O 和安全功能的全面硬件卸载尚未达到 Nitro System 的水平。Azure 的 Confidential Computing(基于 AMD SEV-SNP 和 Intel TDX 的机密 VM)在「即使提供商也无法访问」的安全模型方面与 Nitro 的方向一致,但实现方式不同。Nitro 是通过自研硬件实现隔离,Azure 是利用 CPU 厂商的安全功能。GCP 的 Confidential Computing 也基于 AMD SEV,方向与 Azure 类似。GCP 的 Titanium 安全芯片负责硬件信任根的验证,但不像 Nitro Cards 那样卸载网络和存储 I/O。总体而言,Nitro System 的独特之处在于将性能优化和安全隔离通过单一的自研硬件平台统一实现。

Nitro System 带来的具体成果

Nitro System 的引入使 AWS 实现了多项具体成果。第一,提供裸金属实例。无 Hypervisor 开销直接利用物理服务器性能的实例类型,适用于许可证限制难以在 Hypervisor 上运行的软件或需要极致性能的工作负载。第二,实例类型的多样化。Nitro 的模块化设计使得快速开发新实例类型成为可能,AWS 提供超过 750 种实例类型,远超 Azure 和 GCP。第三,网络性能的飞跃。Nitro Cards 的网络处理实现了最高 200 Gbps 的网络带宽和 Elastic Fabric Adapter(EFA)的低延迟通信。

硬件自研的战略意义

Nitro System 的开发基于 AWS 2015 年收购的 Annapurna Labs 的技术。云提供商自行设计开发硬件具有重大战略意义,可以从三个角度整理。第一,差异化的持续性。软件优化容易被竞争对手模仿,而专用硬件开发需要数年投资和专业技术团队,进入壁垒高。第二,成本结构的控制。自研硬件可以针对自身工作负载优化设计,消除通用硬件的冗余功能,降低单位成本。第三,创新速度的加快。不依赖外部供应商的产品路线图,可以按自己的节奏引入新功能。要深入了解云基础设施和硬件创新,相关书籍 (Amazon) 也可作为参考。

总结

AWS Nitro System 通过自研专用硬件实现了消除虚拟化开销、硬件级安全隔离、实例类型多样化三大成果。Azure 以基于 FPGA 的网络加速和 Confidential Computing 对抗,但尚未达到 Nitro System 那样全面的硬件卸载。GCP 的 Titanium 芯片负责安全验证,但不卸载 I/O 处理。Nitro System 的竞争优势在于将性能和安全通过单一自研平台统一实现,这种垂直整合的硬件战略是 AWS 独有的护城河。