AWS(Amazon Web Services)Nitro架构为Amazon的云服务提供了底层的支持。Nitro架构的总体设计思想是:轻量化的hypervisor配合定制化的硬件,让用户无法区分出运行在虚拟机内和运行在裸金属上操作系统的性能差异。
Nitro架构将虚拟机的计算(主要是CPU和内存)和I/O(主要是网络和存储)子系统分离开来,将原本一个大的计算机系统分成两部分:
基于Intel主板的通用服务器系统,该系统主要提供计算资源。
Amazon自己定制的Nitro系统,该系统主要提供I/O资源。
两个系统之间通过PCIe总线连接到一起。
Nitro系统主要由三部分组成:
以PCIe卡形式呈现的Nitro卡,主要包括支持网络功能的VPC(Virtual Private Cloud)卡,支持存储功能的EBS(Elastic Block Store)、Instance Storage卡和支持系统控制的Nitro Controller卡。
Nitro安全芯片,该芯片提供Hardware Root of Trust,防止运行于通用服务器上的软件对non-volatile storage进行修改,比如虚拟机的UEFI程序。
运行于通用服务器的Nitro Hypervisor,这是个基于kvm的轻量级hypervisor,主要提供CPU和内存的管理功能,不提供设备的模拟(因为所有的设备都是通过透传的方式添加到虚拟机中)。