Two years ago our infrastructure repository was one Terraform root per environment, each a few thousand lines, all on AWS. Then the company acquired a product that ran on Azure, and a data residency deal required a second AWS region. Copy-paste got us through the first quarter. By the second, we had 140 state files, three slightly different VPC definitions, and a production plan that took eleven minutes and touched resources nobody intended to change. This post is the layout we rebuilt around. I...