Slack's Use of Terraform

Slack's Use of Terraform

Wednesday, Nov 2, 2022
An interesting view into how Slack use Terraform, touching on how it manages state files (teams controlling their own state), Terraform versions, managing providers and modules. The most controversial point from my opinion is using Jenkins? But I guess we all have our own legacies to deal with. Slack’s Terraform approach is a great peek behind the curtain of how a fast-moving company scales infrastructure-as-code—but it’s not all magic. They started out with a fairly standard setup (global state + one per AWS region), but as their cloud footprint grew, so did the complexity—eventually ballooning into over 1,400 state files. That’s impressive, but also raises some eyebrows: managing that many states can easily veer into “too much of a good thing” territory. Their tooling choices—like S3 for backend storage and DynamoDB for locking—are solid and well-proven, but not groundbreaking. It’s more evolutionary than revolutionary, which isn’t a bad thing, but might not excite smaller teams looking for bold ideas. ...

Read more