IaC

Infrastructure as Code Tools: The 2026 Guide

The IaC tools platform teams use in 2026: Terraform, OpenTofu, Pulumi, CloudFormation, CDK, Bicep, Crossplane and Ansible, and the platforms that run them.

2026-11-09 · 6 min read

"Infrastructure as code tools" covers three different layers, and most comparisons mix them up:

  1. Languages and engines that describe infrastructure and apply it: Terraform, OpenTofu, Pulumi, CloudFormation.
  2. Platforms that run those engines for a team: remote runs, state, policy, approvals. HCP Terraform, Spacelift, env0, Scalr, Atlantis.
  3. Governance around them: drift detection, risk-based review, audit.

Pick the engine first. The platform and governance choices depend on it.

IaC tools at a glance

ToolHow you write itCloudsStateBest for
TerraformHCLAny, through providersState file you storeThe default for multi-cloud teams
OpenTofuHCLAny, through providersState file you store, optional encryptionTerraform users who want an open-source license
PulumiTypeScript, Python, Go, C#, Java, YAMLAny, through providersPulumi Cloud or your own backendTeams that want real programming languages
AWS CloudFormationJSON or YAMLAWSManaged by AWSAWS-only shops that want AWS to hold state
AWS CDKTypeScript, Python, Java, C#, GoAWSThrough CloudFormationAWS teams who prefer code to templates
Azure BicepBicep languageAzureAzure itself, no state fileAzure-only teams
CrossplaneKubernetes YAMLAny, through providersKubernetes APIPlatform teams building on Kubernetes
AnsibleYAML playbooksAnyNoneConfiguring servers and apps after provisioning

Terraform

The most widely used IaC tool. You describe resources in HCL, Terraform compares them with a state file, and plan shows exactly what will change before apply changes it. Thousands of providers cover every major cloud and most SaaS products.

  • Choose it when you run more than one cloud, or want the biggest pool of modules, examples, and engineers who already know it.
  • Watch for the license. Since August 2023 Terraform uses the Business Source License, which restricts some competing commercial uses. Most teams using it internally are unaffected.
  • Read next: Terraform best practices that hold up in production, and complete Terraform examples for common AWS and Google Cloud architectures.

OpenTofu

The open-source fork of Terraform, maintained under the Linux Foundation with the MPL 2.0 license. It reads the same HCL and state format and works with the same providers, and has added features of its own, such as state encryption.

  • Choose it when you want Terraform's workflow under an open-source license, or need a feature OpenTofu has shipped first.
  • Watch for small differences between versions. Pin the CLI in CI and rehearse the switch on a copy of state.
  • Read next: Terraform vs OpenTofu and the OpenTofu migration checklist.

Pulumi

Infrastructure written in general-purpose languages instead of a configuration language. You get loops, functions, types, unit tests, and your normal package manager.

  • Choose it when your team is stronger in TypeScript or Python than in HCL, or your infrastructure needs real logic.
  • Watch for code review. Programs can hide what will change; always review the pulumi preview output, not just the code diff.

AWS CloudFormation and AWS CDK

CloudFormation is AWS's own IaC service: JSON or YAML templates, with state held by AWS and built-in drift detection. The AWS CDK lets you write the same thing in TypeScript, Python, Java, C#, or Go, and turns it into CloudFormation.

  • Choose them when you are AWS-only and want AWS to own state and rollback.
  • Watch for lock-in. Neither manages other clouds or most SaaS products.

Azure Bicep

Microsoft's language for Azure resources. It compiles to ARM templates, has no state file to manage, and offers a what-if preview before deploying.

  • Choose it when you are Azure-only and want first-party support on the day new Azure features ship.
  • Watch for the same lock-in as CloudFormation.

Crossplane

Crossplane turns Kubernetes into the control plane for cloud resources. You declare a database or a bucket as a Kubernetes object, and Crossplane keeps reconciling it, so drift is corrected continuously.

  • Choose it when your platform team already runs everything through Kubernetes and wants self-service APIs for developers.
  • Watch for the operating cost: you are running a control plane that your infrastructure depends on.

Ansible

Ansible configures machines and applications: packages, files, services. It can create cloud resources, but it keeps no state, so it cannot show a plan of what will change or detect drift the way Terraform can.

  • Choose it when you need to configure servers after they exist. Many teams provision with Terraform and configure with Ansible.

Platforms that run IaC for a team

Once more than a few people apply changes, you need somewhere other than a laptop to run plans: remote state, locking, policy, approvals, and an audit trail. The usual options are HCP Terraform, Spacelift, env0, Scalr, and the open-source Atlantis.

We compare them in Terraform Cloud alternatives and Spacelift alternatives.

Governance: drift, approvals, and policy

Every tool above can tell you what it is about to change. Few tell you what changed without it. Console edits, scripts, and incidents create drift, and someone has to decide whether to import it, reconcile it, or accept it.

OrchesTerra sits in this layer. It generates Terraform or OpenTofu from an existing repository, then detects drift and routes fixes through approvals and policy packs across AWS, Azure, GCP, and OCI.

How to choose an IaC tool

  1. One cloud or several? One: the native tool is reasonable. Several: Terraform, OpenTofu, or Pulumi.
  2. Who writes it? Infrastructure engineers usually prefer HCL. Application developers often prefer Pulumi or CDK.
  3. Does the license matter to you? If you need an open-source license, choose OpenTofu over Terraform.
  4. Do you already run Kubernetes for everything? Then Crossplane is worth a look.
  5. How will changes be reviewed and drift handled? Decide before you have fifty workspaces, not after.

For most multi-cloud teams in 2026, the practical default is Terraform or OpenTofu for provisioning, Ansible only where servers need configuring, and a platform plus a governance layer once the team grows.

Platform evaluation

See OrchesTerra on your infrastructure

Request access to generate architecture from a repository, review the plan, and run governed reconciliation across AWS, Azure, GCP, and OCI.