Course Outline
Review of Terraform Core Concepts
- The CLI and all available sub-commands
- The workflow of Terraform operations
- State management and its significance (including its fragility)
- HashiCorp Configuration Language (HCL): pre-0.12 and post-0.12 versions
Designing More Complex Terraform Projects and Modules
- Approaches to modularization
- Single-project, multi-module scenarios
- Multi-project related infrastructure across single, hybrid cloud, or platform environments
- Root module decomposition
- Working with both new and legacy monolithic projects, with thoughtful approaches to Terraform project organization
Developing and Managing More Complex Terraform Projects and Modules
- Comprehensive best practices
- Module versioning
- Sharing and focusing on DRY (Don't Repeat Yourself) principles
- Complex provider scenarios across projects and modules
- Introduction to Terraform Null Label and its utility
An Introduction to Make and Makefile
- Automate repetitive tasks in Terraform projects using a reliable, standard Linux tool
Advanced Terraform Tooling and CLI Understanding
- Understanding state and the state file
- State migration and management in complex scenarios
- Terraform import approaches in complex scenarios
- Addressing mistakes and operational messes
- Uncontrolled drift
- Corrupted or irreparable state files
- Knowing what cannot be fixed
- Proactively preventing such situations in Terraform workflows
HCL Advanced Topics
- Advanced configuration language expression features:
- Reusability approaches
- Loops and meta-arguments
- For expressions
- Types within the context of expressions
Hardening Security for Terraform
- Shift-left security and defense-in-depth strategies for Terraform
- State files and security considerations
- Managing credentials and secrets: applying least privilege, rotation, and protection measures
- Identifying where and how security can break down in Terraform workflows
Infrastructure Reliability and Testing
- Available automated and manual testing frameworks and methods
- The current landscape leaves room for improvement, e.g., Terratest
- Managing drift and mitigating unexpected consequences in realistic scenarios
- Developer responsibility versus automated testing, including git hooks for validation, terraform-pre-commit, and similar tools
Automating Terraform: Terraform in Pipelines
- Integrating Terraform with Spinnaker
- Utilizing automated delivery pipelines to enhance quality assurance, stability, and reliability of infrastructure and Terraform deployments
- Terraform and GitOps: Approaches to adopting GitOps in Terraform workflows
- Overview of Terraform Cloud and Enterprise, exploring how these offerings improve Terraform workflows and what other tools/processes exist to meet similar needs, such as custom CI/CD pipelines for Terraform and tools like 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 understanding of cloud infrastructure concepts
- Basic 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.