Module 9 — Infrastructure as Code
Define infrastructure in version-controlled files: Terraform (provisioning), Ansible (configuration), cloud-init (first-boot), and Pulumi — and when to use each.
Lesson: What Infrastructure as Code Means
What you'll learn The difference between configuring servers by hand and defining them in code. ...
Lesson: Provisioning with Terraform
What you'll learn What Terraform is for: provisioning infrastructure (creating VMs, networks, DN...
Lesson: Configuration Management with Ansible
What you'll learn What configuration management is and how Ansible does it. Why Ansible is agent...
Lesson: First-Boot Bootstrap and Code-Native IaC
What you'll learn What cloud-init is and how it configures a fresh VM on its first boot. The sha...
Lesson: When to Use Which
What you'll learn A simple decision rule for picking Terraform, Ansible, cloud-init, or Pulumi. ...
Assignment 1: Write a cloud-init config for a new VM
Goal: Write a valid #cloud-config user-data file that would bootstrap a fresh Linux VM into a usa...
Assignment 2: A small Ansible playbook (or Terraform plan) walkthrough
Goal: Read, explain, and (for the Ansible path) dry-run a small piece of IaC so you can describe ...