How Does Slack Use Terraform?
<p>At Slack, we use <a href="https://www.terraform.io/" rel="noopener ugc nofollow" target="_blank">Terraform</a> for managing our Infrastructure, which runs on <a href="https://aws.amazon.com/" rel="noopener ugc nofollow" target="_blank">AWS</a>, <a href="https://www.digitalocean.com/" rel="noopener ugc nofollow" target="_blank">DigitalOcean</a>, <a href="https://ns1.com/" rel="noopener ugc nofollow" target="_blank">NS1</a>, and <a href="https://cloud.google.com/" rel="noopener ugc nofollow" target="_blank">GCP</a>. Even though most of our infrastructure is running on AWS, we have chosen to use Terraform as opposed to using an AWS-native service such as <a href="https://aws.amazon.com/cloudformation/" rel="noopener ugc nofollow" target="_blank">CloudFormation</a> so that we can use a single tool across all of our infrastructure service providers. This keeps the infrastructure-as-code syntax and deployment mechanism universal. In this post, we’ll have a look at how we deploy our infrastructure using Terraform at Slack.</p>
<h1>Evolution of our Terraform state files</h1>
<p><img alt="" src="https://miro.medium.com/v2/resize:fit:639/0*uTIgYD2JXYl7OtMc" style="height:381px; width:639px" /></p>
<p>Slack started with a single AWS account; all of our services were located in it. In the early days, our Terraform state file structure was very simple: We had a single state file per AWS region and a separate state file for global services, such as IAM and CloudFront.</p>
<p><a href="https://swwapnilp.medium.com/how-does-slack-use-terraform-104b1e96c97d"><strong>Website</strong></a></p>