看 AWS 如何通過 Nitro System 構建競爭優勢

目錄

前言

Amazon Nitro System 從 2013 年開始秘密研發,2017 年正式發佈,到 2021 年已經迭代到了第五代。

作為近年來市場火熱的硬件虛擬化技術先驅者,Amazon Nitro System 的誕生目的也被各界人士重新賦予了各種解讀和含義。但正如 AWS 副總裁 Swami 所言:「在 AWS,我們 90% 到 95% 的新項目都是基於客戶給我們的反饋,剩下 5% 也是從客戶角度出發所做得創新嘗試。」

作為 AWS 的老用戶,筆者認為 Amazon Nitro System 誕生的 「因」 到底還是為了能夠滿足客戶對 EC2 計算實例類型的多樣化需求這個 First principle thinking(第一性原理)。而現在我們看到了 Amazon Nitro System 所帶來的顯着的性能提升和成本下降,只是 「因」 所造就的 「果」 而已。

所以本篇內容,希望能夠從技術的角度回顧 Amazon Nitro System 的演進之路,回歸當初的那個 「因」。

另外,亞馬遜雲科技面向廣大的雲計算開發者們提供了100餘種產品免費套餐。其中,計算資源Amazon EC2首年12個月免費,750小時/月;存儲資源 Amazon S3 首年12個月免費,5GB標準存儲容量。感興趣的朋友可以點擊鏈接免費獲取

Amazon Nitro System Overview

Nitro System 這一新的架構使得 EC2 實例類型自 2017 年以來開始爆髮式增長,目前已經達到 400 多種。從 2022 年開始,新的 M1、M2、M3、C1、C3、R3、I2 和 T1 等 EC2 實例類型都將基於 Nitro System 構建。例如:

  • Amazon EC2 內存增強型實例,支持最大 24TiB 的內存規格,專為運行大型內存數據庫而設計。
  • Amazon EC2 計算優化型實例,支持最大 192 vGPU + 384GiB Memory,專為計算密集型工作負載而設計。
  • Amazon EC2 計算加速型實例,支持最大 8 NVIDIA A100 Tensor Core GPU,600 GB/s NVSwitch,400 Gbps Bandwith ENA 和 EFA,轉為 AI/ML 和 HPC 設計。
  • 更多的 Amazon EC2 實例類型請點擊鏈接瀏覽詳情

在 「後摩爾定律」 的時代大背景下,要想跟上業務需求的增速來持續推出規格更高的計算實例類型,顯然不是一件容易的事情。一方面,要求雲計算平台基礎設施層的虛擬化技術能夠做到 Near Bare-metal 的水平,甚至是提供更徹底的彈性裸金屬實例服務;另一方面,常規的依靠摩爾定理進行縱向擴容和軟件優化的技術手段已經難以為繼,需要一種更具革命性的思路和形式。軟硬件融合加速就是其中一種方式,將雲平台基礎設施層的系統組件儘可能的 Offloading(卸載)到專用硬件平台,釋放珍貴的 Host CPU core,讓服務器的資源更加極限的去支撐客戶需求。

正如 Amzion Nitro System 首席工程師 Anthony Liguori 所說:「Nitro System 用於確保 EC2 計算實例能夠將整個底層服務器資源完全開放給客戶使用。」

基於這樣的思路,Amazon Nitro System 開啟了軟硬件融合加速的商業化產品之路。

顧名思義,Amazon Nitro System 不僅僅是一個單一的專用硬件設備,而是一套完整的軟硬件融合協同系統。由 Nitro Hypervisor、Nitro I/O Accelerator Cards、Nitro Security Chip 三大部分組成,今年又再繼續加入了 Nitro Enclaves 和 NitroTPM(Coming soon in 2022)兩大組成部分。彼此合作,又相互獨立。

在這裡插入圖片描述

  • Nitro Hypervisor:是一個 Lightweight Hypervisor(輕量級虛擬機監控程序)只負責管理 CPU 和 Memory 的分配,幾乎不佔用 Host 資源,所有的服務器資源都可用來執行客戶的工作負載。

  • Nitro Cards:是一系列用於 Offloading and Accelerated(卸載和加速)的協處理外設卡,承載網絡、存儲、安全及管理功能,使得網絡和存儲性能得到了極大提升,並且從硬件層提供天然的安全保障。

  • Nitro Security Chip:隨着更多的功能被卸載到專用硬件設備上,Nitro Security Chip 提供了面向專用硬件設備及其固件的安全防護能力,包括限制雲平台維護人員對設備的訪問權限,消除人為的錯誤操作和惡意篡改。

  • Nitro Enclaves:為了進一步保障 EC2 用戶的個人信息保護及數據安全,Nitro Enclaves 基於 Nitro Hypervisor 進一步提供了創建 CPU 和 Memory 完全隔離的計算環境的能力,以保護和安全地處理高度敏感的數據。

  • Nitro TPM(Trusted Platform Module,可信平台模塊):支持 TPM 2.0 標準,Nitro TPM 允許 EC2 實例生成、存儲和使用密鑰,繼而支持通過 TPM 2.0 認證機制提供實例完整性的加密驗證,能夠有效地保護 EC2 實例,防止非法用戶訪問用戶的個人隱私數據。

AWS EC2 的虛擬化技術演進之路

一直以來,虛擬化技術都是雲計算的基石。通過虛擬化技術,將不可分割的硬件資源會抽象為可二次配置的邏輯單位,從而實現按需分配和共享現有的計算、存儲和網絡資源。

AWS 的虛擬化技術演進之路有一張廣為人知的示意圖,由 Brendan Gregg 於 2017 年所繪製,他在自己的博客中說明了 Nitro System 的來歷和技術架構(//www.brendangregg.com/blog/2017-11-29/aws-ec2-virtualization-2017.html)。

從圖中我們可以看到,Brendan 把虛擬化的關鍵技術根據功能做了拆分並根據其重要程度進行排序,顯然最重要的是 CPU 和 Memory,其次是 Network I/O,再來就是 Local Storage I/O 和 Remote Storage I/O,最後是 Motherboard(中斷)和 Boot(主板)等。

Amazon EC2 實例從最早的採用了 Xen PV(Para-Virtualization,半虛擬化)到後來的 Xen HVM(Hardware-assisted virtualization,硬件輔助的全虛擬化),再逐步地加入 SR-IOV NIC 硬加速技術,並最終在 2017 年推出了軟硬件融合的 Nitro System。

整個技術演進的脈絡清晰明了,但我們不能停留於此,還需繼續探索其背後的緣由。

在這裡插入圖片描述

Nitro Hypervisor

正如前面提到 AWS 自 2006 年成立並發佈的第一個 EC2 實例類型 m1.small 採用了 Xen 虛擬化技術。首批 AWS 用戶能以每小時 10 美分的價格獲得一台相當於 1.7G 主頻的 Intel Xeon CPU、1.75GiB Memory、160GB Disk 和 250Mb/s Bandwidth 的雲主機。

Xen 虛擬化技術的誕生最早可以追溯到 1990 年,那年 Ian Pratt 和 Keir Fraser 創建了 XenServer 的初始代碼工程。直到 2003 年發佈了 Xen 1.0 版本,並成立 XenSource 公司。在那個 Intel 和 AMD 還沒有推出 CPU 硬件虛擬化技術的年代,Xen 為了提升虛擬機的性能而選擇了 PV(半虛擬化)的技術方向。

正如 Xen 之父 Ian Pratt 所言:「這個項目是由我本人和劍橋大學計算機科學實驗室的一些學生共同做的。我們當時就意識到要想使得虛擬化的工作越來越好,必須需要得到硬件方面的幫助,而且要不斷地改變 CPU,改變芯片組,以及改變一些 I/O 的裝置,使得他們能夠適應虛擬化的需要。」

在當年,以 Xen 為代表的 PV 虛擬化技術象徵著能夠擁有一台性能先進的虛擬機。所以很快的,基於 Xen 虛擬化技術的解決方案陸續被 RedHat、Novell 和 Sun 等的 Linux 發行版集成,作為默認的虛擬化解決方案。

  • 2005 年,Xen 3.0.0 發佈,該版本可以在 32 位服務器上運行,作為第一個支持 Intel VT-x 技術的 Hypervisor。從而使得 Xen 虛擬機可以運行完全沒有被修改過的 GuestOS,該版本是 Xen 真正意義上可用的版本。
  • 2006 年,RedHat 將 Xen 虛擬機作為企業版 RHEL 的默認特性。
  • 2007 年,Novell 在推出的企業級 SLES(Suse Linux Enterprise Server)10 中添加了 Xen 虛擬化軟件。
  • 2007 年 6 月,RedHat 在所有平台和管理工具中包含了 Xen 虛擬化功能。
  • 2007 年 10 月,Citrix 公司出資 5 億美金收購了 XenSource,變成了 Xen 虛擬機項目的東家。之後推出了虛擬化產品 Citrix 交付中心。

而誕生於 2006 年的 AWS 自然也選擇了 Xen 來作為 EC2 的虛擬化技術底層支撐,並在後來的十多年裡,又陸續發佈了 27 個基於 Xen 虛擬化技術的 EC2 實例。

在這裡插入圖片描述

Xen 實現了虛擬機的 CPU 和內存虛擬化,但是虛擬機的 I/O 功能,包括網絡和存儲等,還需要通過虛擬機中的一個 Front-end(前端模塊)與 Domain 0 中的 Backend(後端模塊)進行交互,並最終由 Domain 0 中的 Device drivers 實現。

這裡的 Domain 0 是 Xen 的一個特權虛擬機(唯一運行在 Xen Hypervisor 之上的虛擬機),運行着被修改過的 Linux kernel,它擁有訪問物理 I/O 資源的權限。Domain 0 需要在其它的業務虛擬機啟動之前啟動,並用於提供業務虛擬機的外設模擬仿真功能。

2013 年,AWS 採用 Xen PV 虛擬化技術的 cr1.8xlarge EC 實例的架構如下圖所示。可以看見,Host(宿主機)上既要運行用戶的業務虛擬機,還運行 Xen 的 Domain 0 管理虛擬機。業務虛擬機的本地存儲、EBS Volume 和 VPC 網絡訪問都是通過 Domain 0 虛擬機來實現的。

顯然,這樣的 I/O 路徑非常冗長,不可避免的降低了 I/O 性能,而且 Domain 0 還會和業務虛擬機搶佔 Host 的 CPU/Memory/IO 資源,很難實現管理虛機和業務虛機之間的平衡,以及避免性能抖動。並且,隨着業務需求的發展,對存儲和網絡的性能不斷提出要求,這意味着 Host 需要預留更多 CPU core 來模擬這些外設,當規模大到一定程度,問題就會變得非常明顯。

在這裡插入圖片描述

這些問題促使了 AWS 尋求新的方法來改進純軟件實現的虛擬機管理程序架構,探索更靈活可行的虛擬機管理手段。而探索的結果,正是 Amzon Nitro System。

Nitro System 採用了新型的 Nitro Hypervisor 來替代 AWS 早期採用的 Xen 虛擬化技術,其基於 KVM,運行於極簡化定製的 Linux Kernel 中,作為一種 Lightweight Hypervisor 只負責管理 CPU 和 Memory 的分配,以及將 Nitro I/O Acceleration Cards 分配給計算實例,本身並不實現任何 I/O 虛擬化功能。因此,Nitro Hypervisor 能夠具有 BareMetal-Like 的性能。

Amazon EC2 首席工程師 Anthony Liguori 表示:「Nitro 基於 Linux KVM 技術,但其本身並不包含通用型操作系統的 I/O 組件。Nitro Hypervisor 主要負責為 EC2 實例提供 CPU 與 Memory 的虛擬化隔離能力,Nitro Hypervisor 取消了主機系統的軟件組件,從而為 EC2 實例提供更出色的性能一致性,同時提升宿主機可利用的計算與內存資源,使幾乎所有服務器資源都可供客戶直接使用。」

KVM(Kernel-based Virtual Machine,基於內核的虛擬機)於 2007 年 2 月 5 日被集成到 Linux Kernel 2.6.20 中,是現今最流行的虛擬化技術之一。KVM 的本質是一個嵌入到 Linux Kernel 中的虛擬化功能模塊 kvm.ko(kvm-intel.ko/kvm-AMD.ko),該模塊在利用 Linux Kernel 所提供的部分操作系統能力(e.g. 任務調度、內存管理、硬件設備交互)的基礎上,再加入了 CPU 和 Memory 虛擬化的能力,使得 Linux Kernel 具備了成為 Hypervisor VMM 的條件。

在這裡插入圖片描述

KVM 最大的特點就是其本身只提供了 CPU 和 Memory 的虛擬化功能,而不能進行任何設備的模擬。所以,通常的 KVM 還必須藉助於一個 VMM 來模擬出虛擬機所需要的虛擬設備(e.g. 網卡、顯卡、存儲控制器和硬盤),同時為 GuestOS 提供操作入口。最常見的,就是選擇 QEMU(Quick Emulator)來作為補充。所以 KVM 社區在對 QEMU 進行稍加改造後,推出了 QEMU-KVM 分支發行版。

QEMU 是一款免費的、開源的、純軟件實現的、功能強大的 VMM,直至 2019 年 QEMU 4.0.0 發佈並對外宣稱幾乎可以模擬所有的設備。但是,但由於這些模擬都是純軟件實現的,所以其性能低下。

而 Nitro System 與業界普遍採用的 QEMU-KVM 方案的最大區別之一,就是它沒有使用 QEMU,而是將 QEMU 所提供的設備模擬功能 Offloading 到了 Nitro I/O Acceleration Cards 實現,進而為 Nitro EC2 實例提供了存儲、網絡、管理、監控以及安全能力。

但並不是說原生的 KVM 就具備了 Hardware Offloading 框架可以直接遷移,據筆者了解,裏面必然會涉及到不小的適配性定製開發。所以 Nitro System 團隊並沒有一開始就從這方面入手,而是先陸續解決網絡和存儲的卸載加速之後,再來攻堅 Hypervisor 的難題。當然 AWS 最不缺的就是虛擬化領域的技術大牛,例如 James Hamilton,他是 AWS 副總裁及傑出工程師,是少有的被允許在個人博客中發表重大技術思路的工程師。在 James Hamilton 的個人博客中(//perspectives.mvdirona.com/),我們可以翻閱大量與 Nitro System 相關的技術內幕。

回到主題,直到 2017 年 11 月,AWS 發佈了 C5 實例類型,它首次使用基於 KVM 的 Nitro hypervisor 替換了 Xen。可以看見,在新的虛擬化架構中已經完全移除了 Xen Domain 0 管理虛擬機,極大的釋放了 Host 資源。

在這裡插入圖片描述

另外值得注意的是,近年來儘管 IaaS 和 PaaS 等雲服務已經非常完善,但在一些特定場景下(例如物理層面的完全獨佔隔離),用戶依然對彈性裸金屬雲服務提出了訴求。

區別於傳統的數據中心機房租賃,彈性裸金屬雲服務要求具備與常規雲服務一般無異的敏捷開通、按需付費和成本效益特性。所以交付彈性裸金屬雲服務的技術困難在於:在不能夠安裝任何具有侵入性的雲平台基礎設施管理組件到裸金屬服務器的前提之下,如何對裸金屬服務器集群進行高效的資源池化管理?

從目前來看,只有將雲平台基礎設施管理組件卸載到專用硬件設備是一個較為可行的方案。在使用彈性裸金屬服務的同時,還能繼續使用比如 EBS、ELB 和 VPC 等基礎雲服務。在交付裸金屬實例的過程中,以自動化的方式完成對服務器網絡以及基於網絡的共享存儲的設置,並且支持裸金屬實例的 Migration 等雲主機特性。

所以,也是在 2017 年,AWS 同時發佈了首個基於 Nitro System 的彈性裸金屬實例類型 i3.metal。i3.metal 實例幾乎沒有 Host 性能開銷,用戶可以直接在服務器中運行任何期望的應用程序,例如:Xen、KVM、ESXi、容器、FireCracker 微虛機等等。

在這裡插入圖片描述

綜上,在引入了 Nitro Hypervisor 並將更多的 I/O 外設卸載到 Nitro I/O Acceleration Cards 之後,Nitro System 重新構建了 AWS 雲平台的基礎設施層。將存儲、網絡和安全功能 Offloading 到專用的硬件所帶來的最主要且直觀的好處是 EC2 實例幾乎可以為 GuestOS 提供 Host 所有的 CPU 和 Memory,在性能上也得到了巨大的提升(Bypass 了 Kernel 冗長的 I/O 路徑),同時還能夠支撐交付彈性裸金屬服務。

正如 AWS 首席技術佈道師 Jeff Bar 在一篇博客里寫道:「有了 Nitro Hypervisior 的 EC2 實例跟裸金屬服務器相比,性能只差了大約 1%,這一微小差別很難察覺出來。」

從下圖的測試結果可以看出,使用了 Nitro Hypervisor 的 C5 實例相對與 i3.metal 裸金屬實例只有一點極小的附加開銷,而且性能非常平穩,能完全滿足應用的 SLA 需求。Nitro Hypervisor 提供的虛擬化性能非常的接近裸設備。

在這裡插入圖片描述

Nitro Cards

在這裡插入圖片描述

Nitro Cards 具有以下 6 種類型,本質仍然是一張張 PCIe 外設卡,可以採用各種 Passthrough 技術接入到 Nitro 實例。Nitro Cards 作為 AWS 雲平台基礎設施的一部分,對用戶而言是透明的。

  1. Nitro Controllere Card(管理)
  2. Nitro VPC Card(網絡)
  3. Nitro EBS Card(遠程存儲)
  4. Nitro Instance Storage Card(本地存儲)
  5. Nitro Security Chip Card(安全)

如此的,Nitro Hypervisor 和 Nitro Cards 的結合就能夠 「組裝」 出一台虛擬機所需要的所有計算機組成系統部件,將更多的服務器硬件設備資源應用於生產需求,並為客戶提供更多可用計算實例類型,而不必再為一系列雲平台基礎設施(管理、監控、安全性、網絡或存儲 I/O)預留出 Host 計算資源。

在這裡插入圖片描述

Nitro Controller Card

Nitro System 作為一個系統,具有一個邏輯上集中的 Nitro Controller 作為中央管控角色。Nitro Controller Card 實現了 Accelerator Cards 協同控制能力,為每個不同類型的 Nitro EC2 實例加載相應的 Device Drivers 和 Control Plane Controllers。例如:

  • 通過 Nitro VPC Card 提供 ENA Controller;
  • 通過 Nitro EBS Card 提供 NVMe Controller;
  • 通過 Nitro Security Chip 提供 Hardware Root Of Trust(硬件信任根),用於支持實例監控、計量和認證;
  • 通過 Nitro Enclave 提供數據安全防護能力等等。

在這裡插入圖片描述

Nitro VPC Card

網絡增強型的 EC2 實例是 Amazon Nitro System 技術團隊最先選擇的切入點,2013 年發佈的 C3 首先採用了 SR-IOV Passthrough 技術。

SR-IOV(Single-Root I/O Virtualization,單根 I/O 虛擬化)是 PCI-SIG 推出的一項 PCIe 設備虛擬化技術標準,是一種基於物理硬件的虛擬化解決方案。SR-IOV 技術允許在虛擬機之間共享 PCIe 設備,同時通過 SR-IOV Passthrough 可以令 VF/PF Bypass Hypervisor 直接接入到虛擬機,有效的提高了物理 I/O 設備的性能與可擴展性。由於 SR-IOV 是基於硬件實現的,所以虛擬機獲得與宿主機媲美的 I/O 性能。

在這裡插入圖片描述

如下圖所示,在 Host 上增加了一塊 SR-IOV NIC,EC2 實例的 VPC virtual interface 不再由 Xen Domain 0 提供,而是直接接入到 SR-IOV PF/VF。如果採用的是 Intel 82599 NIC,那麼只需要在 EC2 實例中安裝 ixgbe drivers,即可擁有最高 10Gbps 的網絡吞吐量。

在這裡插入圖片描述

但是 SR-IOV 實際上也有着其局限性,存在 3 點主要問題:1)擴展性有限,只支持一定數量的 VFs;2)靈活性有限,不支持 Live Migration;3)計算能力有限,無法提供更多的高級網絡虛擬化功能。

所以,在 SR-IOV 的理念基礎上進行演進,Nitro System 團隊在 2016 年發佈了 ENA(Elastic Network Adapter)技術,並應用於 X1 實例類型,最大吞吐量可以到 25Gbps。ENA 正是 Nitro System 項目的一部分,基於 ENA 技術的 Nitro VPC Card 最初由以色列的 Annapurna Labs 公司開發的 ASIC 芯片加速卡支撐,是 Nitro System 第一款真正的專用硬件卡,並於 2015 年被 AWS 收購。

現在最新的 Nitro VPC Card 完全實現了 VPC Data Plane Offloading,Nitro 實例通過 ENA drivers 能夠像 SR-IOV Passthrough 一般地 Bypass Kernel 直接與 Nitro VPC Card 進行數據傳輸,極大地提升了 I/O 效率。同時在 Nitro VPC Card 上的 ASIC 芯片還實現了多租戶平台網絡隔離、數據報文的封裝/解封裝、Security Group、QoS 和 Routing 等功能。

在這裡插入圖片描述

此外,Nitro VPC Card 還進一步實現了更豐富的網絡加速特性。例如 EFA(Elastic Fabric Adapter)提供了 User Space Network Function(用戶態網絡功能),客戶可以通過 EFA 來使用 OpenFabrics Alliance Libfabric SDK/API,如:MPI(消息傳遞接口)或 NCCL(NVIDIA 集體通信庫)。

使用 EFA 和 Libfabric,User Space Applications 能夠以 Bypass Linux Kernel 的方式進行 RDMA/RoCE 通信,與 Nitro EBS Card 提供的 NVMe-oF 能力結合,能夠以更低的 CPU 使用率實現更高的性能。

另外,隨着網絡技術發展,從 2006 年的 1000M 時代、到 2012 的 10GB 時代、到 2016 年的 25GB 時代,再到今天的 100GB 時代。如果不能夠將更廣泛的網絡虛擬化技術(e.g. VxLAN / GRE Overlay)卸載到專用硬件上處理,進而釋放 Host CPU core,那麼珍貴的 CPU core 基本無法處理除了網絡流量之外的任何業務。

正如如 AWS 所介紹的:「新的 C5n EC2 實例是因為採用了第四代 Nitro VPC Card,才能夠達到 100Gbps 的網絡吞吐能力。」

Nitro EBS Card

存儲增強型的 EC2 是 Amazon Nitro System 團隊做出的第二個嘗試,在 2015 年推出的 C4 實例類型引入了基於 NVMe SSD 的 EBS Volumes。

隨着 AI 技術的發展步入了快車道。深度學習依賴海量的樣本數據和強大的計算能力,也推動 HPC(高性能計算)的發展。高效的 AI 訓練需要非常高的網絡吞吐量和高速存儲來處理大量的數據,大量的數據將會在計算節點、存儲節點之間進行傳送。

通常情況下,在低於 10% 鏈路帶寬利用率的低負載流量環境中,突發流量引起的網絡丟包率會接近 1%,而這 1% 的丟包率在 AI 運算系統中直接帶來了接近 50% 算力損失。在分佈式 AI 訓練場景中,網絡抖動和數據傳輸時延引起的網絡重傳會進一步降低網絡的吞吐量,使模型訓練的效率大大下降,甚至失敗。

所以我們可以看見,近幾年的高性能算力中心都在馬不停蹄的陸續引入 RDMA/RoCE、NVMe/NVMe-oF、NVMe over RoCE 等新型技術。

在存儲方面,相對於傳統的 HDD(Hard Disk Drive,機械硬盤)磁盤存儲介質,SSD(Solid-State Drive,固態硬盤)半導體存儲介質帶來了存儲性能近 100 倍的提升。而基於 NVMe(Non-Volatile Memory express,非易失性內存主機控制器接口規範)標準的 SSD 能夠在性能提升的同時在大幅的降低延遲。

所以在 2015 年發佈了 NVMe SSD 標準之後,Nitro System 團隊就立刻瞄準了這一方向。現在一塊 NVMe SSD 的容量可以達到十幾 TB,100 萬的 IOPS 性能,同時有着微秒級的延遲。

雖然,當時出於對 NVMe 技術兼容性問題的考慮依舊保留了 Xen 虛擬化技術傳統的 Forint-end/Back-end I/O 架構(直到 2017 年推出 Nitro Hypervisor 為止),但仍然按照專用硬件卸載的思路增加了一張同為 Annapurna Labs 公司開發的存儲網絡加速卡,它能將 Remote Storage 以 NMVe 協議呈現給 EC2 實例。

這一改進帶來的好處就是進一步釋放了 Host CPU core,以及實踐了先進的 NVMe SSD 技術。

現在,最新的 Nitro EBS Card 可以完全實現了 EBS Data Plane Offloading,EC2 實例通過標準的 NVMe drivers 與它進行通信,並基於 NVMe-oF 協議進行數據傳輸,同時支持 EBS Volume Data 加密/解密、QoS、存儲 I/O 加速等功能。不僅如此,Nitro EBS Cards 還在硬件層實現了 EC2 實例與存儲 I/O 資源消耗之間的隔離,隔絕了不同租戶之間的性能干擾。

在這裡插入圖片描述

Nitro Instance Storage Card

在到 2017 年發佈的 i3 存儲優化型 EC2 實例,針對性的解決了 EC2 實例本地存儲的硬件加速需求。i3 實例類型基於以往的技術積累,將 SR-IOV 技術和 Local NVMe SSD drivers 進行了結合,實現了 Instance Storage Data Plane Offloading。

本地 NVMe 磁盤的性能優勢毋庸贅言,在 IOPS 和延遲方面都有顯著提升。結合 SR-IOV,使 NVMe SSD 直接被多個 Local EC2 實例使用。虛擬機只需要安裝相應的 NVMe drivers 即可訪問這些 SSD 磁盤,繼而能夠提供 300 萬以上的 IOPS 性能。Nitro Instance Storage Card 還可以監控 Local SSD 的磨損情況。

在這裡插入圖片描述

Nitro Security Chip Card

區別於上述提到的 Nitro Cards,Nitro Security Chip Card 集成了 Nitro Security Chip,主要用於持續監控和保護 Server 的 Hardware 資源,並在每次啟動 HostOS 時獨立地驗證 Firmware 的安全性,以確保沒有任何被修改或以任何未經授權的方式更改。所以 Nitro Security Chip Card 所提供的功能並不會被 EC2 實例感知。

在生產環節中,各種設備的 Firmware 對整個系統的安全運行非常關鍵,為了正確管理這些 Firmware。Nitro Security Chip 一方面會追蹤 Host 對各種 Firmware 的 I/O 操作,對 Firmware 的每個校驗和(設備度量)都會遇存儲在 Security Chip 中的驗證值進行檢查;另一方面還能管理這些 Firmware 的更新,這在普遍的標準服務器上是難以實現。

結尾

在雲計算過去的十年里,我們發現越來越多的企業 CIO 在引入雲計算服務的時候會更加理性和科學的進行成本核算,如何切實有效的交付高性價比的雲服務產品比以往的任何時刻都要能夠有效的構建出競爭壁壘。

令人敬佩的是,AWS 一直依賴都堅持着高性價比策略,目前統計已經連續降價了 70 多次。回顧 Nitro System 的技術演進之路,AWS 通過在硬件虛擬化技術方向上進行革命性創新來提升性價比的手段,與市場性質的價格戰有着本質的不同。是一種更為樸實的、由技術革命所帶來的降本和增效,無疑是其競爭壁壘中最堅實的一塊磚石。

最後,再為大家介紹一下亞馬遜雲科技專為雲計算開發者們打造的多樣化學習平台,感興趣的朋友們可以從裏面獲取到大量優質的官方一手教程內容。

  1. 入門資源中心:從0到1 輕鬆上手雲服務,內容涵蓋:成本管理,上手訓練,開發資源
  2. 架構中心:亞馬遜雲科技架構中心提供了雲平台參考架構圖表、經過審查的架構解決方案、Well-Architected 最佳實踐、模式、圖標等
  3. 構建者庫:了解亞馬遜雲科技如何構建和運營軟件
  4. 用於在亞馬遜雲科技平台上開發和管理應用程序的工具包

還有豐富的讀者專屬福利,幫助大家快速上手!