Get in Touch

Course Outline

Review of Terraform Core Concepts

  • Command-line interface (CLI) and all available sub-commands
  • The execution flow of Terraform operations
  • State management: its critical importance and inherent fragility
  • HashiCorp Configuration Language (HCL): features and changes from pre-0.12 to post-0.12 versions

Designing Advanced Terraform Projects and Modules

  • Strategies for Modularization
    • Scenarios involving single projects with multiple modules
    • Managing related infrastructure across multiple projects, whether in single cloud, hybrid, or multi-platform environments
    • Decomposing root modules
      • Effective organization strategies for both new and legacy monolithic projects

Building and Managing Complex Terraform Projects and Modules

  • In-depth industry best practices
  • Managing module versions
  • Applying DRY (Don't Repeat Yourself) principles to share logic
  • Handling complex provider configurations across different projects and modules
  • Introduction to Terraform Null Resource and its practical applications

Introduction to Make and Makefiles

  • Leveraging Make, a reliable standard Linux utility, to automate repetitive tasks within Terraform projects

Advanced Understanding of Terraform Tools and CLI

  • In-depth analysis of state and the state file structure
  • State migration and management strategies for complex scenarios
  • Effective Terraform import techniques in challenging situations
  • Handling Errors and Unmanaged Changes
    • Managing significant drift
    • Addressing corrupted or unrecoverable state
    • Identifying irreversible issues
    • Proactive measures to prevent critical Terraform failures

Advanced HCL Topics

  • Advanced expression language features:
    • Strategies for code re-usability
    • Implementation of loops and meta-arguments
    • Usage of for expressions
    • Working with data types in the context of expressions

Enhancing Terraform Security

  • Shift-left security practices and defense-in-depth strategies
  • Securing state files
  • Managing credentials and secrets: enforcing least privilege, rotation, and protection protocols
  • Identifying potential security vulnerabilities within Terraform workflows

Infrastructure Reliability and Testing

  • Evaluating current automated and manual testing frameworks and methods
    • Reviewing the current landscape and limitations, including tools like Terratest
  • Detecting drift and mitigating unexpected outcomes in realistic scenarios
  • Defining developer responsibilities vs. automated checks, utilizing Git hooks, terraform-pre-commit, and similar validation tools

Automating Terraform and Integration into Pipelines

  • Integrating Terraform with Spinnaker
  • Using automated delivery pipelines to enhance quality assurance, stability, and reliability of infrastructure deployments
  • Adopting GitOps: strategies for integrating GitOps into Terraform workflows
  • Overview of Terraform Cloud and Enterprise: evaluating how these offerings optimize workflows and comparing them with alternative solutions such as custom CI/CD pipelines and tools like Atlantis

Building 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 Recommended Next Steps

Requirements

  • A solid understanding of cloud infrastructure concepts
  • Familiarity with basic Terraform operations

Target Audience

  • DevOps Engineers
  • System Administrators
  • System Architects
 21 Hours

Number of participants


Price per participant

Testimonials (6)

Upcoming Courses

Related Categories