旧金山,2025年1月16日 – 云平台即服务(PaaS)公司 Vercel 近日发布了一份深入的技术报告,详细阐述了其名为 “Hive” 的全新底层计算平台。该平台利用先进的 MicroVM 技术,显著缩短了客户的构建时间,并在多租户环境中实现了更高的安全性和隔离性。这一举措不仅标志着 Vercel 在基础设施领域的重大突破,也为整个云计算行业提供了新的思路和借鉴。
Hive:应需而生的下一代构建平台
Vercel 构建和计算产品经理 Mariano Cocirio 和首席工程师 Guðmundur Bjarni Ólafsson 在官方博客中指出,Hive 的诞生源于客户日益增长的需求,以及对构建环境更精细控制和更细粒度管理的需求。随着 Vercel 平台用户规模的不断扩大,传统的构建方式逐渐暴露出效率和安全方面的瓶颈。为了解决这些问题,Vercel 决定从底层架构入手,打造一个能够满足未来发展需求的全新平台。
Hive 的核心架构是一个由多个独立运行的区域集群系统组成,每个集群被称为一个 “hive”。每个 hive 都有自己的故障边界,确保了系统的稳定性和可靠性。一个典型的 hive 包含以下关键组件:
- Boxes (裸机服务器): 提供物理计算资源的基础设施。
- Cells (虚拟机): 基于 MicroVM 技术构建的轻量级虚拟机,用于隔离和执行构建任务。
- 控制面板: 负责 hive 的编排和管理。
- 专用 API: 为每个 hive 实例提供独立的接口。
MicroVM 技术:安全与性能的完美结合
在技术层面,Hive 采用了 KVM(Kernel-based Virtual Machine)技术和 Firecracker,后者是亚马逊云科技最初为改进 Lambda 和 Fargate 而开发的开源 MicroVM。KVM 作为一种成熟的虚拟化技术,为虚拟机提供了硬件级别的隔离。而 Firecracker 则以其轻量级、快速启动的特性,成为构建高效隔离环境的理想选择。
MicroVM 技术与传统的容器技术相比,最大的优势在于其更高的隔离性。传统的容器虽然启动速度快、资源占用低,但由于共享主机内核,存在安全隐患。一旦恶意代码导致内核崩溃,可能会影响到整个主机上的所有容器。而 MicroVM 则为每个构建任务提供了独立的虚拟机,避免了这种风险。
Vercel 的 Hive 系统通过一个名为 “box 守护进程” 的组件来管理虚拟机的准备工作,并与 “cell 守护进程” 进行通信。后者负责控制执行客户工作负载的构建容器。为了进一步优化构建流程,Vercel 还采用了预热 cell 的策略。这意味着,当构建任务启动时,系统可以直接使用已经准备好的虚拟机,无需等待虚拟机的创建,从而大大缩短了构建的启动时间。
安全性:Hive 的核心考量
安全性是 Vercel 在设计 Hive 架构时的核心考量。每个虚拟机都分配有专用的 CPU 和内存,确保了资源隔离。同时,磁盘和网络吞吐量则根据总体容量和 box 划分进行速率限制,防止恶意代码占用过多资源。这种细粒度的资源控制,使得 Hive 能够在多租户环境中安全地执行不受信任的代码,而不会影响系统的整体性能和稳定性。
在一段讨论 Vercel 博文的 YouTube 视频中,来自 Codedamn 的 Mehul Mohan 解释了 Hive 的实际工作流程。当开发人员将代码推送到 GitHub 时,一个 webhook 会触发 Vercel 的构建流程。Mohan 将 Hive 与 Codedamn 的游乐场进行了比较,后者在运行不受信任的代码时也面临着类似的挑战。通过对比,Mohan 强调了 Vercel 使用多层隔离架构的必要性和优势。
MicroVM 的兴起:无服务器计算的新趋势
在 Sum Of Bytes 上发表的一篇文章中,Arpit Kumar 深入探讨了无服务器计算中的各种虚拟化方法,并特别介绍了 MicroVM。他认为,MicroVM 是一种兼顾安全性、隔离性和性能的理想解决方案。传统的容器虽然速度快、效率高,但由于共享主机内核,存在安全风险。这推动了 MicroVM 的发展,Firecracker 就是一个成功的例子,它可以在短短 300 毫秒内完成启动。
Kumar 还比较了各大公司不同的 MicroVM 实现。亚马逊云科技使用 Firecracker 实现 Lambda 和 Fargate,Cloudflare 使用 V8 Isolates 运行 Worker,谷歌的 gVisor 是另一种用于运行容器的以安全为本的虚拟机。他还提到,WebAssembly 是另一种速度接近原生的沙箱方法,以及其他新兴的基于 Rust 的 MicroVM 替代方案。这些技术的发展,都预示着 MicroVM 将成为无服务器计算领域的重要趋势。
Hive 与安全计算的集成
Hive 还集成了 Vercel 的安全计算产品,使企业能够在敏感的构建流程中使用私有网络连接。与以前的解决方案相比,这种集成有了很大的改进,特别是在安全构建的准备时间方面。
为了实现这一目标,每个 Hive cell 都会通过连接器的 WireGuard 接口启动一个安全隧道。密钥在实例启动时生成,并通过密钥交换服务分发,不会持久存在或重复使用。该平台的安全模型使用 Linux 网络命名空间,每个 WireGuard 接口都在 box 自己的命名空间中运行。这种架构可确保所有 cell 流量都经过了加密,并通过安全隧道正确路由回客户基础设施。
性能提升:构建时间显著缩短
与以前基于 Fargate 的解决方案相比,Hive 系统在性能上有明显改善。以前在私有网络内,安全构建需要长达 90 秒的准备时间。新的基于 Hive 的架构将这一时间缩短到了 5 秒,而且网络安全水平保持不变。整体构建性能提高了 30%。
Vercel 将这些成果部分归功于 Docker 镜像缓存等优化措施。这些措施本身就将启动时间缩短了约 45 秒。通过这些优化,Vercel 不仅提高了构建速度,还降低了资源消耗,为客户提供了更高效、更经济的构建体验。
Hive 的未来:通用计算平台的潜力
Hive 的成功促使 Vercel 考虑将其扩展到其他业务领域。虽然目前的重点是为客户构建基础设施,但该公司将 Hive 描述为一个通用计算平台,未来有可能实现更广泛的应用。
随着 Vercel 继续探索改进和新用例,进一步加强缓存策略和优化 repo 克隆的工作也正在进行当中。这些持续的努力,将进一步提升 Hive 的性能和功能,使其能够更好地满足客户的需求。
总结
Vercel 的 Hive 平台通过采用先进的 MicroVM 技术,成功地解决了传统构建方式在安全性和效率方面的挑战。其创新的架构设计、精细的资源控制以及与安全计算产品的集成,为云计算行业树立了新的标杆。Hive 的成功不仅为 Vercel 带来了显著的性能提升,也为整个行业提供了有益的借鉴。随着 MicroVM 技术的不断发展,我们有理由相信,它将在未来的云计算领域发挥越来越重要的作用。Vercel 的这一举措,无疑是云计算领域的一项重大突破,它将推动整个行业朝着更安全、更高效的方向发展。
参考文献:
- Vercel 官方博客:https://vercel.com/blog
- InfoQ 文章:https://www.infoq.com/news/2025/01/vercel-hive/
- Sum Of Bytes 文章:https://sumofbytes.com/
- Codedamn YouTube 视频:https://www.youtube.com/codedamn
- 亚马逊云科技 Firecracker:https://aws.amazon.com/cn/firecracker/
- Cloudflare Workers:https://workers.cloudflare.com/
- 谷歌 gVisor:https://gvisor.dev/
Views: 1
