Developing Terraform Modules at Scale
summary
Practical guide to building reusable Terraform modules: argues for mid‑sized modules (not one‑resource or mega modules), shows a concrete refactor that replaces an in‑module VPC data lookup with a VPC ID input to enable dependency injection, explains using the public and private module registry with semantic versioning and pessimistic constraints like ~> 1.1.0, warns about deep module nesting, and stresses automated tests and a changelog to validate patch/minor upgrades.
AI-written summary · about
chapters (11)
- 0:00Introduction and story
- 3:10What are Terraform modules
- 6:21Producer vs consumer model
- 8:04Deciding module resources
- 10:13Repository structure best practices
- 13:46Module dependencies and injection
- 18:03Avoiding nested module complexity
- 20:51Semantic versioning for modules
- 24:26Deprecating and testing versions
- 25:08Scaling module discoverability
- 26:32Q&A
related talks
26mWriting High Quality Terraform Modules for Exponential Organizations
58mTerraform: Uncovering Best Practices for Building Modules
24mTerraform Best Practices
30mMastering Terraform: A deep dive into essential workflows
42mLessons Learned as a DevOps Consultant
21mShould My Team Really Need to Know Terraform?
30mManaging Terraform Cloud With PowerShell
18mThe Path to Modern Infrastructure Automation [Abridged]
