Shipyard: How We Built Slack’s Next-Generation EC2 Platform

This post introduces Shipyard, Slack's next-generation EC2 platform, which shifts from continuous configuration management to an immutable, artifact-based approach for EC2 instances. Key contributions include: the design principles of Shipyard (immutability, progressive rollouts, automated safety), multi-architecture/OS support, metrics-driven deployments with safety controls integrated with Gondola, fast provisioning via layered images (slack-zero base image + service images), simplified configuration management (baked into images, applied during provisioning), real-time fleet visibility via the Peekaboo inventory system (using AWS EventBridge, OpenSearch, Lambda), and short-lived, continuously refreshed instances. It details the use of AWS Image Builder for slack-zero base image creation and the separation of instance preparation into 'baking' and 'provisioning' phases. Deployment strategies using AWS Instance Refresh and Karpenter are also covered.
More from the EC2 Platform Evolution trail
- Agentic Testing: Where Agents Fit in the E2E Testing Stack
- Slack AI: The Path to Multi-Cloud
- From SSH to REST: A Security-Driven Modernization of Slack’s EMR Data Pipelines
- Managing context in long-run agentic applications
- From Custom to Open: Scalable Network Probing and HTTP/3 Readiness with Prometheus