Course curriculum

  1. 1
    • Course Introduction and Agenda

    • What is DevOps

    • Audience questions on Ops technologies

    • What is Infrastructure as Code

    • Imperative vs Declarative

  2. 2
    • An analogy for understanding Terraform

    • Audience question on scope of Terraform

    • What is Terraform

    • Audience questions on scaling infrastructure with Terraform

    • Understanding state

    • Installing Terraform

    • Installation walkthrough on Windows

    • Authenticating with AWS

  3. 3
    • Your first Terraform code

    • Running Teraform plan and apply

    • Audience question - Why does apply run plan again

    • Verifying and destroying a resource

    • Using a plan out file

    • Creating an S3 bucket

    • Resource names and updates

    • Updates vs create and delete

    • Using the VS Code terraform extension

    • Recap of the syntax and flow

    • Downloaded provider files

    • The tfstate file

    • The Terraform lock file and locking versions

    • The Terraform block

  4. 4
    • HCL syntax essentials and formatting

    • AWS VPC and a usecase for variables

    • Input variables

    • Supplying values to input variables

    • A web app on EC2 with security groups

    • Using output variables

    • Variables best practices

    • String interpolation

    • Variable data types and example

    • Local variables

    • Audience question Terraform with CICD

    • Looping

    • The count property and using index

    • Data variables

    • Implicit and explicit resource dependencies

    • Using terraform graph

  5. 5
    • Real world Terraform

    • Using Terraform workspaces

    • Writing code based on workspaces

    • Remote backend and locking with Terraform

    • Creating a Terraform module

    • Passing input values to modules

    • Using modules from Terraform registry

    • Wrap up and next steps