Firecracker MicroVM:AWS 从内核重写无服务器基础设施的秘密武器

GitHub April 2026
⭐ 33897📈 +566
来源:GitHub归档:April 2026
亚马逊云服务(AWS)开源了 Firecracker,一款轻量级虚拟机监控器,能在 125 毫秒内启动微虚拟机,内存开销不到 5 MiB。这项技术是 AWS Lambda 和 Fargate 背后的秘密引擎,正在重塑无服务器计算的经济学。

Firecracker 不仅仅是又一款虚拟化工具——它是对云提供商如何隔离和执行不可信代码的根本性重新思考。由 AWS 开发并于 2018 年开源,Firecracker 使用基于 KVM 的最小化虚拟机监控器(VMM)创建微虚拟机,将硬件虚拟化的安全性与容器的速度和密度相结合。每个微虚拟机在 125 毫秒内启动一个精简的 Linux 内核,仅消耗 5 MiB 内存,使单台物理主机能够运行数千个隔离的工作负载。

这项技术直接驱动着每月处理数万亿次执行的 AWS Lambda,以及无服务器容器引擎 AWS Fargate。通过消除完整客户操作系统和半虚拟化驱动的开销,Firecracker 实现了前所未有的密度和冷启动速度。其代码库完全用 Rust 编写,提供内存安全而不依赖垃圾回收器,这对于安全敏感的 VMM 至关重要。自 2018 年开源以来,Firecracker 在 GitHub 上已获得超过 33,900 颗星和 2,500 个分支,并被 Fly.io、Koyeb 和 Ionos Cloud 等公司采用,用于构建自己的无服务器平台。

技术深度解析

Firecracker 是一个用 Rust 编写的虚拟机监控器,利用 Linux 内核虚拟机(KVM)创建轻量级微虚拟机。其架构刻意保持最小化:仅实现启动 Linux 内核和运行单个应用程序进程所需的基本设备。这包括一个用于存储的 virtio-block 设备、一个用于网络的 virtio-net 设备、一个串行控制台和一个最小的 ACPI 表。没有 BIOS、UEFI、VGA 或传统设备模拟。

启动过程异常高效。Firecracker 将压缩的 Linux 内核镜像(通常为 5-10 MiB 的 vmlinux 二进制文件)直接加载到客户内存中,设置初始页表,然后跳转到入口点。通过使用自定义内核配置,剥离不必要的驱动程序、文件系统和功能,启动时间降至 125 毫秒以下。为了更快的冷启动,Firecracker 支持快照/恢复,其中预启动的微虚拟机状态保存到磁盘,并在 5 毫秒内恢复。

内存开销是另一个关键优化。每个微虚拟机预留固定数量的内存(客户机最低 128 MiB),但 VMM 本身使用的主机内存不到 5 MiB。这是通过避免任何每 VM 内存气球或超量分配实现的——Firecracker 直接使用 KVM 的硬件辅助内存虚拟化。结果是,一台 256 GiB 的主机可以同时运行超过 2,000 个微虚拟机,每个配备 128 MiB 内存。

性能基准测试

| 指标 | Firecracker (微虚拟机) | Docker (容器) | QEMU/KVM (完整虚拟机) |
|---|---|---|---|
| 冷启动时间 | 125 毫秒 | <10 毫秒 | 3-5 秒 |
| 每个实例的内存开销 | <5 MiB | <1 MiB | 50-100 MiB |
| 每台主机的最大实例数 (256 GiB) | ~2,000 | ~5,000 | ~50 |
| 安全隔离 | 硬件虚拟机 | 命名空间/cgroup | 硬件虚拟机 |
| 内核启动时间 | 100 毫秒 | 不适用 | 2-4 秒 |

数据要点: Firecracker 以略高于容器的冷启动时间换取了显著更强的安全隔离。其密度是传统虚拟机的 40 倍,使其成为无服务器平台的理想中间地带。

Firecracker 的代码库可在 GitHub 上的 `firecracker-microvm/firecracker` 获取。该仓库已累积超过 33,900 颗星和 2,500 个分支。该项目完全用 Rust 编写,提供内存安全而不依赖垃圾回收器——这对于安全敏感的 VMM 至关重要。代码是模块化的,包含 VMM 核心、API 服务器和 jailer(沙盒工具)的独立 crate。最近的提交集中在改进快照性能、添加对 ARM64 的支持,以及与基于 Rust 的 `vmm-reference` 管理程序集成。

关键参与者与案例研究

AWS 是 Firecracker 的主要开发者和用户。这项技术源于提高 AWS Lambda 密度和安全性的需求,Lambda 最初运行在带有完整虚拟机的 EC2 实例上。Firecracker 的首次生产部署是在 2018 年,现在它支撑着 Lambda 和 Fargate。AWS 尚未披露生产环境中 Firecracker 微虚拟机的确切数量,但 Lambda 每月处理数万亿次执行,这意味着每天有数百万个微虚拟机被创建和销毁。

除了 AWS,多家公司已将 Firecracker 用于自己的无服务器平台:

- Fly.io 使用 Firecracker 在边缘位置运行完整的 Linux 虚拟机,使开发者能够在靠近用户的地方部署应用程序,同时具有强大的隔离性。
- Koyeb 将其无服务器平台构建在 Firecracker 之上,强调亚秒级冷启动和全球部署。
- Ionos Cloud 提供由 Firecracker 驱动的无服务器容器服务。
- OpenFaaSKnative 社区已尝试将 Firecracker 作为 containerd 的替代方案,用于安全函数执行。

竞争技术

| 解决方案 | 类型 | 启动时间 | 安全模型 | 主要用例 |
|---|---|---|---|---|
| Firecracker (AWS) | 微虚拟机 | 125 毫秒 | 硬件虚拟机 | 无服务器函数、Fargate |
| gVisor (Google) | 用户空间内核 | <10 毫秒 | 应用沙盒 | 容器安全 |
| Kata Containers | 轻量级虚拟机 | 1-2 秒 | 硬件虚拟机 | 安全容器 |
| Cloud Hypervisor | 轻量级 VMM | 200 毫秒 | 硬件虚拟机 | 云工作负载 |
| Amazon Nitro | 硬件卸载 | 3-5 秒 | 专用硬件 | EC2 实例 |

数据要点: Firecracker 最接近的竞争对手是 Kata Containers,它也使用 KVM,但启动链更重(包括完整的客户内核和初始化系统)。Firecracker 的优势在于其最小的设备模型和 Rust 实现,这减少了攻击面和启动时间。

行业影响与市场动态

Firecracker 催化了云基础设施设计的转变。传统的每租户一个虚拟机的模式正在让位于基于微虚拟机的多租户模式,其中数千个隔离的工作负载共享一台主机。这对云经济有直接影响:提供商可以在不牺牲安全性的情况下显著提高服务器利用率,从而降低最终用户的成本。

对于无服务器计算市场,Firecracker 使 AWS 能够提供 Lambda 和 Fargate 等服务,这些服务在安全性和性能方面优于基于容器的替代方案。虽然容器提供更快的启动时间,但它们缺乏硬件虚拟化的安全边界,使它们不适合多租户环境中的不可信代码。Firecracker 填补了这一空白,提供了两全其美的方案:容器的密度和速度,以及虚拟机的安全性。

展望未来,Firecracker 可能会在边缘计算中发挥关键作用,其中低延迟和强隔离至关重要。Fly.io 等公司已经在边缘部署中使用 Firecracker,并且随着 5G 和 IoT 的扩展,对轻量级、安全隔离的需求只会增长。此外,Firecracker 的 Rust 代码库使其成为未来安全关键型基础设施项目的有吸引力的基础。

然而,挑战依然存在。Firecracker 的生态系统仍然相对较小,与 Docker 和 Kubernetes 的集成需要额外的工作。虽然 Firecracker 支持快照/恢复以实现快速冷启动,但它缺乏容器编排工具(如 Kubernetes)的原生支持。社区正在努力解决这些限制,但广泛采用可能还需要时间。

总之,Firecracker 代表了云基础设施设计的一个转折点。通过证明微虚拟机可以像容器一样快速且密集,同时保持硬件虚拟化的安全性,AWS 为无服务器计算的新时代奠定了基础。随着云提供商继续优化其基础设施以实现多租户和边缘部署,Firecracker 的方法可能会成为行业标准。

更多来自 GitHub

QuantDinger:开源AI交易平台以多智能体策略挑战华尔街QuantDinger,GitHub上一个全新的开源项目,正在金融科技社区掀起波澜。该平台为加密货币、股票和外汇市场的量化交易提供了一站式综合解决方案。其核心创新在于将AI决策与自动化执行相结合,由研究、优化和执行交易策略的多智能体架构驱动ChatGLM-6B:开源双语模型如何重塑中国AI生态的准入规则由智谱AI开发、以开源形式发布在zai-org/chatglm-6b仓库的ChatGLM-6B,标志着大语言模型在中文世界民主化进程中的重要里程碑。与许多以英语为先的模型不同,ChatGLM-6B从底层设计之初就是一套中英双语对话系统。其核ChatGLM-6B:6B参数模型如何在消费级GPU上开启中国AI的平民化时代ChatGLM-6B项目源自清华大学THUDM代码库的一个分支,代表着大语言模型向硬件预算有限的开发者和组织开放迈出的关键一步。凭借仅60亿的参数规模,它在智能客服、知识问答和教育辅助等任务上实现了可用性能,且经过INT4量化后,仅需一张消查看来源专题页GitHub 已收录 963 篇文章

时间归档

April 20262178 篇已发布文章

延伸阅读

QuantDinger:开源AI交易平台以多智能体策略挑战华尔街QuantDinger,一个开源AI驱动的量化交易平台,单日狂揽1696颗GitHub星标。它提供回测、实盘交易及多智能体研究框架,覆盖加密货币、股票与外汇,旨在让算法交易民主化。ChatGLM-6B:开源双语模型如何重塑中国AI生态的准入规则智谱AI推出的ChatGLM-6B是一款开源、中英双语对话模型,虽仅60亿参数,却以独特Prefix-LM训练目标与32K超长上下文支持,在中文任务上展现出超越同体量模型的实力,成为大型闭源模型的有力替代方案。ChatGLM-6B:6B参数模型如何在消费级GPU上开启中国AI的平民化时代ChatGLM-6B,一个拥有60亿参数的开源中文对话模型,通过INT4量化技术成功在消费级GPU上运行,引发行业震动。AINews深入剖析其技术架构、竞争格局,以及它对中国AI民主化进程的深远意义。一颗星的分支:零更新克隆如何暴露开源AI的脆弱根基一个名为uyoungii/fastchat的GitHub仓库,作为热门框架FastChat的直接克隆,仅获一颗星且从未更新。AINews深入调查这一现象,揭示其背后开源AI基础设施的碎片化风险与信任危机。

常见问题

GitHub 热点“Firecracker MicroVM: How AWS Rewrote Serverless Infrastructure from the Kernel Up”主要讲了什么?

Firecracker is not just another virtualization tool—it is a fundamental rethinking of how cloud providers isolate and execute untrusted code. Developed by AWS and released as open-…

这个 GitHub 项目在“Firecracker vs Kata Containers performance comparison 2025”上为什么会引发关注?

Firecracker is a virtual machine monitor written in Rust that leverages the Linux Kernel-based Virtual Machine (KVM) to create lightweight microVMs. Its architecture is deliberately minimal: it implements only the essent…

从“How to deploy Firecracker microVM on bare metal”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 33897,近一日增长约为 566,这说明它在开源社区具有较强讨论度和扩散能力。