Hello, friend!
What is Terraform?
Terraform is an open-source automatic O&M tool for resource orchestration that runs on the client.
Terraform defines the resources to be managed in a template in the form of code, parses and executes the template to automatically create, change, and manage the defined resources, achieving the goal of automatic O&M.
Terraform uses profiles to describe the components managed (from a single application to the entire data center). Terraform generates an execution plan that describes what it will do to achieve the desired state, then executes it to build the described infrastructure, and as the configuration changes, Terraform is able to determine what has changed and created incremental execution plans that can be applied.
Main Features of Terraform
1. Infrastructure as Code (laC)
Terraform describes infrastructure resources based on specific configuration languages (HCL, Hashicorp configuration language). Therefore, version control and management of the described solution or infrastructure can be implemented just like any other code. At the same time, common solutions and infrastructure can be shared and reused in the form of templates.
2. Execution Plans
Before running the terraform plan command, the terraform plan command parses the template to generate an executable plan. The plan displays the resources to be created or modified in the current template and their attributes. You can preview the plan and run the terraform apply command to quickly create and change the defined resources to avoid unexpected problems.
3. Resource Topology (Resource Graph)
Terraform builds a graph of all resources as defined in the template, and creates and modifies resources that do not depend on any resources in parallel to ensure high execution efficiency. The resource that has dependent resources is preferentially executed.
4. Change Automation
No matter how complex resources are when the resource content defined in the template changes, Terraform will plan the changed content based on the new resource topology. After confirmation, multiple changes can be performed using only one command, avoiding errors caused by human operations.
Hope this helps!