VOOZH about

URL: https://thenewstack.io/how-our-bare-metal-cloud-keeps-up-with-all-the-new-os-releases/

⇱ How Our Bare Metal Cloud Keeps up with All the New OS Releases - The New Stack


TNS
SUBSCRIBE
Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter in the past. Click the button below to open the re-subscribe form in a new tab. When you're done, simply close that tab and continue with this form to complete your subscription.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!

We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.

What’s next?

Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.

Follow TNS on your favorite social media networks.

Become a TNS follower on LinkedIn.

Check out the latest featured and trending stories while you wait for your first TNS newsletter.

PREV
1 of 2
NEXT
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
Thanks for your opinion! Subscribe below to get the final results, published exclusively in our TNS Update newsletter:
NEW! Try Stackie AI
From clobbered drafts to real-time sync
Apr 14th 2026 10:00am, by David Moore
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
Mastra empowers web devs to build AI agents in TypeScript
Jan 28th 2026 11:00am, by Loraine Lawson
2022-07-27 09:14:43
How Our Bare Metal Cloud Keeps up with All the New OS Releases
contributed,sponsor-equinix,sponsored,sponsored-post-contributed,
Cloud Native Ecosystem

How Our Bare Metal Cloud Keeps up with All the New OS Releases

A few months ago, Equinix replaced the time-consuming and repetitive manual process for updating operating systems with an automated CI pipeline.
Jul 27th, 2022 9:14am by Sarah Funkhouser
👁 Featued image for: How Our Bare Metal Cloud Keeps up with All the New OS Releases
Feature image via Unsplash.
Equinix sponsored this post.

When you run a bare metal cloud service, you spend a lot of time ensuring your hardware supports all the popular operating systems in their latest versions. Each new OS release has to be validated on each server configuration in your fleet, and each OS that’s already on the list has to be tested on each new server config you add.

Sarah Funkhouser
Sarah manages the Delivery Engineering team at Equinix Metal. She's an expert in deploying and running Kubernetes on bare metal, and has recently been writing lots of Go to keep things running smoothly. When she's not working, you can find her hanging out with her two kids, playing with her three dogs, or maybe out running, biking and swimming around Raleigh, North Carolina.

New OS releases come out all the time, so keeping the list of operating systems validated on our product Equinix Metal up to date can easily eat up a lot of engineering hours. Still, this is a crucial capability for our business, so until recently, we would dedicate resources to manually add each new operating system. A few months ago, however, we replaced that time-consuming and repetitive manual process with an automated CI pipeline we created using Buildkite. We dubbed it, informally, “Bob the Builder.” Bob has already saved us tons of engineering hours — hours that can be spent doing creative, more impactful work — and I’m here to share our experience.

For perspective, validating a new OS on Equinix Metal using the old process could take months. A simple update, say, from Ubuntu 18.04 to 20.04, was usually a weeks-long project. The problem was twofold. First, we didn’t have a simple and automated CI pipeline for adding packages to OS images, customizing the configurations or running the builds. We did all that manually.

Second, each new image needed to be deployed and tested on multiple hardware platforms to ensure that it worked on each server configuration available in our bare-metal cloud. We would verify that each image worked as required by manually installing it to various servers, then poking around to validate functionality.

Equinix is the world’s digital infrastructure company. Digital leaders harness our trusted platform to bring together and interconnect the foundational infrastructure that powers their success. We enable customers to access the right places, partners and possibilities needed to accelerate advantage.
Learn More
The latest from Equinix

Not having a CI pipeline for OS images and having to test manually were the main reasons it took so long to prepare each new OS image. The process got the job done, but needless to say, it wasn’t exactly an ideal way to spend valuable engineering resources.

Bob the Builder Takes OS Pipelines to the Next Level

Bob the Builder addresses exactly those two issues. Buildkite is a platform for running flexible and scalable CI pipelines. Using Buildkite automates our OS build and testing pipelines, dramatically speeding things up and freeing up our engineers.

Here’s how the new process works:

  1. Find an upstream cloud image for whichever OS we want to add. For instance, if we want an Ubuntu image, we pull it from the sources Canonical offers here.
  2. Configure a YAML template that defines how the OS needs to be customized to meet Metal’s requirements. We can specify which packages to add to the image, which networking configurations to apply, and so on. We also identify which hardware plans the image should support.
  3. Automation takes over. We set up a pipeline in Buildkite to generate a custom OS image based on the YAML configuration. Bob the Builder handles image modifications using virt-customize to modify the OS image, pushes it to an S3 bucket, deploys it to the server configurations we want to support it, and runs all the tests necessary to validate the new image.
  4. If it passes all the tests, the new image is pushed automatically to customers, who can then deploy it to Metal server configs.

Buildkite: Bob’s Trusty Sidekick

Bob the Builder can run on a laptop and trigger one-off builds — indeed, being a Go-based CLI tool that can run basically anywhere is one of Bob’s benefits — but we mostly use it as part of Buildkite pipelines.

We chose Buildkite to orchestrate OS image pipelines because of its several features that address our needs particularly well.

One is that it supports dynamic pipelines. Instead of defining a pipeline as a single set of steps and then running it, Buildkite allows us to set up conditions and stages. This means we can reuse the same pipeline for multiple image builds, which beats having to create a separate pipeline for each type of image.

It also lets us collect user input at any point in the pipeline. This makes our pipelines interactive, allowing for a lot of flexibility and control over complex OS build processes.

Most important of all is that it gives us total control over where builds happen. We can run them inside a container or directly on the hardware of our choosing. That’s a big deal for Metal because we often need to run builds on specific types of hardware, like a bare-metal Arm server, for instance.

In the end, we can easily publish an image across the various x86 and Arm server configurations that we want to support without having to set up a different pipeline for each. That’s not something your average CI server can manage.

Of course, Buildkite’s advanced feature set came with a learning curve. We didn’t get our first Bob the Builder-powered pipeline up and running in a day. It was a months-long process, but once we learned to pair Buildkite and Bob the Builder, rolling out a new OS image became a breeze.

Equinix is the world’s digital infrastructure company. Digital leaders harness our trusted platform to bring together and interconnect the foundational infrastructure that powers their success. We enable customers to access the right places, partners and possibilities needed to accelerate advantage.
Learn More
The latest from Equinix
TRENDING STORIES
Sarah manages the Delivery Engineering team at Equinix Metal. She's an expert in deploying and running Kubernetes on bare metal, and has recently been writing lots of Go to keep things running smoothly. When she's not working, you can find...
Read more from Sarah Funkhouser
Equinix sponsored this post.
SHARE THIS STORY
TRENDING STORIES
TNS owner Insight Partners is an investor in: Pragma.
SHARE THIS STORY
TRENDING STORIES
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.