Course Outline

Terraform Core Concepts Review

  • The Command Line Interface (CLI) and all available sub-commands
  • The flow of Terraform operations
  • The significance of state management, including its importance and potential 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 for single and hybrid cloud or platform environments
    • Root module decomposition
      • Strategies for organizing new and legacy monolithic projects to enhance Terraform project structure

Developing and Managing More Complex Terraform Projects and Modules

  • Comprehensive best practices
  • Module version management
  • Sharing and focusing on the DRY (Don't Repeat Yourself) principle
  • 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

  • Understanding state and the state file
  • State migration and management in complex scenarios
  • Terraform import approaches in complex environments
  • Approaches to handling mistakes and messes
    • Addressing significant drift issues
    • Dealing with corrupted or irreparable state files
    • Identifying situations that cannot be fixed
    • Proactively preventing such issues in Terraform workflows for government

HCL Advanced Topics

  • Advanced configuration language expression features:
    • Reusability strategies
    • Loops and meta-arguments
    • For expressions
    • Types in the context of expressions

Hardening Security for Terraform

  • Implementing shift-left security practices and a defense-in-depth approach
  • State file security management
  • Credential and secret management: least privilege, rotation, and protection
  • Identifying and addressing potential security vulnerabilities in Terraform workflows for government

Reliability of Infrastructure and Testing

  • Available automated and manual testing frameworks and methods
    • The current state of testing tools, such as terratest, leaves room for improvement
  • Mitigating drift and unexpected consequences in realistic scenarios
  • Balancing developer responsibility with automated testing, including the use of git hooks for validation and tools like terraform-pre-commit

Automating Terraform, Terraform in Pipelines

  • Terraform integration with Spinnaker
  • Using automated delivery pipelines to enhance quality assurance, stability, and reliability of infrastructure and Terraform deployments for government
  • Adopting GitOps practices in Terraform workflows
  • An overview of Terraform Cloud and Enterprise offerings, including how they improve Terraform workflows and a review of other tools and processes that serve similar needs, such as custom CI/CD pipelines and tools like Atlantis

Complex AWS Infrastructure with Terraform

  • Designing and deploying Virtual Private Clouds (VPCs) with Terraform
  • Managing EC2 instances and other compute resources
  • Configuring AWS networking components
  • Integrating various AWS services into Terraform-managed infrastructure
  • Implementing security best practices for AWS resources in government environments

Summary and Next Steps

Requirements

  • An understanding of cloud infrastructure concepts
  • Basic experience in Terraform operations

Audience

  • DevOps engineers for government
  • System administrators
  • System architects
 21 Hours

Number of participants


Price per participant

Testimonials (6)

Upcoming Courses

Related Categories