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

雲物互聯發表於2022-05-06

目錄

前言

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 的來歷和技術架構(https://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 的個人部落格中(https://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. 用於在亞馬遜雲科技平臺上開發和管理應用程式的工具包

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

相關文章