AWS 開源安全且快速的新概念微虛擬機Firecracker
AWS開源了用於Serverless計算的安全且快速的微虛擬機(microVM)Firecracker。Firecracker是一種專門用於創建和管理多租戶容器和基於函數的服務的虛擬化技術,使用Rust開發,旨在加快AWS Lambda和AWS Fargate等服務的速度和效率。它是一種虛擬化技術,提供Serverless操作模型,專門用於創建和管理多租戶容器與基於函數的服務。
項目基於Apache 2.0 開源,地址:https://github.com/firecracker-microvm/firecracker
Firecracker在輕量級虛擬機中運行工作負載,AWS將其稱為microVM,它結合了硬件虛擬化技術提供的安全性與隔離性和容器的速度與靈活性。
Firecracker 的主要組件是虛擬機監視器(VMM),它使用Linux 內核虛擬機(KVM)來創建和運行microVM。Firecracker 採用極簡設計,它剔除了不必要的設備和麵向客戶的功能,以減少每個microVM 的內存佔用和攻擊面積,這可以提高安全性、縮短啟動時間並提高硬件利用率。
Firecracker 目前支持Intel CPU、AMD 與Arm,同時它還將與流行的容器運行時集成。
談及背景,AWS表示這是為了應對虛擬化技術的新挑戰。現在開發人員可以通過AWS Fargate將其代碼打包為Serverless容器或通過AWS Lambda打包成Serverless函數,但是AWS意識到現有的虛擬化技術並不是為了優化這些工作負載中固有的事件驅動與短期性質而產生的,那麼就需要構建專門為Serverless計算而設計的虛擬化技術,它將提供基於硬件虛擬化的虛擬機安全邊界,同時保持輕量級與Serverless容器和函數的靈活性。
Firecracker 開源原則如下:
- 內置安全性:提供計算安全隔離,以支持多租戶工作負載,並且用戶無法失誤禁用。用戶工作負載同時被視為具備神聖(不可觸及)與惡意(應予以防備)兩種屬性。
- 輕量級虛擬化:專注於短期或無狀態工作負載而不是長期運行或持久性工作負載。Firecracker的硬件資源開銷是已知且有保證的。
- 極簡主義:如果任務沒有明確要求,將不會創建。僅維護每個功能的單個實現。
- 計算資源超額訂購: Firecracker向用戶公開的所有硬件計算資源都可以安全地超額訂購。