Understanding Terraform architecture
The biggest differentiator of Terraform is that, well, Terraform plans ahead. Let’s look at how Terraform handles planning in detail.
The plan
When working with Terraform, you will be following a process where Terraform is used to analyze the existing environment. In doing this analysis, Terraform is determining what (if any) changes in the code need to be applied to the actual environment to bring it up to date. Terraform itemizes these changes as actions within the plan. While Terraform does this analysis on our behalf, produces the plan, and is fully capable of executing that plan against the environment, we are still responsible for reviewing the plan and determining if the planned changes are what we intended:
Figure 1.1 – Terraform resources are straightforward machines with inputs and outputs
Terraform represents every component in your environment as a resource in this analysis. Resources...