Terraform is a GREAT tool, but like a lot of other things in life, it has its pitfalls and bad practices. In this ignite talk, I’ll cover the preliminary practice you should think of in regards to Terraform – Structuring its code base – And explain how this decision has an effect on Terraform Infra & teams scaling, as well as a crucial effect on the core behaviour of Terraform itself.
5. 1. Terraform as a Platform
Terraform Practice – Team & Projects Codebase Structure – Why?
• Onboarding all teams - same repo –
Standard for the entire company
• Codeowners usage –
Teams’ autonomy for managing their own infra
• Out of the box:
o (custom) modules to use
o Practices enforcements - tests/checks
6. 2. Small TF States
Terraform Practice – Team & Projects Codebase Structure – Why?
live
BI
airflow
AWS
Production
/dev/other
us-east-1
State file –
Kept in this level