Terraform Essentials
πŸ’»

Terraform Essentials

β˜… Premium Β· πŸ“– 72 lessons

Learn Terraform from the ground up: HCL, providers and resources, state management, remote backends, modules, and CI/CD β€” with hands-on AWS labs powered by floci.

← Back to Courses

Course Content

72 lessons
Module 1: Introduction to Infrastructure as Code 6 items
1.1
Why Infrastructure as Code
Video
1.2
How Terraform Works
Video
1.3
Setting Up Your Terraform Environment
Video
1.4
Confirming Your Terraform and AWS CLI Setup
Lab
1.5
Pointing a Terraform Provider at floci
Lab
1.6
Introduction to Infrastructure as Code Quiz
Quiz
Module 2: The Core Terraform Workflow 6 items
2.1
Your First Configuration
Video
2.2
Init, Plan, and Apply
Video
2.3
Updating and Destroying Infrastructure
Video
2.4
Writing and Applying Your First Configuration
Lab
2.5
Changing and Destroying Resources
Lab
2.6
The Core Terraform Workflow Quiz
Quiz
Module 3: Providers and Resources 6 items
3.1
Understanding Providers
Video
3.2
Working with AWS Resources
Video
3.3
Resource Dependencies
Video
3.4
Creating an S3 Bucket and an IAM Role
Lab
3.5
Chaining Resource Dependencies
Lab
3.6
Providers and Resources Quiz
Quiz
Module 4: Variables, Outputs, and Data Sources 6 items
4.1
Input Variables
Video
4.2
Output Values
Video
4.3
Data Sources
Video
4.4
Parameterizing a Configuration with Variables
Lab
4.5
Outputs and a Data Source Lookup
Lab
4.6
Variables, Outputs, and Data Sources Quiz
Quiz
Module 5: Managing Terraform State 6 items
5.1
What State Actually Contains
Video
5.2
Inspecting and Modifying State
Video
5.3
Drift and Refresh
Video
5.4
Inspecting and Reorganizing State
Lab
5.5
Detecting Drift and Importing a Resource
Lab
5.6
Managing Terraform State Quiz
Quiz
Module 6: Remote State and Backends 6 items
6.1
Why Local State Doesn't Scale
Video
6.2
Configuring an S3 Backend
Video
6.3
State Locking and Team Workflows
Video
6.4
Migrating to an S3 Backend
Lab
6.5
Simulating State Locking
Lab
6.6
Remote State and Backends Quiz
Quiz
Module 7: Modules 6 items
7.1
Why Modules
Video
7.2
Writing a Reusable Module
Video
7.3
Module Sources and Versioning
Video
7.4
Extracting a Storage Module
Lab
7.5
Composing Multiple Module Calls
Lab
7.6
Modules Quiz
Quiz
Module 8: Meta-Arguments and Dynamic Configuration 6 items
8.1
Repeating Resources with count
Video
8.2
Repeating Resources with for_each
Video
8.3
Conditionals and Dynamic Blocks
Video
8.4
Provisioning Multiple Instances with for_each
Lab
8.5
Dynamic IAM Policy Statements
Lab
8.6
Meta-Arguments and Dynamic Configuration Quiz
Quiz
Module 9: Workspaces and Environment Management 6 items
9.1
What Workspaces Solve
Video
9.2
Using Workspaces
Video
9.3
Directory-per-Environment as an Alternative
Video
9.4
Managing Dev and Staging with Workspaces
Lab
9.5
Refactoring to a Directory-per-Environment Layout
Lab
9.6
Workspaces and Environment Management Quiz
Quiz
Module 10: Provisioners and External Data 6 items
10.1
Provisioners: Last-Resort Configuration
Video
10.2
Preferred Alternatives to Provisioners
Video
10.3
External Data Sources and Provider-Defined Functions
Video
10.4
Bootstrapping an Instance with user_data
Lab
10.5
Using a local-exec Provisioner
Lab
10.6
Provisioners and External Data Quiz
Quiz
Module 11: Testing, Validation, and CI/CD for Terraform 6 items
11.1
Validating Configuration Before Apply
Video
11.2
Automated Testing
Video
11.3
Terraform in a CI/CD Pipeline
Video
11.4
Writing a Terraform Test
Lab
11.5
Building a Simple CI Pipeline Script
Lab
11.6
Testing, Validation, and CI/CD for Terraform Quiz
Quiz
Module 12: Production Considerations and Final Project 6 items
12.1
Structuring a Real-World Codebase
Video
12.2
Security and Secrets
Video
12.3
From floci to Real AWS
Video
12.4
Applying Least-Privilege IAM
Lab
12.5
Final Project: A Multi-Service Environment
Lab
12.6
Production Considerations and Final Project Quiz
Quiz