Course Outline
Module 1: Introduction to Infrastructure as Code and Terraform
- IaC concepts and benefits for on-premises and hybrid environments.
- Terraform overview: providers, resources, state, and lifecycle.
- Installing Terraform, Azure CLI, and required tools.
- First hands-on experience: writing a simple Terraform configuration and applying it locally.
Module 2: HashiCorp Configuration Language (HCL) and Configuration Basics
- HCL syntax, resources, attributes, and expressions.
- Variables, outputs, locals, and type constraints.
- Using the Terraform CLI: init, plan, apply, destroy, and fmt.
- Hands-on lab: build a parameterized configuration for an on-premises resource and an Azure resource.
Module 3: Providers, Resources, and Azure Provider Fundamentals
- Understanding providers and provider configuration (AzureRM provider).
- Mapping infrastructure to Terraform resources (networking, compute, storage).
- Managing Azure authentication and service principals for automation.
- Hands-on: provision an Azure virtual network and a simple VM via Terraform.
Module 4: State Management, Backends, and Collaboration
- Terraform state: purpose, format, and lifecycle considerations.
- Remote backends with Azure Storage Account and state locking strategies.
- Workspaces, environments, and collaboration patterns for teams.
- Lab: configure remote state in Azure Storage and perform a multi-user workflow.
Module 5: Modularization, Reusability, and Best Practices
- Authoring and consuming Terraform modules.
- Module inputs/outputs, versioning, and registry patterns.
- Folder layout, naming conventions, and maintainable repository structure.
- Hands-on: create a reusable module for Azure VM + disk + network and test across environments.
Module 6: Managing Azure Virtual Devices and On-Premises Integration
- Managing Azure Virtual Machines, Virtual Desktop components, and device lifecycle via Terraform.
- Patterns for hybrid device management: connecting on-premises resources and Azure-managed devices.
- Integrating volumetric or device management systems through data sources and external providers.
- Lab: deploy an Azure VM fleet representing operator units and configure inventory tagging and basic monitoring.
Module 7: CI/CD, Automation, and Deployment Pipelines
- Integrating Terraform with CI/CD (GitHub Actions, Azure DevOps pipelines).
- Automating plan/apply with secured secrets and service principals.
- Policy as Code basics (Sentinel or Open Policy Agent patterns) and pre-deployment checks.
- Hands-on: create a simple GitHub Actions workflow to plan and apply Terraform against a sandbox subscription.
Module 8: Security, Secrets, and Operational Practices
- Managing secrets: Azure Key Vault integration and avoiding sensitive data in state files.
- Access control, RBAC, and least privilege principles for automation accounts.
- Drift detection, state reconciliation, and basic remediation practices.
- Checklist: backup, auditing, and governance for Terraform-managed infrastructure.
Module 9: Testing, Debugging, and Troubleshooting
- Debugging Terraform configurations and reading plan diffs effectively.
- Unit and integration testing approaches (terraform validate, tflint, kitchen-terraform).
- Common error patterns and resolution strategies.
- Lab: run validation and linting tools and fix discovered issues.
Module 10: Capstone Project — Hybrid Deployment Scenario
- Design exercise: plan an on-premises plus Azure device deployment using learned patterns.
- Implement core components using modules, remote state, and CI/CD pipeline snippets.
- Present the solution, discuss trade-offs, and review the runbook for operations.
Summary and Next Steps
Requirements
- A solid understanding of basic networking and virtualization concepts.
- Familiarity with the Windows or Linux command line.
- Basic knowledge of cloud or on-premises infrastructure concepts.
Target Audience
- System administrators and platform engineers.
- DevOps practitioners starting their journey with Infrastructure as Code.
- IT teams managing hybrid (on-premises + Azure) infrastructure.
Testimonials (2)
The pace was extremely good, you can follow the trainer along.
Mihaela Stefan
Course - Terraform : Fundamentals
The practical examples and going above and beyond with them.