Terraform

What is Terraform?

Terraform is an infrastructure-as-code tool from HashiCorp. You describe servers, networks and cloud services in configuration files, and Terraform creates or changes the real infrastructure to match.

Talk to an engineer Knowledge base
Server cabinets in a data center hall with a raised tile floor

What it is

Without a tool like this, infrastructure is built by clicking through a web console, and nobody can say afterwards exactly what was set. With Terraform, an engineer writes files that state what should exist: two virtual machines of a given size, a private network, a firewall rule, a storage bucket.

Terraform talks to each platform through a provider, a plugin that knows that platform's API. There are providers for AWS, Microsoft Azure, Google Cloud, DNS services and many others, plus community-maintained providers for Proxmox VE. One configuration can cover several of them.

Plan, apply and state

  • Plan: Terraform compares the files with what exists and lists what it would create, change or delete. Nothing is touched yet.
  • Apply: after someone has read the plan, Terraform makes only those changes.
  • State: Terraform keeps a state file recording which real resources belong to which part of the configuration. It can contain passwords and other sensitive values, so it is stored somewhere protected and shared, not on one laptop.

What a business gets from it

  • A record of the infrastructure: the files, kept in Git, show what exists and why each change was made.
  • No surprises on change day: the plan shows exactly what will happen before anything is deleted.
  • Repeatable environments: a test setup or a second site can be built from the same files as production.

Terraform and Ansible

Terraform creates the infrastructure: the machines, networks and cloud services. Ansible configures what runs on those machines once they exist. Many teams use both.

Licence and OpenTofu

In 2023 HashiCorp moved Terraform from an open-source licence to the Business Source License, which limits use in products that compete with HashiCorp. In response, OpenTofu was started as an open-source fork and is now a Linux Foundation project. It reads the same configuration language. IBM completed its purchase of HashiCorp in 2025.

How KawaConnect works with infrastructure as code

We keep infrastructure as code in version control, run Kubernetes with GitOps, and build Proxmox VE clusters and Microsoft Azure setups. Describing that infrastructure in files lets a build be repeated and every change be traced.

Related services

Cloud infrastructure

Azure, hybrid setups, migrations and recovery planning.

Proxmox consulting

Clusters, high availability and migrations from VMware.

Kubernetes consulting

Clusters changed through Git with GitOps.

Learn more

  • Terraform documentationHashiCorp's guides and reference for the configuration language and the command line.
  • Terraform RegistryThe public catalogue of providers and reusable modules, with documentation for each.
  • OpenTofuThe open-source fork of Terraform, maintained under the Linux Foundation.
  • Terraform on WikipediaA neutral overview of the tool, its history and the 2023 licence change.

Infrastructure built by clicking?

Tell us where your servers and cloud services run. We will explain what describing them in files would take and what it would change for you.

Start a conversation