Firecracker 以 Linux 核心虛擬機器 (KVM) 為基礎實作虛擬機器管理員 (VMM),並提供 RESTful API 以建立及管理透過各種 vCPU 和記憶體組合的微型 VM,藉此滿足應用程式的要求。Firecracker 在設計上盡可能地減少裝置模擬,成功縮短了啟動時間、降低各微型 VM 的記憶體用量,並為每個容器提供受信賴的沙盒環境。
AWS Lambda 利用 Firecracker 佈建及執行安全的沙盒,以執行客戶函數。這些安全的沙盒僅需使用極少的記憶體即可快速佈建,享受高效能的同時也不會犧牲安全性。AWS Fargate 任務也在 Firecracker 的微型 VM 上執行,這提升了 Fargate 的執行時間層在 EC2 裸機執行個體的執行速度與效率,且無須犧牲任務的核心隔離性。
講的容易,動手難。上述文句講得非常繞口,出現各種專有名詞,到底跟我們有什麼關係?這個鞭炮 (firecracker) 到底有多神?點下去到底夠不夠大聲?咱們動手玩看看,看能玩到什麼程度?可以跟哪些東西結合起來玩?也許能更理解 AWS Lambda 與 AWS Fargate 的底層運作奧祕,揭開 AWS 營運的神秘面紗?!
Firecracker 以 Linux 核心虛擬機器 (KVM) 為基礎實作虛擬機器管理員 (VMM),並提供 RESTful API 以建立及管理透過各種 vCPU 和記憶體組合的微型 VM,藉此滿足應用程式的要求。Firecracker 在設計上盡可能地減少裝置模擬,成功縮短了啟動時間、降低各微型 VM 的記憶體用量,並為每個容器提供受信賴的沙盒環境。
AWS Lambda 利用 Firecracker 佈建及執行安全的沙盒,以執行客戶函數。這些安全的沙盒僅需使用極少的記憶體即可快速佈建,享受高效能的同時也不會犧牲安全性。AWS Fargate 任務也在 Firecracker 的微型 VM 上執行,這提升了 Fargate 的執行時間層在 EC2 裸機執行個體的執行速度與效率,且無須犧牲任務的核心隔離性。
Amazon Web Services (AWS) 於 2018 年底根據 Apache 2.0 開放了原始碼,讓大家一探究竟。
首先開場會先放一串鞭炮聲(誒不是,先破梗了)…
預計會與大家分享 Firecracker 所身處的環境(架構)、Rust 在當中扮演了什麼角色(優劣勢分析)、大家拿 Firecracker 做了哪些事情(應用案例)、Firecracker 跟我們有什麼關係(使用情境)、現場玩看看 Firecracker 可以如何把玩?!(Live Demo)、最後看看發些作業給大家回家玩(誒不是,是想看看未來展望)。
About Ernest Chiang
Ernest Chiang, also known as Deng-Wei Chiang, started his AWS journey in 2008. He is passionate about bridging AWS technology with business through AWS related presentations at local meet-ups and online blog posts. Since 2011, many AWS services have been adopted, across AWS Global and China regions, under Ernest’s leadership as the Director of Product & Technology Integration of PAFERS Tech.
He enjoys his work on cross-field product development and management and is currently working on decoupling fitness services and providing integrated IoT solutions at PAFERS Tech. He had also been a Process Integration Engineer at TSMC in semiconductor area.