Code structure examples

Last updated 5 months ago

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