Course Outline
Review of Core Terraform Concepts
- The CLI and its comprehensive set of sub-commands
- The operational flow of Terraform
- State management: its critical importance and inherent fragility
- HashiCorp Configuration Language (HCL), covering versions prior to and post 0.12
Designing Complex Terraform Projects and Modules
- Strategies for Modularization
- Single-project, multi-module architectures
- Multi-project related infrastructure across single and hybrid clouds or platforms
- Decomposing Root modules
- Organizing both new and legacy monolithic projects with a thoughtful structure
Developing and Managing Advanced Terraform Projects and Modules
- In-depth best practices
- Managing module versions
- Emphasizing DRY (Don't Repeat Yourself) principles
- Handling complex provider scenarios across multiple projects and modules
- Introduction to Terraform Null Resource and its practical utility
Introduction to Make + Makefile
- Automating repetitive Terraform tasks using a reliable, standard Linux tool
Advanced Understanding of Terraform Tools and CLI
- Deep dive into state and the state file
- State migration and management in complex scenarios
- Approaches to Terraform import in intricate situations
- Managing mistakes and messy states
- Controlling drift that has escalated
- Addressing corrupted or unrecoverable state
- Identifying unfixable issues
- Proactive strategies to avoid problematic state conditions in Terraform
Advanced HCL Topics
- Advanced features in the configuration language expression system:
- Approaches to reusability
- Loops and meta-arguments
- For expressions
- Type handling in the context of expressions
Hardening 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 available automated and manual testing frameworks and methods
- Assessing the current landscape, including tools like terratest
- Mitigating drift and unexpected consequences in realistic scenarios
- Developer responsibility vs automated testing, utilizing git hooks for validation, terraform-pre-commit, and similar tools
Automating Terraform and Integration into Pipelines
- Integrating Terraform with Spinnaker
- Leveraging automated delivery pipelines to enhance quality assurance, stability, and reliability of infrastructure and Terraform deployments
- Terraform and GitOps: Strategies for adopting GitOps in Terraform workflows
- Overview of Terraform Cloud and Enterprise, exploring how these offerings optimize Terraform workflows and comparing them with alternative tools/processes such as custom CI/CD pipelines and Atlantis
Complex AWS Infrastructure with Terraform
- Designing and deploying VPCs using Terraform
- Managing EC2 instances and other compute resources
- Configuring AWS networking components
- Integrating 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
- Fundamental experience in 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.