Course Outline
Terraform Core Concepts Review
- The CLI and its comprehensive sub-commands
- The operational workflow of Terraform
- State management: its critical importance and inherent fragility
- Hashicorp Configuration Language (HCL): evolution pre- and post-0.12
Designing Sophisticated Terraform Projects and Modules
- Strategies for Modularization
- Single-project, multi-module architectures
- Interconnected infrastructure across single and hybrid cloud platforms
- Decomposing root modules
- Organizing both new and legacy monolithic projects with thoughtful structure
Developing and Managing Complex Terraform Projects and Modules
- Comprehensive industry best practices
- Handling module versioning
- Embracing DRY principles for code reuse
- Navigating complex provider scenarios across multiple projects and modules
- Understanding the utility of the Terraform Null Resource
Introduction to Make and Makefiles
- Automating repetitive Terraform tasks using reliable, standard Linux tools
Advanced Terraform Tooling and CLI Mastery
- In-depth understanding of state and state files
- Migrating and managing state in complex scenarios
- Terraform import strategies for intricate situations
- Addressing errors and complexities
- Managing uncontrollable drift
- Handling corrupted or irreparable state
- Recognizing unfixable issues
- Proactively preventing problematic states in Terraform
Advanced HCL Topics
- Advanced configuration language features:
- Strategies for reusability
- Loops and meta-arguments
- For expressions
- Type management within expressions
Enhancing Terraform Security
- Shifting security left and implementing defense in depth
- Securing state files
- Managing credentials and secrets through least privilege, rotation, and protection
- Identifying potential security breakdowns in Terraform workflows
Infrastructure Reliability and Testing
- Evaluating current automated and manual testing frameworks and methods
- Assessing the current landscape, including tools like terratest
- Mitigating drift and unexpected consequences in realistic scenarios
- Balancing developer responsibility with automated testing, git hooks, terraform-pre-commit, and similar validation tools
Automating Terraform and Integrating with Pipelines
- Using Terraform with Spinnaker
- Leveraging automated delivery pipelines to enhance quality, stability, and reliability
- Terraform and GitOps: Strategies for adopting GitOps workflows
- Overview of Terraform Cloud and Enterprise, exploring how these offerings improve workflows alongside other solutions like custom CI/CD pipelines and tools such as Atlantis
Building Complex AWS Infrastructure with Terraform
- Designing and deploying VPCs
- Managing EC2 instances and other compute resources
- Configuring AWS networking components
- Integrating various AWS services into Terraform-managed infrastructure
- Implementing security best practices for AWS resources
Summary and Next Steps
Requirements
- A solid grasp of cloud infrastructure concepts.
- Foundational experience with Terraform operations.
Target Audience
- DevOps engineers
- System administrators
- System architects
Testimonials (6)
The trainer was very knowledgeable and easy to talk to, he helped with troubleshooting issues for some of the participants and answered all the questions. Course material was good and had a lot of examples.
Vlad
Course - Advanced Terraform - 3 Days
I liked the fact that the trainer was willing to help us on the debugging side.
Diana
Course - Advanced Terraform - 3 Days
I liked it very much, I appreciate the fact that Vicenzo took the time to answer all the questions and troubleshoot the existing error messages
Mihai
Course - Advanced Terraform - 3 Days
The subjects that were brought were interesting.
Razvan
Course - Advanced Terraform - 3 Days
Vincenzo provided support to troubleshoot different scenarios and also helped with examples.
Stelian
Course - Advanced Terraform - 3 Days
It clarified some of the things I didn't know about terraform.