Managing Azure with Terraform

Description

Course Overview

As enterprises seek to deploy and maintain increasingly complex Azure cloud infrastructure, there is a necessity to use “Infrastructure as Code” (IaC) tools, like Terraform. An open-source, state management tool developed by HashiCorp, Terraform allows developers to use a common coding interface to work through their various clouds safely and efficiently. Attendees will leave being able to write and understand Terraform code (HCL), have a clear understanding of Terraform’s various components and supporting tools, as well as when to reach for Terraform over another IaC tool, such as Ansible.

Course Objectives

  • Writing Terraform HCL code for managing Azure
  • Deploying into Azure
  • Where Terraform fits in the Enterprise CI/CD model
  • Differences between Terraform and Ansible
  • Best practices
  • Prepare for HashiCorp’s Terraform Associate Certification
  • AI LLM prompt engineering for Terraform snippets and jumpstarting solutions

Who Should Attend?

  • DevOps Engineers
  • Software Developers
  • Technical Managers and Leads
  • System and Cloud Administrators
  • Network Engineers and Developers

Course Prerequisites

Although not required, students with some experience programming, or pre-existing knowledge of Azure or other cloud architecture, will most appreciate the technical nature of this hands-on course.

Agenda

AI LLM Toolkit

  • Lecture + Lab: Large Language Model toolkit for AI
  • Solution Assistance

Introduction to Terraform

  • Lecture: Terraform Course Map
  • Lecture: Introduction to Terraform and Azure

Software Control Management

  • Lecture + Lab: SCM Option #1 - GitHub
  • Lecture + Lab: SCM Option #2 - GitLab

Overview of Terraform

  • Lecture + Lab: Terraform Install

Terraform Modules

  • Lecture: Terraform HCL Syntax
  • Lecture + Lab: Up and Running with Terraform
  • Lecture + Lab: Terraform Variables
  • Lecture + Lab: Output Values
  • Lecture: Avoid the :latest Tag

Azure

  • Lecture: Managing Azure with Terraform
  • Lecture + Lab: Terraform and Azure
  • Lecture: Exploring Terraform Azure modules
  • Lecture + Lab: Starting with VNet
  • Lecture + Lab: Creating Virtual Machines
  • Lecture + Lab: Tracking State with Storage and Databases
  • Lecture + Lab: Creating an Azure Module

Beyond Basics

  • Lecture + Lab: Terraform CLI Workspaces
  • Lecture + Lab: Terraform Expressions and Errors
  • Lecture + Lab: Resources - replace vs taint
  • Lecture + Lab: Dynamic Operations with Functions
  • Lecture + Lab: Creating a Terraform Module
  • Lecture + Lab: Moving State - terraform state mv
  • Lecture + Lab: Dynamic Provisioning with tfvars Files
  • Lecture + Lab: Data Sources and HTTP Provider

Loops

  • Lecture: for_each
  • Lecture + Lab: Looping Constructs - for_each

Provisioning

  • Lecture + Lab: local-exec Provisioner
  • Lecture + Lab: Creating Delays
  • Lecture + Lab: Terraform - templatefile Function

Terraform Cloud

  • Lecture + Lab: Terraform Cloud and Terraform Enterprise
  • Lecture + Lab: Triggering Cloud Builds via Git Commits

Dynamic Blocks

  • Lecture + Lab: Dynamic Blocks

Terraform and Enterprise

  • Lecture + Lab: Deploy a Go RESTful API microservice with Terraform
  • Lecture: Terraform vs. Ansible
  • Lecture + Lab: Terraform and Ansible

Helpful DevOps Tools (OPTIONAL)

  • Lecture + Lab: GitHub Actions - GitLeaks
  • Lecture + Lab: GitHub Actions - Terraform

Terraform Review

  • Lecture: HashiCorp Terraform Study Guide

Similar courses

90%+ of those who are new to Azure or just starting formal Azure training start here!

More Information

90%+ of those who are new to Azure or just starting formal Azure training start here!

More Information