Advanced Terraform: Efficient Infrastructure as Code - Bespoke...
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