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
New Sidebar Menu Inside GitLab.com

New Sidebar Menu Inside GitLab.com

Tuesday, Jun 15, 2021
New sidebar menu inside GitLab.com - I’ve shown the infrastructure parts with Terraform state. Exciting to see more options in there all the time. What’s particularly exciting is how GitLab continues to expand what’s available in that sidebar. It’s not just about code anymore—more options for CI/CD, infrastructure, and even security are becoming increasingly prominent. It’s a nice reflection of how GitLab is growing into a truly comprehensive DevOps platform. I’m looking forward to seeing what else they sneak into that ever-evolving sidebar. Little upgrades like this show that the GitLab team is really paying attention to user workflows. ...

Read more
How Many Flavours Are Too Many?

How Many Flavours Are Too Many?

Wednesday, Jun 9, 2021
I have had a lot of discussion over the past couple of days over what it means that HashiCorp Terraform is now at a v1.0 release. In summary, I think it suggests at the maturity of the tool, which is something I have seen with businesses onboarding Terraform, it is hard to make a guess as to when long terms support for systems will continue, especially for everyone who remembers the v0.11 -> v0.12 migration. ...

Read more
Default Tags in the Terraform AWS Provider

Default Tags in the Terraform AWS Provider

Thursday, May 13, 2021
It is really great when small things come along that simplify or reduce the amount of code you need and the implementation of Tags as part of the Terraform AWS Provider does exactly that. Thanks for making my future life easier. This has just come out Default Tags in the Terraform AWS Provider, The Terraform AWS Provider (v3.38.0+) now supports defining default tags at the provider level—letting you centrally assign tags like “Environment,” “Owner,” or “Project” across almost all AWS resources, with individual resource tags overriding these defaults. While Auto Scaling Groups require a manual merge workaround, this feature streamlines tag management, enhances consistency, improves readability in infrastructure-as-code, and aligns with AWS best practices, making global tag enforcement simple and efficient. ...

Read more
Hello Terraform Serverless - GitLab, Terraform and AWS; The Perfect Combination

Hello Terraform Serverless - GitLab, Terraform and AWS; The Perfect Combination

Tuesday, Dec 3, 2019
I recently have been working on single pipelines. The idea behind it is that with the growth of software development and the increase in how we manage, write and maintain our software and out infrastructure as separate items, there are a lot of complications that come out when integrating both in people and processes. There is only 1 Team A regular setup when imagining software projects appears to be that despite the dream of DevOps making software teams more interoperable, they have potentially become more divided. Generally I often see teams that are separated as such: ...

Read more