Code structure examples

Terraform code structures

These examples are showing AWS provider but the majority of principles showed in the examples can be applied to other public cloud providers as well as other kind of providers (DNS, DB, Monitoring, etc)
Type
Description
Readiness
small
Few resources, no external dependencies. Single AWS account. Single region. Single environment.
Yes
medium
Several AWS accounts and environments, off-the-shelf infrastructure modules using Terraform.
Yes
large
Many AWS accounts, many regions, urgent need to reduce copy-paste, custom infrastructure modules, heavy usage of compositions. Using Terraform.
WIP
very-large
Several providers (AWS, GCP, Azure). Multi-cloud deployments. Using Terraform.
No

Terragrunt code structures

Type
Description
Readiness
medium
Several AWS accounts and environments, off-the-shelf infrastructure modules, composition pattern using Terragrunt.
No
large
Many AWS accounts, many regions, urgent need to reduce copy-paste, custom infrastructure modules, heavy usage of compositions. Using Terragrunt.
No
very-large
Several providers (AWS, GCP, Azure). Multi-cloud deployments. Using Terragrunt.
No
Last modified 1yr ago