~$ man terraform
What is Terraform?
definition
Terraform is an open-source infrastructure as code tool created by HashiCorp. Users describe desired resources in declarative configuration files using HashiCorp Configuration Language (HCL) or JSON.
The tool reads these files, calculates the differences from current infrastructure, and applies changes through cloud provider APIs. It supports AWS, Azure, Google Cloud, and many other platforms via plugins called providers.
Terraform maintains a state file that records the real-world resources it manages, enabling consistent updates, drift detection, and collaboration across teams.
Terraform works like a shopping list and assembly instructions for a piece of furniture: you write once what the final result must look like, then the tool repeatedly builds or updates the exact same result without needing step-by-step manual work each time.
key takeaways
- Terraform uses declarative code to define the final state of infrastructure rather than step-by-step commands.
- It supports multiple cloud providers through interchangeable plugins called providers.
- A state file tracks every managed resource so Terraform can detect changes and plan updates safely.
- Workspaces and modules allow reuse of the same code across environments and projects.
- All changes are previewed with a plan step before any resources are created or modified.
the 2026 job market
In 2026, Terraform remains a core skill for cloud engineers and DevOps roles because most organizations run multi-cloud setups and need repeatable infrastructure defined as version-controlled code rather than manual console actions.
frequently asked questions
How does Terraform compare to AWS CloudFormation?
Terraform works across many cloud providers while CloudFormation is limited to AWS. Terraform also offers a plan preview step and a larger module ecosystem maintained by the community.
What is a Terraform provider?
A provider is a plugin that connects Terraform to a specific service such as AWS, Kubernetes, or GitHub. Each provider translates HCL resource blocks into the correct API calls for that service.
Does Terraform require coding experience?
Basic familiarity with text files and simple syntax is enough to start. Most users learn HCL quickly; prior scripting knowledge helps when writing modules or using the Terraform CLI.
How is Terraform state managed in teams?
Teams store the state file in a remote backend such as S3 with locking enabled. This prevents simultaneous edits and keeps the state file versioned and accessible to all authorized users.
