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