Infrastructure as Code (IaC)

A list of tools for defining and managing infrastructure through code. Compare major tools like Terraform, Ansible, AWS CloudFormation, and Pulumi.

NoNameDescriptionTrendLicenseTypeOfficial Site
1TerraformOpen-source IaC tool by HashiCorp. Uses HCL (HashiCorp Configuration Language) for multi-cloud infrastructure management. Defines and manages infrastructure declaratively.Most popular in IaC field (70% market share). Rich provider and module ecosystem. Enhanced team collaboration with Terraform Cloud. Established as enterprise standard.MPL-2.0Infrastructure as CodeOfficial
2AnsibleOpen-source automation tool by Red Hat. Agentless remote host management via SSH. Configuration management and automation using YAML-based Playbooks.Established position as configuration management tool. Easy deployment with agentless design. Enhanced enterprise features with Red Hat Ansible Automation Platform. Standard tool for IT automation.GPL v3Configuration ManagementOfficial
3AWS CloudFormationAWS native IaC service. Defines and manages AWS resources using JSON/YAML templates. Features deep AWS service integration and zero-cost usage.Standard IaC tool in AWS environments. Immediate support for new services. Improved developer experience with AWS CDK integration. Rich track record in large-scale AWS environments.CommercialCloud Native IaCOfficial
4PulumiMulti-cloud IaC platform. Defines infrastructure using general-purpose programming languages like TypeScript, Python, Go, C#. Features strong type system and IDE support.Rapid growth with programming language-based IaC description. Strong IDE support and type safety. Optimal for cloud-native application development. Gaining attention with developer-friendly approach.Apache License 2.0Modern IaCOfficial
5AWS CDKAWS Cloud Development Kit. Framework for defining AWS resources using programming languages like TypeScript, Python, Java. Automatically generates CloudFormation templates.Growing popularity among AWS developers. IaC leveraging programming language advantages. Full compatibility with CloudFormation. High reliability with official AWS support.Apache License 2.0AWS IaC FrameworkOfficial
6ChefConfiguration management and automation platform using Ruby DSL. Pioneer in Infrastructure as Code. Agent-based configuration management.Historic configuration management tool but declining new adoption. Mainly continued use in existing environments. Continued use with Chef InSpec for compliance automation specialized purposes.Apache License 2.0Configuration ManagementOfficial
7PuppetConfiguration management tool using declarative language. Strong in infrastructure automation for large-scale environments. Agent-based configuration management achieving compliance and state management.Rich track record in enterprise environments but declining new adoption. Legacy system management and continued use in large-scale environments. Also supports ad-hoc automation with Puppet Bolt.Apache License 2.0Configuration ManagementOfficial
8Azure Resource ManagerMicrosoft Azure native IaC service. Defines and manages Azure resources using ARM templates (JSON) or Bicep language. Complete integration with Azure services.Standard IaC tool in Azure environments. Bicep language significantly simplifies template description. CI/CD integration with Azure DevOps. Expanding adoption in Microsoft environments.CommercialCloud Native IaCOfficial
9Google Cloud Deployment ManagerGoogle Cloud native IaC service. Defines and manages GCP resources using YAML, Python, Jinja2 templates. Deep integration with Google Cloud services.Standard tool in GCP environments but losing market share to Terraform. Google Cloud recommended but limited adoption in new projects. Mainly continued use in existing projects.CommercialCloud Native IaCOfficial
10Kubernetes YAMLKubernetes native resource definition method. Declaratively manages Kubernetes cluster resources (Pod, Service, Deployment, etc.) in YAML format.Essential technology in Kubernetes environments. Templating and customization with Helm and kustomize. Expanding use in GitOps workflows. Standard for container orchestration.Apache License 2.0Container OrchestrationOfficial