Terraform is a popular tool for managing Infrastructure as code. Therefore, it's essential to consider modularizing your Terraform code to make it more organized, maintainable, and scalable. I will explore some best practices for modularizing a Terraform project in this talk.
We'll start by discussing the importance of defining a clear project structure that reflects the logical components of your infrastructure and explore Terraform anti-patterns by providing best practices for avoiding them.
We'll then dive into using modules to encapsulate resources. I will also cover the use of variables to parameterize your code and make it more flexible, as well as the use of outputs to expose values to other modules.