Understanding Terraform Architecture
At its core, Terraform is a simple command-line program that evaluates source code, which describes what a desired state should look like, compares it against what the actual state is, constructs a plan to transform the actual state into the desired state, and can execute the plan. But don’t let its perceived simplicity fool you. Terraform’s internal complexity manifests itself in its external simplicity.
Terraform is a large, source-available project written in Go that maintains the command-line executable. It provides baseline functionality such as HashiCorp Configuration Language (HCL) parsing, state management, plan creation, and execution.
Terraform is extremely powerful, yet ironically, it does very little by itself. But here’s the exciting part: Terraform’s superpower comes from its extensibility, a power that is not limited to its creators. The actual Terraform executable, by itself, can’t do much...