Get in Touch

Course Outline

Terraform Core Concepts Review

  • The CLI and all available sub-commands.
  • The flow of Terraform operations.
  • State and its importance (as well as fragility).
  • HashiCorp Configuration Language (HCL), 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, single and hybrid cloud or platform.
    • Root module decomposition
      • Working with new and legacy monolithic projects alike, approaches to thoughtful Terraform project organization.

Developing and Managing More Complex Terraform Projects and Modules

  • Comprehensive best practices.
  • Module versions.
  • Share and focus on DRY.
  • Complex provider scenarios across projects and modules.
  • Introduce 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

  • Understand state and the state file.
  • State migration, management in complex scenarios.
  • Terraform import approaches in complex scenarios.
  • Approach mistakes and messes
    • Drift that's gotten out of hand.
    • Corrupted or irreparable state.
    • Know what can't be fixed.
    • Proactively ensure that you don't end up in this position with Terraform.

HCL Advanced Topics

  • Advanced configuration language expression features:
    • Re-usability approaches.
    • Loops, meta-arguments.
    • For expressions.
    • Types in the context of expressions.

Hardening Security for Terraform

  • Shift left Terraform security, defense in depth.
  • State files and security.
  • Manage credentials and secrets: least privilege, rotation, protection.
  • Where and how security can break down in Terraform workflows.

Reliability of Infrastructure and Testing

  • What automated and manual testing frameworks and methods are available currently?
    • The current state of affairs leaves a lot to be desired, e.g. terratest.
  • Drift and mitigate unexpected consequences in realistic scenarios.
  • Developer responsibility vs automated testing, git hooks for validation, terraform-pre-commit, etc.

Automating Terraform, Terraform in Pipelines

  • Terraform with Spinnaker.
  • Use 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.
  • Terraform Cloud and Enterprise overview, a look at how these offerings improve Terraform workflows and what other tools/processes exist out there to serve the same need: custom CI/CD pipelines for Terraform, tools like Atlantis, etc.

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

  • Familiarity with cloud infrastructure concepts.
  • Basic experience with Terraform operations.

Audience

  • DevOps engineers
  • System administrators
  • System architects
 21 Hours

Number of participants


Price per participant

Testimonials (6)

Upcoming Courses

Related Categories