Note

Terraform state locking is not optional

Two engineers, one state file, no lock. The failure is exactly as bad as the documentation implies.

We hit this at Adex early on. Shared remote state without locking, two applies overlapping, and a state file that no longer described reality.

Recovering meant reconciling by hand against what actually existed in the account, which is slow, error-prone and entirely avoidable.

Remote backend with locking, separate state per environment, from the first commit. The cost is a few lines of backend configuration. The cost of not doing it is an afternoon and a loss of confidence in the state file, which is worse, because a state file you do not trust makes every subsequent apply frightening.