开源轻量级虚拟化技术Firecracker解析

本文深入解析某中心开源的Firecracker虚拟化技术,该技术结合硬件虚拟化的安全性与容器的资源效率,支持毫秒级启动时间,每月处理数万亿请求,为无服务器计算提供创新解决方案。

Firecracker:某中心开源的轻量级虚拟化平台

在2020年5月28日,某中心高级首席工程师Marc Brooker就Firecracker进行了专题演讲并主持了现场问答。Firecracker是一种开源虚拟化技术,专为创建和管理安全的多租户容器及基于函数的服务而构建。

自2014年起,某中心通过AWS Lambda提供"无服务器"计算服务。使用Lambda时,用户无需管理服务器或根据需求波动调整容量。系统会自动进行资源调配,用户只需为实际使用的资源付费。

“最初构建Lambda时,需要在两种安全方案中做出选择:一种是容器化技术,虽然快速且资源高效,但无法提供强大的客户间隔离;另一种是在虚拟机内运行代码,虽能提供更高安全性,但需付出计算开销的代价。安全始终是最高优先级,因此最初选择基于传统虚拟机构建Lambda。”

随后用户对团队提出了更高要求:需要更快的扩展速度、更低延迟以及预置并发等高级功能。“我们意识到无法基于传统虚拟机实现这些功能,因此开发了Firecracker,并于2018年11月将其作为开源虚拟化平台发布。”

Firecracker融合了两方面优势:既具备基于硬件虚拟化的虚拟机安全性,又拥有容器的资源效率和快速启动特性。该技术已部署于某中心两项公开可用的无服务器计算服务(Lambda和Fargate)中,每月支持数百万生产工作负载和数万亿次请求。

在今年举行的USENIX网络系统设计与实现研讨会(NSDI ‘20)上,团队发表了论文《Firecracker:无服务器应用的轻量级虚拟化》,详细阐述了将Lambda用户无缝迁移至Firecracker的技术实践。

技术特性

  • 安全隔离:基于KVM构建,提供硬件级虚拟化安全
  • 轻量级设计:内存占用小于5MB,启动时间毫秒级
  • 多租户支持:专为容器和函数式服务设计
  • 高性能:支持高密度部署和快速扩展

应用场景

目前该技术已广泛应用于无服务器计算平台,为现代云原生应用提供安全高效的运行环境。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计