Review infrastructure changes like code and apply them safely
You can manage servers and networks through files without touching them directly, and preview what will happen before applying changes. Terraform organizes infrastructure into declarative configuration files, allowing teams to share and version control them like code. This file codifies APIs to standardize the process of tracking and reviewing changes.
Execution plans and resource graphs
Terraform generates an execution plan before changing infrastructure. This plan shows how resources will change when you run the apply command, preventing unexpected situations. It also structures dependencies between all resources as a graph. Resources that do not depend on each other are created or modified simultaneously, making infrastructure provisioning efficient. Operators can clearly understand the internal connections of the infrastructure through this graph.
Separation of core and providers
This repository contains only the Terraform core, which is the command-line interface and the main graph engine. Providers that connect to cloud services or internal systems are implemented as plugins. Terraform automatically downloads providers published in the registry. You can use providers developed by other organizations in addition to those developed by HashiCorp, allowing application to various environments.
License terms and scope of use
Terraform uses the Business Source License 1.1. This may include conditions different from typical open-source licenses, so you should check the license terms before use in specific environments. The tool focuses on minimizing human intervention and reducing errors when automating complex changes. If you want to treat infrastructure like code, you must first check whether license restrictions affect your business.