Terraform is an Infrastructure as Code (IaC) tool that can deploy to many different public clouds such as Azure, AWS, and Google Cloud and many more.
It features a declarative language, Hashicorp Configuration Language, that lets you write in “resource blocks”, which means blocks that cover specific solution parts of the whole design. You link the different resources by referencing their dependent resources usually using identifiers.
In the end you get a “resource graph” that denotes how the resources are related to one another and as such; which needs to be created first. Since there are dependents because of these references,
Terraform does all the heavy lifting of figuring out this “dependency tree” issue for us such that we can string together many resources and it will “just work”.