Snapshot, Chunk, Clone: Fast Runners at Scale
Blog post from BuildBuddy
BuildBuddy is focused on accelerating build processes by utilizing Firecracker snapshots to provide pre-warmed workers on demand, significantly reducing setup time. This method overcomes the cold start problem, common in many CI platforms, by allowing a single cold worker setup cost, after which warmed workers can be cloned for future tasks. The architecture's flexibility, scalability, and efficiency are enhanced through chunked snapshots, userfault file descriptor (UFFD) for custom memory management, and FUSE for disk management, enabling efficient handling of large data and workloads. Networking for cloned virtual machines (VMs) is managed through Linux network namespaces, preventing conflicts by maintaining unique network identities for each VM. BuildBuddy offers two products leveraging this technology: BuildBuddy Workflows for continuous integration and Remote Bazel for general-purpose remote execution, both of which enhance efficiency for developers and have potential applications in AI coding agents.