0: Introduction

Introduction to the course

•Course Overview

1: Evolution of Cloud and Infrasructure as Code

Examine the evolution of virtualization technologies from bare metal, virtual machines, and containers and the tradeoffs between them.

•Evolution of Cloud Infrastructure

•Infrastructure as Code Overview

2: Terraform Overview & Set Up

Install terraform and configure it to work with AWS

•Terraform Overview

•Setting up Terraform with AWS

3: Basic Terraform Usage

Learn the common terraform commands and how to use them

•Terraform Providers + Init

•Terraform State Management

•Terraform Plan, Apply, Destroy

•Remote Backend Considerations

•Sample Application Walkthrough

4: Variables and Outputs

Use Terraform variables and outputs to improve make our configurations more flexible

•Variables and Outputs (Theory)

•Variables and Outputs (Applied)

5: Additional HCL Features

Explore HCL language features in Terraform to create more expressive and modular infrastructure code.

•Additional HCL Language Features

6: Terraform Modules

Learn to break your code into modules to make it flexible and reuseable

•Terraform Modules (Theory)

•Terraform Modules (Applied)

7: Managing Multiple Environments

Overview of two primary methods for managing multiple Terraform environments

•Managing TF Environments

•Using Terraform Workspaces

•Using Subdirectory Environments

8: Testing Terraform Code

Techniques for testing and validating Terraform code

•Testing Terraform Code (Theory)

•Testing Terraform Code (Practice)

9: Developer Workflows

Covers how teams generally work with Terraform, including automated deployment with CI/CD

•Developer Workflows

•GitHub Actions Automation

10: Course Wrap Up

Final words about the course

•Course Wrap Up