Terraform modules are pre-built configurations of infrastructure-as-code. By organizing your infrastructure into modules, your team can reuse them in future configurations which can save time and reduce costly errors. While there are many ways to design modules, there are coding best practices you should adhere to whenever possible, such as clear organization and the DRY (“Don’t Repeat Yourself”) principle.
In our inaugural Terraform enterprise patterns guide, Module Creation - Recommended Pattern, you will learn the architectural recommendations for module creation. This guide discusses principles for writing composable, shareable, and reusable infrastructure modules, distilled from our engagements with large enterprises using Terraform. These architectural recommendations can be helpful to enterprises using any edition of Terraform, including open source.
The guide also includes a scoping exercise where you’ll learn how to break the following architecture down into Terraform modules.
By the end of this tutorial, you will be familiar with our recommended enterprise patterns for modules and be able to apply them to your organization’s workflows.