(Online Delivery) 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