Course Outline
Advanced Terraform Syntax and Constructs
- In-depth exploration of Terraform syntax
- Advanced looping mechanisms using for_each and count
- Leveraging maps and lists for dynamic configuration management
Expressions and Dynamic Configurations
- Fundamental expressions and their practical applications
- Complex expressions for intricate infrastructure setups
- Hands-on exercises focusing on expression usage
Terraform Modules Best Practices
- Local vs shared modules: determining when to employ each
- Structuring modules for maximum reusability and maintainability
- Versioning and managing module sources effectively
Terraform Best Practices and Patterns
- Reviewing instance index keys for effective state management
- Best practices for writing and organizing Terraform code
- Ensuring idempotency and minimizing unintended side effects
Managing Terraform State
- Importing resources and comprehending the state file structure
- State locking, backends, and remote state management strategies
- Handling state files in distributed environments
Staying Current with Terraform Updates
- Reviewing documentation concurrent with new Terraform releases
- Strategies for upgrading Terraform versions
- Addressing deprecations and migration pathways
Integrating Terraform with CI/CD Pipelines
- Overview of YAML and pipeline configuration structures
- Configuring Terraform with popular CI/CD tools
- Automating Terraform workflows within pipelines
Advanced Troubleshooting and Debugging
- Systematic methods for troubleshooting Terraform plans and applies
- Debugging common and advanced Terraform errors
- Utilizing logs and verbose output for error resolution
Outputs and Data Flow in Terraform
- Understanding and utilizing Terraform outputs
- Managing data flow between modules and root configurations
- Securing sensitive information within outputs
Conditional Logic in Terraform
- Constructing conditional statements with count, for_each, and if
- Implementing conditional resource creation
- Use cases for conditional logic within modules
Running Terraform Locally
- Setting up a local Terraform development environment
- Executing and testing Terraform code on local machines
- Best practices for local development
Handling Circular Dependencies
- Identifying and resolving circular dependency issues
- Refactoring code to prevent dependency cycles
- Advanced techniques for managing dependencies
Summary and Next Steps
Requirements
- A solid grasp of fundamental Terraform syntax and operations
- Hands-on experience with cloud infrastructure, ideally AWS, alongside familiarity with CI/CD principles
Target Audience
- DevOps engineers
- Cloud architects
- Infrastructure specialists
- Technical leads and managers
Testimonials (4)
Checking all the details in practice - by writing real code
Michal Pipala - EY
Course - Advanced Terraform: Efficient Infrastructure as Code
Very interactive training
Michal Bojko - EY
Course - Advanced Terraform: Efficient Infrastructure as Code
The structure was good, each section had a clear purpose and was easy enough to follow. The exercises were useful and the trainer was helpful when issues eventually arose. The relaxed approach regarding the labs was also something that I enjoyed. Props to the trainer for keeping a chill & friendly attitude throughout the training, even after some of the attendees gave up on the whole experience.
Rares - Orange Services
Course - Advanced Terraform: Efficient Infrastructure as Code
The flexibility of the trainer to adapt the knowledge sharing based on the group feedback or areas of intereset