深入探讨Hive:Vercel的构建基础设施
Building a compute platform optimized for fast, secure, and reliable builds.
构建一个优化的计算平台,以实现快速、安全和可靠的构建。
Hive is Vercel’s low-level untrusted and ephemeral compute platform—designed to give us the control needed to securely and efficiently manage and run builds. Since November 2023, Hive has powered Vercel’s builds, enabling key improvements like enhanced build machines and a 30% improvement in build performance.
Hive 是 Vercel 的低级不受信任和短暂的计算平台,旨在为我们提供安全高效地管理和运行构建所需的控制。自 2023 年 11 月以来,Hive 为 Vercel 的构建提供了动力,实现了关键改进,如增强的构建机器和 30% 的构建性能提升。
The platform operates on the fundamental assumption that we’re executing potentially malicious code on multi-tenant machines, requiring it to be safe, reliable, performant, and cost-effective. It’s architected to handle multiple use cases and can be composed in different ways depending on what’s needed. Most recently, Hive allowed us to reduce provisioning times for Secure Compute customers from 90 seconds to 5 seconds, while also improving their build speeds.
该平台基于一个基本假设,即我们在多租户机器上执行可能存在恶意代码的任务,因此需要确保其安全、可靠、高效且具有成本效益。它的架构能够处理多种用例,并且可以根据需要以不同方式组合。最近,Hive使我们能够将Secure Compute客户的配置时间从90秒减少到5秒,同时还提高了他们的构建速度。
We built Hive because we needed finer control and more granular management to continuously improve Vercel’s infrastructure, to meet the growing demands of our customers and to fulfill our vision of delivering the best development experience in the world.
我们构建Hive是因为我们需要更精细的控制和更细粒度的管理,以不断改进Vercel的基础设施,满足客户日益增长的需求,并实现我们提供世界上最佳开发体验的愿景。
Inside Hive
Inside Hive
Each hive is a cluster running in a specific region. There can be multiple hives per region, designed to efficiently manage and execute customer builds. It’s made up of several key components that work together to handle everything from code execution to scaling.
每个hive是运行在特定区域的集群。每个区域可以有多个hive,旨在高效管理和执行客户构建。它由几个关键组件组成,这些组件协同工作,从代码执行到扩展处理所有事情。
-
Hive: The top-level primitive in the system. We run multiple hives, and each has its own failure boundary, operating independently from the others.
Hive:系统中的顶级原语。我们运行多个 hive,每个 hive 都有自己的故障边界...