Slack

Advancing Our Chef Infrastructure

Sep 17, 2024
Advancing Our Chef Infrastructure
SummaryAI, from the source post

This post details the transition from a single Chef stack to a sharded Chef infrastructure at Slack. Key technical contributions include: 1. Implementing AWS Route53 Weighted CNAME records for directing new provisions to specific Chef shards. 2. Separating development and production Chef infrastructure into distinct stacks. 3. Leveraging Consul for service discovery to replace Chef searches, overcoming a circular dependency with Nebula using `ruby_block` resources and the `lazy` keyword for attribute assignment. 4. Developing 'Shearch' (Sharded Chef Search) API to query across multiple shards and 'Gnife' (Go Knife) for sharded command-line operations. 5. Modifying the cookbook upload process by deploying multiple DishPig instances and using SNS/SQS for fan-out notifications to individual Chef stacks.

More from the EC2 Platform Evolution trail