Terraform Design Patterns Training
Level
AdvancedDuration
8h / 1 dayDate
Individually arrangedPrice
Individually arrangedTerraform Design Patterns Training
A training course for Terraform users focused on advanced design patterns that are key to effectively designing, managing, and deploying IaC solutions. The program also emphasizes flexibility in choosing repository structures and methods for delegating permissions in complex environments.
What You Will Learn
- Participants will gain knowledge of various strategies and best practices they can apply in their projects, from sensitive data management to organizing and creating modular infrastructure.
Requirements
- Basic knowledge of Terraform
- Training level: Intermediate
Who is this training for?
The target group includes professionals interested in IT infrastructure management with Terraform who want to develop their skills in applying best practices.
Training Program
-
Terraform Pipelines
- Managing Terraform pipelines using Terraform itself
- Defining CI/CD pipeline resources declaratively
- Automating pipeline creation and maintenance
-
Secrets Facility
- Creating empty secrets with Terraform
- Manually providing secret values in secret backends
- Securely consuming secrets in other Terraform configurations
- Handling sensitive data without hardcoding values
-
Module Composition
- Designing small, focused, reusable Terraform modules
- Composing modules into complex infrastructures
- Promoting modularity, maintainability, and reuse
-
Infrastructure Layering
- Separating infrastructure into logical layers (e.g. network, compute, application)
- Managing each layer as an independent Terraform configuration
- Achieving separation of concerns and clearer ownership
-
Mono Repo vs Multi Repo
- Monorepo approach – single repository for all Terraform code
- Multi-repo approach – separate repositories per layer or system
- Choosing the right model based on scale, team size, and complexity
-
Delegate Pattern
- Delegating permissions and responsibilities via Terraform
- Enforcing separation of duties
- Applying least privilege principles through configuration
-
System Configuration
- Using Terraform beyond infrastructure provisioning
- Managing system and platform configuration via HCL
- Example use case: managing GitLab configuration with Terraform