Module 1: Enterprise Terraform Engineering
This module introduces the engineering principles behind modern Infrastructure as Code (IaC) practices.
Participants explore how enterprise teams structure Terraform projects, organise environments and manage infrastructure state to support scalable and maintainable cloud solutions.
Topics Covered:
Enterprise Terraform architecture and engineering principles
Structuring Terraform projects
Organising deployment environments
Terraform State management
Engineering practices for scalable and maintainable cloud infrastructure
Module 2: Engineering Robust Terraform Configurations
This module focuses on developing reliable and resilient Terraform configurations.
Participants learn techniques for reducing configuration errors and creating infrastructure code that is easier to maintain, extend and support.
Topics Covered:
Terraform configuration validation
Input sanitisation
Terraform expressions
Local values (Locals)
Reusable configuration techniques
Reducing deployment errors
Developing maintainable and extensible infrastructure configurations
Module 3: Building Reusable Infrastructure with Modules
This module examines how Terraform modules support consistent and reusable infrastructure development across enterprise environments.
Participants learn how to design module interfaces, manage inputs and outputs, and apply versioning approaches to shared infrastructure components.
Topics Covered:
Designing reusable Terraform modules
Creating module interfaces
Managing module inputs and outputs
Implementing module versioning strategies
Building reusable components for enterprise-scale infrastructure deployments
Module 4: Managing Enterprise Infrastructure
This module explores how organisations manage AWS infrastructure across multiple environments while maintaining consistency and control.
Participants examine the use of parameterisation, remote state and structured project layouts to support different deployment requirements.
Topics Covered:
Multi-environment infrastructure management
Parameterisation
Remote State management
Structured Terraform project layouts
Maintaining consistency across environments
Supporting development, testing and production deployments
Module 5: Publishing and Consuming Remote Modules
This module introduces the practices used by engineering teams to publish, version and consume Terraform modules through Git repositories.
Participants explore how shared modules can be maintained and how new functionality can be introduced into existing infrastructure safely.
Topics Covered:
Publishing Terraform modules using Git repositories
Consuming remote Terraform modules
Module version management
Dependency management
Release strategies
Safely introducing new functionality into existing infrastructure
Module 6: Secure Infrastructure Automation with GitHub Actions
This module focuses on building secure infrastructure deployment pipelines using GitHub Actions and OpenID Connect (OIDC).
Participants learn how to improve automation security by replacing persistent AWS credentials with short-lived identity tokens.
Topics Covered:
Creating CI/CD pipelines with GitHub Actions
OpenID Connect (OIDC) authentication
Replacing long-lived AWS credentials with short-lived identity tokens
Automating Terraform infrastructure deployments
Implementing controlled environment promotion workflows
Module 7: Migrating Existing Infrastructure into Terraform
This module explores how to bring existing AWS resources under Terraform management without rebuilding the infrastructure.
Participants learn how to import resources, maintain Terraform State and modernise existing configurations safely.
Topics Covered:
Bringing existing AWS resources under Terraform management
Importing resources into Terraform
Terraform State management
Refactoring configurations using moved blocks
Managing infrastructure without recreating existing resources
Safely and incrementally modernising legacy environments
Module 8: Engineering for Production
The final module brings together the techniques covered throughout the course to support the development of production-ready Infrastructure as Code solutions.
Participants apply enterprise engineering practices with an emphasis on creating AWS infrastructure that is scalable, maintainable and operationally resilient.
Topics Covered: