Other
Training
General
Terraform - Infrastructure as Code (TIAC)

As enterprises seek to deploy and maintain increasingly complex 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.

About the course

What You’ll Learn

Writing Terraform HCL code

Deploying into common clouds such as AWS, Azure, Google Cloud, Docker, Oracle, Kubernetes, and VMWare

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 content

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

Software Control Management

💻 Lecture + Lab: SCM Option #1 - GitHub

💻 Lecture + Lab: SCM Option #2 - GitLab

Overview of Terraform

💻 Lecture + Lab: Terraform Install

💻 Lecture + Lab: gitignore for Terraform

Terraform Modules

💬 Lecture: Terraform HCL Syntax

💻 Lecture + Lab: Up and Running with Terraform

💬 Lecture: Terraform Variables

💻 Lecture + Lab: Terraform Variables

💬 Lecture: Terraform Locals

💻 Lecture + Lab: Output Values

💬 Lecture: Avoid the :latest Tag

🏆 Challenge: Terraform and Docker

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

💬 Lecture: Import pre-existing infrastructure

💻 Lecture + Lab: CHALLENGE - AWS import

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

AWS

💻 Lecture + Lab: Terraform and AWS

💻 Lecture + Lab: Output Values and AWS

💻 Lecture + Lab: AWS and looping with count vs for_each

💻 Lecture + Lab: Correcting Resource Drift and AWS

🏆 Challenge: Terraform and AWS

Azure

💻 Lecture + Lab: Terraform and Azure

Google Cloud Platform

💻 Lecture + Lab: Terraform and Google Cloud Platform

Oracle

💻 Lecture + Lab: Terraform and Oracle Cloud Infrastructure

Terraform and Enterprise

💻 Lecture + Lab: Deploy a Go RESTful API microservice with Terraform

💬 Lecture: Terraform vs. Ansible

💻 Lecture + Lab: Terraform and Ansible

VMWare

💬 Lecture: Terraform and VMWare

💻 Lecture + Lab: Terraform and VMWare

Helpful DevOps Tools (OPTIONAL)

💻 Lecture + Lab: Open Policy Agents and Terraform

💻 Lecture + Lab: GitHub Actions - GitLeaks

💻 Lecture + Lab: GitHub Actions - Terraform

💬 Lecture: Terragrunt

Terraform Review

💬 Lecture: HashiCorp Terraform Study Guide

Who Should Attend

DevOps Engineers

Software Developers

Technical Managers and Leads

System and Cloud Administrators

Network Engineers and Developers