Get in Touch
 Duration 28 hours

Course Outline

Module 1: Fundamentals of Infrastructure as Code and Terraform

  • Exploring IaC concepts and their advantages in on-premises and hybrid settings.
  • An overview of Terraform: examining providers, resources, state, and the resource lifecycle.
  • Installation procedures for Terraform, Azure CLI, and other necessary utilities.
  • Initial practical exercise: drafting and locally applying a basic Terraform configuration.

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

  • Detailed analysis of HCL syntax, including resources, attributes, and expressions.
  • Managing variables, outputs, locals, and type constraints effectively.
  • Mastering the Terraform CLI: executing init, plan, apply, destroy, and fmt commands.
  • Practical lab: constructing a parameterized configuration for both an on-premises resource and an Azure resource.

Module 3: Providers, Resources, and Azure Provider Essentials

  • Understanding the role of providers and configuring them, with a focus on the AzureRM provider.
  • Translating real-world infrastructure into Terraform resources across networking, compute, and storage.
  • Handling Azure authentication and setting up service principals for automated workflows.
  • Practical exercise: provisioning an Azure virtual network and a basic VM using Terraform.

Module 4: State Management, Backends, and Team Collaboration

  • The role of Terraform state: understanding its purpose, format, and lifecycle implications.
  • Implementing remote backends using Azure Storage Accounts and employing state locking strategies.
  • Utilizing workspaces and environments to support collaborative workflows within teams.
  • Lab session: establishing remote state in Azure Storage and executing multi-user workflows.

Module 5: Modularization, Reusability, and Best Practices

  • Creating and utilizing Terraform modules for scalable infrastructure.
  • Defining module inputs and outputs, managing versioning, and leveraging registry patterns.
  • Establishing clear folder structures, naming conventions, and maintainable repository layouts.
  • Practical exercise: building a reusable module for Azure VMs, disks, and networking, and testing it across different environments.

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

  • Controlling Azure Virtual Machines, Virtual Desktop components, and device lifecycles through Terraform.
  • Strategies for hybrid device management, linking on-premises resources with Azure-managed devices.
  • Integrating volumetric or device management systems via data sources and third-party providers.
  • Lab session: deploying a fleet of Azure VMs to simulate operator units, including inventory tagging and basic monitoring setup.

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

  • Connecting Terraform with CI/CD platforms such as GitHub Actions and Azure DevOps pipelines.
  • Automating plan and apply processes while securely managing secrets and service principals.
  • Introducing Policy as Code basics using Sentinel or Open Policy Agent patterns for pre-deployment validation.
  • Practical exercise: developing a GitHub Actions workflow to execute Terraform plan and apply against a sandbox subscription.

Module 8: Security, Secrets Management, and Operational Hygiene

  • Securing sensitive data through Azure Key Vault integration and preventing exposure in state files.
  • Implementing access control, RBAC, and least privilege principles for automation accounts.
  • Monitoring drift, reconciling state, and applying basic remediation techniques.
  • Reviewing checklists for backup, auditing, and governance of Terraform-managed infrastructure.

Module 9: Testing, Debugging, and Troubleshooting

  • Diagnosing Terraform configurations and interpreting plan diffs with precision.
  • Applying unit and integration testing methods using tools like terraform validate, tflint, and kitchen-terraform.
  • Identifying common error patterns and developing effective resolution strategies.
  • Lab session: executing validation and linting tools to identify and resolve configuration issues.

Module 10: Capstone Project — Hybrid Deployment Scenario

  • Design challenge: planning a hybrid on-premises and Azure device deployment using acquired patterns.
  • Implementation of key components using modules, remote state, and CI/CD pipeline segments.
  • Presentation of the solution, discussion of trade-offs, and review of operational runbooks.

Summary and Recommended Next Steps

Requirements

  • A foundational grasp of basic networking and virtualization principles.
  • Comfort with navigating Windows or Linux command-line interfaces.
  • General awareness of cloud or on-premises infrastructure fundamentals.

Target Audience

  • System administrators and platform engineers.
  • DevOps practitioners starting their journey with Infrastructure as Code.
  • IT teams responsible for managing hybrid infrastructure that spans on-premises systems and Azure.

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories