Skip to main content

Topology and IaC Lab

This is a capstone-on lab. The outputs are committed to your capstone repo, not to a scratch folder.

Retrieval Prompts

  1. State the three cloud-platform options from the picking rubric and the axis on which they are ranked.
  2. Draw the three capstone topology shapes from memory.
  3. State the condition under which you would collapse staging and rely on preview environments instead.
  4. State what Terraform state contains and what locking prevents.
  5. State the rule for when to extract a local module vs keep resources inline.

Compare and Distinguish

Separate these pairs clearly:

  • preview environment vs staging environment
  • local Terraform module vs published registry module
  • state backend vs state file
  • secret value vs secret name

Common Mistake Check

For each statement, identify the error:

  1. "We use AWS because it's the biggest, not because it fits the capstone."
  2. "Our staging is four weeks behind prod; it still catches bugs."
  3. "I committed .env.example with real values so new developers have a working starting point."
  4. "We wrapped a single Cloud Run resource in a module to keep things tidy."
  5. "We skipped setting up a locking backend because we're a team of one."

Mini Application

Do all four tasks, committed to your capstone repo:

  1. Write library/raw/decisions/001-platform.md with three candidate platforms, a cost/control/complexity rubric, and the chosen platform with two accepted tradeoffs.
  2. Commit library/raw/architecture.mmd (or a PNG) showing the topology with every box labeled and every arrow annotated with protocol.
  3. Write library/raw/decisions/003-environments.md with the environment table, monthly cost cap, and the reason each env exists.
  4. Scaffold a Terraform root with a working remote backend and at least one local module. terraform init and terraform plan must both succeed.

Evidence Check

This page is complete only if a reviewer can:

  • read the three decision docs in under 10 minutes
  • run terraform init && terraform plan from the repo with only cloud login
  • name your topology shape from the diagram alone

If any of those fails, fix the doc or the IaC, not the lab page.