Course Outline
Module 1: Introduction to Infrastructure as Code and Terraform
- Core IaC concepts and their advantages in on-premises and hybrid environments
- Overview of Terraform: providers, resources, state, and lifecycle management
- Installing Terraform, Azure CLI, and other necessary utilities
- Initial practical exercise: creating and applying a basic Terraform configuration locally
Module 2: HashiCorp Configuration Language (HCL) and Configuration Basics
- HCL syntax, resources, attributes, and expressions
- Variables, outputs, locals, and type constraints
- Utilizing the Terraform CLI: init, plan, apply, destroy, and fmt
- Practical lab: constructing a parameterized configuration for an on-premises resource and an Azure resource
Module 3: Providers, Resources, and Azure Provider Fundamentals
- Understanding providers and configuring them (AzureRM provider)
- Mapping infrastructure components to Terraform resources (networking, compute, storage)
- Handling Azure authentication and service principals for automation purposes
- Practical exercise: provisioning 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 using Azure Storage Accounts and state locking strategies
- Workspaces, environments, and collaboration patterns for teams
- Laboratory: setting up remote state in Azure Storage and executing a multi-user workflow
Module 5: Modularization, Reusability, and Best Practices
- Creating and utilizing Terraform modules
- Module inputs/outputs, versioning, and registry patterns
- Folder layout, naming conventions, and maintainable repository structure
- Practical exercise: building a reusable module for Azure VM + disk + network and testing it across environments
Module 6: Managing Azure Virtual Devices and On-Prem Integration
- Controlling Azure Virtual Machines, Virtual Desktop components, and device lifecycle via Terraform
- Strategies for hybrid device management: linking on-premises resources and Azure-managed devices
- Integrating volumetric or device management systems via data sources and external providers
- Laboratory: deploying an Azure VM fleet representing operator units and configuring inventory tagging and basic monitoring
Module 7: CI/CD, Automation, and Deployment Pipelines
- Connecting Terraform with CI/CD systems (GitHub Actions, Azure DevOps pipelines)
- Automating plan/apply processes with secured secrets and service principals
- Introduction to Policy as Code (Sentinel or Open Policy Agent patterns) and pre-deployment checks
- Practical exercise: developing a simple GitHub Actions workflow to plan and apply Terraform to a sandbox subscription
Module 8: Security, Secrets, and Operational Practices
- Secret management: Azure Key Vault integration and preventing 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 interpreting plan diffs effectively
- Unit and integration testing approaches (terraform validate, tflint, kitchen-terraform)
- Common error patterns and resolution strategies
- Laboratory: executing validation and linting tools to fix identified issues
Module 10: Capstone Project: Hybrid Deployment Scenario
- Design exercise: planning an on-premises and Azure device deployment using acquired patterns
- Implementing core components using modules, remote state, and CI/CD pipeline snippets
- Presenting the solution, discussing trade-offs, and reviewing the operational runbook
Summary and Next Steps
Requirements
- A foundational grasp of basic networking and virtualization concepts
- Experience with Windows or Linux command-line interfaces
- Elementary knowledge of cloud or on-premises infrastructure principles
Target Audience
- System administrators and platform engineers
- DevOps professionals starting their journey with Infrastructure as Code
- IT teams overseeing hybrid (on-premises and Azure) infrastructure
Custom Corporate Training
Training solutions designed exclusively for businesses.
- Customized Content: We adapt the syllabus and practical exercises to the real goals and needs of your project.
- Flexible Schedule: Dates and times adapted to your team's agenda.
- Format: Online (live), In-company (at your offices), or Hybrid.
Price per private group, online live training, starting from 5200 € + VAT*
Contact us for an exact quote and to hear our latest promotions
Testimonials (3)
pacing for the most part was fantastic. Michal was very good at ensuring the audience were engaged and ensured everyone was following along for the most part
Asif Shaikh - Carpmaels & Ransford
Course - Terraform on Microsoft Azure
Checking all the details in practice - by writing real code
Michal Pipala - EY
Course - Advanced Terraform: Efficient Infrastructure as Code
the instructor was very well prepared