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