Skip to Scheduled Dates
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.
Who Should Attend
- DevOps Engineers
- Software Developers
- Technical Managers and Leads
- System and Cloud Administrators
- Network Engineers and Developers
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
Course Outline
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