Compare tools

Side-by-side facts pulled from official documentation.

AnsibleConfiguration managementDeclarative YAML playbooksNot stated in official docsYAMLNo separate state backend
AWS CDKInfrastructure provisioningGeneral-purpose programming languagesAWSTypeScript, JavaScript, Python, Java, C#, GoCloudFormation-managed (stack state)
AWS CloudFormationInfrastructure provisioningDeclarative templatesAWSYAML, JSONService-managed (stack state)
Chef InfraConfiguration managementChef Infra resources and recipesNot stated in official docsRuby DSLNo separate state backend
CrossplaneControl plane and orchestrationKubernetes custom resources (declarative APIs)Kubernetes-based control planesKubernetes YAMLKubernetes API state
formaeInfrastructure provisioningDeclarative code (Pkl)Not stated in official docsPklNo separate state backend
OpenTofuInfrastructure provisioningDeclarative configuration (OpenTofu language)Multi-cloudOpenTofu languageOpenTofu state backend (local or remote)
PulumiInfrastructure provisioningGeneral-purpose programming languages (and YAML)Multi-cloudTypeScript, JavaScript, Python, Go, .NET, Java, YAMLPulumi state backend (managed or self-managed)
PuppetConfiguration managementDeclarative Puppet languageNot stated in official docsPuppet DSLNo separate state backend
TerraformInfrastructure provisioningDeclarative configuration language (HCL)Multi-cloudHCLTerraform state backend (local or remote)