Code structure examples

Terraform code structures

These examples are showing AWS provider but the majority of principles shown in the examples can be applied to other public cloud providers as well as other kinds of providers (DNS, DB, Monitoring, etc)

TypeDescriptionReadiness

Few resources, no external dependencies. Single AWS account. Single region. Single environment.

Yes

Several AWS accounts and environments, off-the-shelf infrastructure modules using Terraform.

Yes

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

TypeDescriptionReadiness

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 updated