When Your Self-Hosted Terraform Backend Cracks at 30 Engineers: 6 Engineering Decisions and a TCO Ledger from Moving to HCP Terraform

Overview Monday stand-up, our platform engineering team at a mobility platform was reviewing last week’s incidents: 17 state lock conflicts, two production environments broken by a “helpful” colleague running apply manually, and one set of credentials sitting in plaintext in CI logs. The root cause wasn’t a single operator error—it was our self-hosted Terraform backend (Git repo + S3 state bucket + DynamoDB lock + hand-made CI scripts) that had stopped holding up once the team grew from 5 to 30 engineers....

October 7, 2026 · 40 mins · 8382 words · ABao