Mastering Infrastructure as Code

3 days
UAIC
3 days

Upcoming Sessions

Date:

Format:

Price:

Location:

Book now

Date:

Format:

Price:

Location:

Book now

Date:

Format:

Price:

Location:

Book now

Date:

Format:

Price:

Book now

Interested in a private company training? Request it here.

Not ready to book yet? Request an offer here.

Introduction to GitOps

GitOps is an operational model for managing infrastructure and applications using Git as the single source of truth. In this module, you will learn how Git-based workflows, automation, and continuous deployment tools are used to manage cloud-native infrastructure in a consistent and auditable way.

  • What is GitOps?
  • Why should you use GitOps?
  • How does GitOps work?
  • Push versus Pull-Based GitOps Models
  • GitOps Services and Tooling: Git(Hub), Azure DevOps, Kubernetes, Terraform, Flux, ...

Azure Resource Manager Templates

Azure Resource Manager (ARM) templates provide a declarative way to define and deploy Azure infrastructure as code. This module introduces ARM template structure, authoring techniques, and validation methods to ensure reliable and repeatable deployments.

  • Infrastructure as Code
  • Authoring ARM Templates
  • Parameters, Variables, Resources, Output
  • Nested Templates
  • Validating ARM Templates: Test Toolkit, Pester
  • LAB: Deploy Azure Resources with ARM Templates

Terraform

Terraform is an open-source infrastructure as code tool that enables consistent provisioning of cloud resources using a provider-based model. In this module, you will learn how Terraform manages Azure resources, handles state, and supports reusable and maintainable infrastructure definitions.

  • Terraform Features
  • Configuration and Providers
  • Variables, Resources, Secrets
  • Terraform State
  • Remote State Backends (Azure Storage)
  • Terraform Modules
  • LAB: Deploy Azure Resources with Terraform

The Bicep Language

Bicep is a domain-specific language for deploying Azure resources that simplifies ARM template authoring while remaining fully compatible with Azure Resource Manager. This module covers writing, validating, and maintaining Bicep files, as well as migrating existing ARM templates to Bicep.

  • Benefits of Bicep Versus Other Tools
  • Install Bicep Tools
  • Author Resources
  • Parameters, Variables, Outputs
  • Validate Files with Bicep Linter
  • Bicep Modules and Registries
  • Migrate from ARM Templates to Bicep
  • LAB: Deploy Azure Resources with Bicep

Desired State Configuration (DSC)

Desired State Configuration (DSC) allows you to define and enforce configuration settings on virtual machines in a consistent and automated manner. This module explains how DSC ensures systems remain compliant with a defined configuration over time, both on-premises and in Azure.

  • Benefits of Desired State Configuration
  • DSC Components: Configuration, Resources, Compilation
  • Enact Your Configuration: Push or Pull mode
  • Enact Your Configuration with Azure Machine Configuration
  • LAB: Configure a Virtual Machine with PowerShell DSC

Using Git

Version control is a fundamental component of infrastructure as code and DevOps practices. This module introduces Git concepts and workflows used to track changes, collaborate on infrastructure definitions, and manage deployment assets such as templates and scripts.

  • Version Control Concepts
  • Distributed Source Control with Git
  • Creating a Local Repository
  • Cloning a Remote Repository
  • Staging Files
  • Committing Files
  • Branching Strategies
  • Using Forks
  • Merge vs. Rebase
  • Synchronizing with a Remote Repository
  • Pull Requests
  • LAB: Working with Git

Continuous Integration

Continuous Integration (CI) automates the process of validating and testing code changes as they are introduced. In this module, you will learn how GitHub Actions and Azure DevOps Pipelines can be used to build, validate, and test infrastructure code before deployment.

  • GitHub Actions and Azure DevOps Pipelines
  • Continuous Integration
  • Understanding GitHub Workflows and DevOps Pipelines
  • Triggers, Jobs and Steps
  • Using Variables
  • Defining and Using Secrets
  • Pipeline Validation for IaC: Linting, What-if
  • Artifact Publishing
  • LAB: Setting up a Build Definition to Build and Test Your Deployment Target
  • LAB: Using CI to Deploy a SQL Server Database Using ARM templates

Continuous Deployment

Continuous Deployment (CD) automates the delivery of applications and infrastructure to target environments in a consistent and repeatable manner. This module focuses on deploying Azure resources using pipelines, managing credentials securely, and controlling deployments across multiple environments.

  • Release Management and Continuous Deployment
  • Deployment Strategies: Blue/Green - Canary
  • Deploying Artifacts
  • Integrating with Azure Using Service Principals or Managed Identities
  • Using Environments During Deployment
  • LAB: Deploying a Website to an Azure WebApp
  • LAB: Deploying a Virtual Machine using Terraform
  • LAB: CI/CD Using Bicep to Manage Infrastructure in Azure

GitHub Workflow Runners and Azure DevOps Agents

GitHub Actions and Azure DevOps pipelines rely on agents or runners to execute build and deployment tasks. This module explains how hosted and self-hosted runners work, and how to choose the appropriate execution platform based on security, performance, and cost considerations.

  • DevOps Agents and GitHub Runners
  • Using DevOps Hosted Agents and GitHub Hosted Runners
  • Setting up a Windows Hosted Runner

This course teaches IT professionals how to design, deploy, and manage Azure infrastructure using infrastructure as code and GitOps principles. Participants will learn how to define and maintain Azure resources using ARM templates, Bicep, and Terraform, and understand when to use each approach.

The course also covers the use of Git as a central source of truth for infrastructure definitions and shows how to integrate infrastructure code into CI/CD pipelines using GitHub Actions and Azure DevOps pipelines. Participants will learn how to validate, test, and deploy infrastructure automatically, securely authenticate pipelines to Azure, and operate build and deployment agents.

This course is designed for infrastructure and DevOps engineers who want to automate Azure infrastructure deployments using infrastructure as code and CI/CD pipelines.

Contact Us
  • Address:
    U2U nv/sa
    Z.1. Researchpark 110
    1731 Zellik (Brussels)
    BELGIUM
  • Phone: +32 2 466 00 16
  • Email: info@u2u.be
  • Monday - Friday: 9:00 - 17:00
    Saturday - Sunday: Closed
Say Hi
© 2026 U2U All rights reserved.