Certificate Authentication

Advanced Terraform: Efficient Infrastructure as Code - Bespoke...

Add to LinkedIn

Certificate ID: 
806783
Authentication Code: 
dd331
Certified Person Name: 
Bradley Bowns
Trainer Name: 
Michał Figarski
Duration Days: 
4
Duration Hours: 
28
Course Name: 
Advanced Terraform: Efficient Infrastructure as Code - Bespoke
Course Date: 
24 April 2025 09:30 to 29 April 2025 16:30
Course Outline: 

DAY 1

Advanced Terraform Syntax and Constructs

  • Deep dive into Terraform syntax
  • Advanced loops with for_each and count
  • Have 3 level deep advanced examples
  • Utilizing maps and lists for dynamic configurations
  • Advanced usage of maps(one map deploying many infrastructures examples, with maps feeding each other examples)- multi structures deep
  • Get values dynamically, and reference another map example
  • Use of distinct, flatten in maps and lists

Expressions and Dynamic Configurations

  • Basic expressions and their use cases
  • Advanced expressions for complex infrastructure setups-(add a few advanced examples)
  • Practical exercises on expressions

Terraform Modules Best Practices

  • Local vs shared modules: When to use each
  • Structuring modules for reusability and maintainability
  • examples of fully dynamic modules, to have them central and have one place to update
  • Versioning and managing module sources

DAY 2

Running Terraform Locally

  • Setting up a local Terraform environment
  • Running and testing Terraform code on local machines
  • Local development best practices

Terraform Best Practices and Patterns

  • Review of instance index keys for state management
  • Best practices for writing and organizing Terraform code
  • Ensuring idempotency and minimizing side effects

DAY 3

Handling Circular Dependencies

  • Identifying and resolving circular dependencies
  • Refactoring code to prevent dependency cycles
  • Advanced techniques for dependency management

Managing Terraform State

  • Importing resources and understanding the state file
  • Importing resources that belong to index keys
  • State locking, state backends and remote state management
  • Handling state file in distributed environments

Keeping Up with Terraform Updates

  • Reviewing documentation alongside new Terraform releases
  • Strategies for upgrading Terraform versions
  • Dealing with deprecations and migration paths

Integrating Terraform with CI/CD Pipelines

  • Overview of YAML and pipeline configurations
  • Setting up Terraform with popular CI/CD tools
  • Automating Terraform workflows in pipelines

DAY 4

Advanced Troubleshooting and Debugging

  • Systematic approaches to troubleshooting Terraform plans and applies
  • Debugging common and advanced errors in Terraform
  • Using logs and verbose output for error resolution

Outputs and Data Flow in Terraform

  • Understanding and utilizing outputs in Terraform
  • Data flow between modules and root configurations
  • Securing sensitive information in outputs
  • Differentiating on when to use depends on and also data sources

Conditional Logic in Terraform

  • Writing conditional statements with count, for_each, and if
  • Dynamically deploying of resources with for each basic to advanced
  • Conditional creation of resources
  • Use cases for conditional logic in modules

Summary and Next Steps