Airbnb Michael Bachand

Airbnb's Flexible Continuous Integration for iOS

Original post Flexible Continuous Integration for iOS

Article Summary

Michael Bachand and Xianwen Chen from Airbnb rebuilt their entire iOS CI system—and cut maintenance time while running 10 million minutes of jobs quarterly. Here's how they ditched 300+ physical Macs for AWS infrastructure.

Airbnb's iOS team was drowning in manual maintenance, logging into 300+ physical Macs individually for updates and troubleshooting. When AWS introduced Mac instances, they saw an opportunity to rethink everything using Packer, Terraform, and custom AMIs.

Key Takeaways

Critical Insight

Airbnb now deploys iOS CI changes via Terraform pull requests and scales capacity on demand, spending meaningfully fewer hours on maintenance despite growing job volume.

Continue reading

What This Article Covers

Problem

Airbnb's Mac fleet kept drifting out of sync. Engineers had to manually wipe machines and reinstall macOS, then re-enroll them in MDM. This caused unpredictable downtime and wasted capacity.

Solution

Airbnb switched to terminating Mac instances every night and replacing them daily using EC2 Mac instances built from custom AMIs with Packer. This way, every machine boots into a clean state each morning.

Impact

The team cut maintenance hours even as the codebase grew and job volume increased. In the final quarter of 2022, they processed over 10 million CI job minutes using automated infrastructure-as-code deployments through Terraform.

The article reveals their exact Terraform module setup and how they handle the 24-hour minimum billing window for EC2 Mac Dedicated Hosts.

This page summarizes “Flexible Continuous Integration for iOS” by Airbnb, published May 10, 2023. All credit for the original work goes to the authors.

Read the original on medium.com (opens in new tab)

AI tools for iOS

Browse all AI tools →