Get in Touch

Course Outline

Terraform Core Concepts Review

  • The CLI and all available sub-commands.
  • The workflow of Terraform operations.
  • State management and its importance (including its fragility).
  • HashiCorp Configuration Language (HCL), covering versions before and after 0.12.

Designing More Complex Terraform Projects and Modules

  • Approaches to Modularization
    • Single-project, multi-module scenarios.
    • Multi-project related infrastructure across single and hybrid cloud or platform environments.
    • Root module decomposition
      • Working with both new and legacy monolithic projects, with a focus on thoughtful Terraform project organization.

Developing and Managing More Complex Terraform Projects and Modules

  • Comprehensive best practices.
  • Module versioning.
  • Emphasizing DRY (Don't Repeat Yourself) principles.
  • Handling 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

  • Deep dive into 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.
    • Recovering from corrupted or irreparable state files.
    • Identifying scenarios that cannot be fixed.
    • Proactively ensuring you avoid these situations with Terraform.

Advanced HCL Topics

  • Advanced configuration language expression features:
    • Approaches to re-usability.
    • Loops and meta-arguments.
    • For expressions.
    • Type handling in the context of expressions.

Hardening Security for Terraform

  • Shifting left on Terraform security and adopting defense-in-depth strategies.
  • State file security considerations.
  • Managing credentials and secrets: implementing least privilege, rotation, and protection.
  • Identifying where and how security can break down in Terraform workflows.

Infrastructure Reliability and Testing

  • Overview of currently available automated and manual testing frameworks and methods
    • The current landscape leaves much to be desired (e.g., TestInfra / Terratest).
  • Managing drift and mitigating unexpected consequences in realistic scenarios.
  • Balancing developer responsibility with automated testing, including git hooks for validation, terraform-pre-commit, etc.

Automating Terraform and 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 within Terraform workflows.
  • Overview of Terraform Cloud and Enterprise, exploring how these offerings improve Terraform workflows and examining other tools/processes that serve 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 hands-on experience with Terraform operations.

Audience

  • DevOps engineers.
  • System administrators.
  • System architects.
 21 Hours

Testimonials (6)

Upcoming Courses

Related Categories