Course Outline
Terraform Core Concepts Review
- The Command Line Interface (CLI) and all available sub-commands
- The flow of Terraform operations
- The significance of state management, including its importance and potential 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 for single and hybrid cloud or platform environments
- Root module decomposition
- Strategies for organizing new and legacy monolithic projects to enhance Terraform project structure
Developing and Managing More Complex Terraform Projects and Modules
- Comprehensive best practices
- Module version management
- Sharing and focusing on the DRY (Don't Repeat Yourself) principle
- Complex provider scenarios across projects and modules
- Introduction to Terraform Null Label and its utility
An Introduction to Make + Makefile
- Automate repetitive tasks in Terraform projects using a reliable, standard Linux tool
Advanced Terraform Tool and CLI Understanding
- Understanding state and the state file
- State migration and management in complex scenarios
- Terraform import approaches in complex environments
- Approaches to handling mistakes and messes
- Addressing significant drift issues
- Dealing with corrupted or irreparable state files
- Identifying situations that cannot be fixed
- Proactively preventing such issues in Terraform workflows for government
HCL Advanced Topics
- Advanced configuration language expression features:
- Reusability strategies
- Loops and meta-arguments
- For expressions
- Types in the context of expressions
Hardening Security for Terraform
- Implementing shift-left security practices and a defense-in-depth approach
- State file security management
- Credential and secret management: least privilege, rotation, and protection
- Identifying and addressing potential security vulnerabilities in Terraform workflows for government
Reliability of Infrastructure and Testing
- Available automated and manual testing frameworks and methods
- The current state of testing tools, such as terratest, leaves room for improvement
- Mitigating drift and unexpected consequences in realistic scenarios
- Balancing developer responsibility with automated testing, including the use of git hooks for validation and tools like terraform-pre-commit
Automating Terraform, Terraform in Pipelines
- Terraform integration with Spinnaker
- Using automated delivery pipelines to enhance quality assurance, stability, and reliability of infrastructure and Terraform deployments for government
- Adopting GitOps practices in Terraform workflows
- An overview of Terraform Cloud and Enterprise offerings, including how they improve Terraform workflows and a review of other tools and processes that serve similar needs, such as custom CI/CD pipelines and tools like Atlantis
Complex AWS Infrastructure with Terraform
- Designing and deploying Virtual Private Clouds (VPCs) with Terraform
- 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 in government environments
Summary and Next Steps
Requirements
- An understanding of cloud infrastructure concepts
- Basic experience in Terraform operations
Audience
- DevOps engineers for government
- 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.