Get in Touch

Course Outline

Module 1: Introduction to Infrastructure as Code and Terraform

  • Core concepts and advantages of IaC for on-premises and hybrid environments.
  • Overview of Terraform: providers, resources, state management, and lifecycle.
  • Installation of Terraform, Azure CLI, and other required tools.
  • First practical exercise: writing a simple Terraform configuration and applying it locally.

Module 2: HashiCorp Configuration Language (HCL) and Configuration Basics

  • HCL syntax, resources, attributes, and expressions.
  • Usage of variables, outputs, locals, and type constraints.
  • Utilizing the Terraform CLI: commands for init, plan, apply, destroy, and fmt.
  • Hands-on lab: constructing a parameterized configuration for both on-premises and Azure resources.

Module 3: Providers, Resources, and Azure Provider Fundamentals

  • Understanding providers and provider configuration, with a focus on the AzureRM provider.
  • Mapping infrastructure components to Terraform resources, covering networking, compute, and storage.
  • Managing Azure authentication and service principals for automation purposes.
  • Hands-on exercise: provisioning an Azure virtual network and a simple VM via Terraform.

Module 4: State Management, Backends, and Collaboration

  • Terraform state: its purpose, format, and lifecycle considerations.
  • Remote backends using Azure Storage Accounts and strategies for state locking.
  • Utilizing workspaces, environments, and collaboration patterns for team workflows.
  • Lab: configuring remote state in Azure Storage and executing multi-user workflows.

Module 5: Modularization, Reusability, and Best Practices

  • Drafting and consuming Terraform modules.
  • Module inputs and outputs, versioning strategies, and registry patterns.
  • Folder layout, naming conventions, and maintaining a clean repository structure.
  • Hands-on exercise: creating a reusable module for Azure VM, disk, and network, and testing it across environments.

Module 6: Managing Azure Virtual Devices and On-Prem Integration

  • Managing Azure Virtual Machines, Virtual Desktop components, and device lifecycle via Terraform.
  • Patterns for hybrid device management, connecting on-premises resources with Azure-managed devices.
  • Integrating volumetric or device management systems through data sources and external providers.
  • Lab: deploying a fleet of Azure VMs to represent operator units and configuring inventory tagging and basic monitoring.

Module 7: CI/CD, Automation, and Deployment Pipelines

  • Integrating Terraform with CI/CD systems such as GitHub Actions and Azure DevOps pipelines.
  • Automating plan and apply processes using secured secrets and service principals.
  • Basics of Policy as Code (Sentinel or Open Policy Agent patterns) and pre-deployment checks.
  • Hands-on exercise: creating a GitHub Actions workflow to plan and apply Terraform against a sandbox subscription.

Module 8: Security, Secrets, and Operational Practices

  • Secrets management: integrating Azure Key Vault and preventing sensitive data exposure in state files.
  • Access control, Role-Based Access Control (RBAC), and enforcing least privilege for automation accounts.
  • Drift detection, state reconciliation, and foundational remediation practices.
  • Checklist for backup, auditing, and governance of Terraform-managed infrastructure.

Module 9: Testing, Debugging, and Troubleshooting

  • Debugging Terraform configurations and effectively interpreting plan diffs.
  • Approaches to unit and integration testing (terraform validate, tflint, kitchen-terraform).
  • Common error patterns and strategies for resolution.
  • Lab: running validation and linting tools to identify and fix issues.

Module 10: Capstone Project — Hybrid Deployment Scenario

  • Design exercise: planning an on-premises and Azure device deployment using established 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 understanding of networking and virtualization concepts.
  • Familiarity with command-line interfaces on Windows or Linux.
  • Basic knowledge of cloud or on-premises infrastructure principles.

Audience

  • System administrators and platform engineers.
  • DevOps practitioners who are starting their journey with Infrastructure as Code.
  • IT teams responsible for managing hybrid infrastructure (on-premises and Azure).
 28 Hours

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories