Firecracker 是一种专门用于创建和管理多租户容器和基于函数的服务的虚拟化技术。
使用 Rust 开发,旨在加快 AWS Lambda 和 AWS Fargate 等服务的速度和效率。它是一种虚拟化技术,提供 Serverless 操作模型,专门用于创建和管理多租户容器与基于函数的服务。Firecracker 在轻量级虚拟机中运行工作负载,AWS 将其称为 microVM,它 结合了硬件虚拟化技术提供的安全性与隔离性和容器的速度与灵活性 。
Firecracker 的主要组件是虚拟机监视器(VMM),它使用 Linux 内核虚拟机(KVM)来创建和运行 microVM。Firecracker 采用极简设计,它剔除了不必要的设备和面向客户的功能,以减少每个 microVM 的内存占用和攻击面积,这可以提高安全性、缩短启动时间并提高硬件利用率。
Firecracker 目前支持 Intel CPU、AMD 与 Arm,同时它还将与流行的容器运行时集成。
Firecracker 开源原则如下:
内置安全性: 提供计算安全隔离,以支持多租户工作负载,并且用户无法失误禁用。用户工作负载同时被视为具备神圣(不可触及)与恶意(应予以防备)两种属性。
轻量级虚拟化: 专注于短期或无状态工作负载而不是长期运行或持久性工作负载。Firecracker 的硬件资源开销是已知且有保证的。
极简主义: 如果任务没有明确要求,将不会创建。仅维护每个功能的单个实现。
计算资源超额订购: Firecracker 向用户公开的所有硬件计算资源都可以安全地超额订购。