We are taught early that variables are good practice.
Reusable. Flexible. Clean.
But Terraform does not reward flexibility by default.
It rewards clarity of meaning.
In this lesson, we step back and examine a quieter question:
When does a variable make the graph harder to understand?
A variable is not just a value container.
It is a declaration of uncertainty.
It tells Terraform that meaning is deferred.
Sometimes that is correct.
Sometimes it hides structure.
When fixed values are pushed into distant variables.tf files, proximity is lost.
When structural parameters like count are abstracted, the blast radius becomes harder to visualize.
The graph still builds.
But the reader loses immediate clarity.
This lesson focuses on:
- Variables as deferred identity
- Indirection and its cognitive cost
- Structural opacity and graph visibility
- Why stability should remain explicit
The goal is not fewer variables.
The goal is intentional design.

