Terraform is an open-source Infrastructure-as-Code (IaC) software tool created by HashiCorp. It enables us to define and provision a cloud infrastructure using a high-level configuration language known as Hashicorp Configuration Language (HCL), or optionally JSON.
Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently. Terraform can manage existing and popular service providers as well as custom in-house solutions.
Why do we adopt this technology?
Terraform generates an execution plan describing what it will do to reach the desired state, and then executes it to build the described infrastructure.
As the configuration changes, Terraform is able to determine what changed and create incremental execution plans which can be applied.
The infrastructure Terraform can manage includes low-level components such as compute instances, storage, and networking, as well as high-level components such as DNS entries, SaaS features, etc.
At ITP, we have adopted Terraform OSS. We also did a POC with Terraform Cloud, but this one has been put on HOLD.