亞馬遜AWS無伺服器計算最新技術,Firecracker是什麼?
企業IT基礎設施從一個裝滿伺服器機房硬體維護到只需一次點選執行CPU和記憶體密集型應用程式,已經走過了漫長的道路。這種轉變的主要目的之一是使開發人員和運維工程師能夠更多地關注應用創新,而不是維護底層基礎架構。向無伺服器計算的轉變正在迅速發生,許多工具和技術已經在雲端湧現。作為公有云領頭羊,AWS一直在釋出新功能,以幫助使用者轉向無伺服器計算和虛擬化,Lambda就是這樣一個例子。
AWS的Lambda,以無伺服器方式執行使用者應用程式或指令碼。Lambda簡單有效地執行了沒有任何開銷的功能。執行容器的AWS Fargate的引入,進一步強調了無伺服器架構。現在新的虛擬機器管理器Firecracker來了。
Firecracker是一種利用KVM的新虛擬化技術,使用Rust語言開發,用於增強AWS Lambda和AWS Fargate的後端實現。Firecracker的開發目標是為Lambda和Fargate服務提供高安全性,隔離性,靈活性和高效的執行時環境。
Firecracker對無伺服器計算意味著什麼?
Firecracker是一種虛擬化技術,它使用基於核心的虛擬機器(KVM),可幫助在同一臺計算機上執行不同客戶的工作負載。憑藉與傳統機器類似的隔離,Firecracker可確保安全性和效率。Firecracker在Apache 2.0下獲得許可,使其成為一個開源工具,鼓勵為進一步改進做出貢獻。
- 虛擬機器管理器(VMM)用於建立和管理microVM。
- 簡約而簡潔的設計減少了記憶體開銷。
- Firecracker程序在統計上是連結的,可以使用jailer啟動。
- Firecracker可以處理巨大的工作量,因為它已經支援Lambda和Fargate。
主要特點
- RESTful API為自定義vCPU和記憶體建立和管理microVM。
- 低開銷(每個microVM 5 MB記憶體)和高效能(125ms啟動時間)可以支援在同一臺機器上執行大約1000個microVM。
- 支援核心版本4.14及更高版本的Linux主機和客戶端作業系統。
- 支援Intel CPU。
- 採用Apache 2.0許可證的開源技術。
- 支援在.metal,裸機例項,內部部署環境和開發人員膝上型電腦上執行。
- 通過多層隔離和保護確保安全性。
未來路線圖
- 提供Kubernetes,Kata和Docker容器與Firecracker的整合,以幫助那些擁有這些技術基礎設施的公司。
- 支援AMD和Arm處理器。
- 與容器執行時整合。
- 提供MicroVM儲存加密。
- 稽核基於Recipe的構建。
- 支援Virtio Vsock。