Dva roky, 200+ Terraform modulů, 3 cloud providery. Sdílíme lessons learned z enterprise Terraform setup.
Modul architektura¶
Hierarchie: root modules (per-environment, per-project) volají shared modules (reusable komponenty). Shared modules v privátním Terraform Registry. Verzované, testované, dokumentované.
State management¶
Azure Storage Account + state locking. Oddělené state files per-environment. Nikdy manuální terraform apply — vše přes CI/CD. State backup každých 6 hodin.
Drift detection¶
Někdo změní resource ručně v portálu → drift. Denní
terraform plan v CI detekuje drift a notifikuje.
Zero tolerance: drift se opraví do 24 hodin.
CI/CD pipeline¶
PR → terraform plan → review → merge → terraform apply. Plan output jako PR komentář — reviewer vidí přesně co se změní. Sentinel policies: blokují unsafe changes (např. public S3 bucket).
IaC = disciplína, ne nástroj¶
Terraform je mocný, ale bez procesů (review, testing, drift detection) je to jen jiný způsob, jak rozbít infrastrukturu.