WA3581

Advanced Terraform and IaC Workflows Training

Master advanced state management, module development, and IaC (Infrastructure as Code) workflows with Terraform. A hands-on capstone Terraform project ties together all the infrastructure skills gained, ensuring learners are ready to tackle infrastructure management challenges.

Course Details

Duration

3 days

Prerequisites

  • Basic understanding of Terraform workflows
  • Taken Infrastructure as Code (IaC) with Terraform for Azure Fundamentals
  • or Infrastructure as Code (IaC) with Terraform for AWS Fundamentals or have equivalent knowledge
  • Working knowledge of a cloud provider like AWS or Azure
  • Basic understanding of Git
  • Ability to work in Linux Terminal or PowerShell

Target Audience

  • DevOps Engineers - Familiar with CI/CD and automation.
  • Cloud Engineers - Experienced in cloud services and infrastructure.
  • Site Reliability Engineers (SREs) - Focused on system reliability and performance.
  • Software Developers - Interested in infrastructure as code and automation tools.
  • IT Professionals - Seeking to enhance skills in Terraform and cloud management.

Skills Gained

  • Implement advanced Terraform state management techniques
  • Design and execute comprehensive Terraform testing strategies
  • Develop and utilize reusable Terraform modules effectively
  • Integrate Git version control, DevOps practices, and CI/CD workflows
  • Architect and manage complex infrastructure using Terraform
  • Implement GitOps principles to manage infrastructure as code
  • Foster collaboration in Terraform
  • Enhance Terraform security and compliance by adhering to best practices
  • Apply industry-standard Infrastructure as Code (IaC) best
  • Demonstrate comprehensive understanding of Terraform concepts and best practices by completing a capstone project involving designing, implementing, and collaborating on a production-grade infrastructure solution.
Course Outline
  • Advanced State Management
    • Review of State management basics
    • Using advanced State Management Commands
    • Implementing Remote State
    • Implementing State Management best practices
    • Infrastructure drift detection and correction
  • Terraform Testing
    • End-to-end integration testing
    • Unit testing
    • Test mocking
  • Advanced Module Development
    • Review of module development fundamentals
    • Terraform IaC projects vs Terraform Modules
    • Programming patterns in module development
    • Provider configuration in modules
  • Git, DevOps, CICD workflows for module development
    • Using Git version control the right way
    • Versioning and Tagging Modules
    • Publishing modules
    • Implementing CICD DevOps Pipelines for Modules
  • Scalable Projects and Complex Infrastructure
    • Architecting complex infrastructure
    • Using Composition to manage complexity
    • Implementing complex infrastructure using Terraform
    • Environment Separation using workspaces and directories
  • Using GitOps to manage infrastructure
    • Understanding GitOps principles
    • Implementing GitOps workflow for Terraform IaC projects
    • Dealing with state drift
    • GitOps Best practices
  • Collaborative Development
    • Terraform development roles
    • Enabling collaborative development of modules
    • Enabling collaborative GitOps
    • Collaborative Workflow in Terraform Cloud (HCP) and Terraform Enterprise
  • Terraform Security and Compliance
    • Security best practices in Terraform
    • Implementing least privilege access
    • Secrets management in Terraform Workflows
    • Compliance checks and policy enforcement
    • Integrating security scanning tools
  • IAC Best Practices - Review
    • Coding Best Practices
    • Modules and Reusability Best Practices
    • State Management Best Practices
    • Resource Dependency Best Practices
  • Capstone Project
    • Create a comprehensive infrastructure solution
    • Design and implement a production-grade environment
    • Apply all covered topics with peer feedback
    • Work as a team to implement a collaborative solution