Get in Touch

Course Outline

Review of Core Terraform Concepts

  • The CLI and its comprehensive set of sub-commands
  • The operational flow of Terraform
  • State management: its critical importance and inherent fragility
  • HashiCorp Configuration Language (HCL), covering versions prior to and post 0.12

Designing Complex Terraform Projects and Modules

  • Strategies for Modularization
    • Single-project, multi-module architectures
    • Multi-project related infrastructure across single and hybrid clouds or platforms
    • Decomposing Root modules
      • Organizing both new and legacy monolithic projects with a thoughtful structure

Developing and Managing Advanced Terraform Projects and Modules

  • In-depth best practices
  • Managing module versions
  • Emphasizing DRY (Don't Repeat Yourself) principles
  • Handling complex provider scenarios across multiple projects and modules
  • Introduction to Terraform Null Resource and its practical utility

Introduction to Make + Makefile

  • Automating repetitive Terraform tasks using a reliable, standard Linux tool

Advanced Understanding of Terraform Tools and CLI

  • Deep dive into state and the state file
  • State migration and management in complex scenarios
  • Approaches to Terraform import in intricate situations
  • Managing mistakes and messy states
    • Controlling drift that has escalated
    • Addressing corrupted or unrecoverable state
    • Identifying unfixable issues
    • Proactive strategies to avoid problematic state conditions in Terraform

Advanced HCL Topics

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

Hardening Terraform Security

  • Shifting security left and implementing defense in depth
  • Securing state files
  • Managing credentials and secrets through least privilege, rotation, and protection
  • Identifying potential security breakdowns in Terraform workflows

Infrastructure Reliability and Testing

  • Evaluating available automated and manual testing frameworks and methods
    • Assessing the current landscape, including tools like terratest
  • Mitigating drift and unexpected consequences in realistic scenarios
  • Developer responsibility vs automated testing, utilizing git hooks for validation, terraform-pre-commit, and similar tools

Automating Terraform and Integration into Pipelines

  • Integrating Terraform with Spinnaker
  • Leveraging automated delivery pipelines to enhance quality assurance, stability, and reliability of infrastructure and Terraform deployments
  • Terraform and GitOps: Strategies for adopting GitOps in Terraform workflows
  • Overview of Terraform Cloud and Enterprise, exploring how these offerings optimize Terraform workflows and comparing them with alternative tools/processes such as custom CI/CD pipelines and 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 grasp of cloud infrastructure concepts
  • Fundamental experience in Terraform operations

Target Audience

  • DevOps engineers
  • System administrators
  • System architects
 21 Hours

Number of participants


Price per participant

Testimonials (6)

Upcoming Courses

Related Categories