Get in Touch

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
 21 Hours

Number of participants


Price per participant

Testimonials (6)

Upcoming Courses

Related Categories