Course Outline
Terraform Core Concepts Review
- The CLI and all available sub-commands.
- The flow of Terraform operations.
- State management and its importance (including its fragility).
- Hashicorp Configuration Language (HCL), both pre-0.12 and post-0.12.
Designing More Complex Terraform Projects and Modules
- Approaches to Modularization:
- Single-project, multi-module scenarios.
- Multi-project related infrastructure across single, hybrid, or multi-cloud platforms.
- Root module decomposition:
- Strategies for thoughtful Terraform project organization, applicable to both new and legacy monolithic projects.
Developing and Managing More Complex Terraform Projects and Modules
- Comprehensive best practices.
- Managing module versions.
- Sharing and focusing on DRY (Don't Repeat Yourself) principles.
- Handling complex provider scenarios across projects and modules.
- Introducing 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
- Deep understanding of state and the state file.
- State migration and management in complex scenarios.
- Terraform import approaches in complex scenarios.
- Addressing mistakes and messes:
- Handling uncontrolled drift.
- Dealing with corrupted or irreparable state.
- Identifying what cannot be fixed.
- Proactively preventing these scenarios in Terraform.
HCL Advanced Topics
- Advanced configuration language expression features:
- Reusability approaches.
- Loops and meta-arguments.
- For expressions.
- Types in the context of expressions.
Hardening Security for Terraform
- Shifting left on Terraform security and implementing defense in depth.
- Security considerations for state files.
- Managing credentials and secrets: least privilege, rotation, and protection.
- Identifying where and how security can break down in Terraform workflows.
Reliability of Infrastructure and Testing
- Current automated and manual testing frameworks and methods:
- The current landscape leaves much to be desired, e.g., Terratest.
- Mitigating drift and unexpected consequences in realistic scenarios.
- Balancing developer responsibility with automated testing, including git hooks for validation (e.g., terraform-pre-commit).
Automating Terraform, Terraform in Pipelines
- Integrating Terraform with Spinnaker.
- Utilizing automated delivery pipelines to improve 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 other tools/processes serving similar needs, such as custom CI/CD pipelines for Terraform and tools like Atlantis.
Complex AWS Infrastructure with Terraform
- Designing and deploying VPCs with 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 practical experience with Terraform operations.
Audience
- DevOps engineers
- System administrators
- System architects
Custom Corporate Training
Training solutions designed exclusively for businesses.
- Customized Content: We adapt the syllabus and practical exercises to the real goals and needs of your project.
- Flexible Schedule: Dates and times adapted to your team's agenda.
- Format: Online (live), In-company (at your offices), or Hybrid.
Price per private group, online live training, starting from 3900 € + VAT*
Contact us for an exact quote and to hear our latest promotions
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.