
Terraform
HashiCorp Terraform is an Infrastructure-as-Code tool that lets you define both cloud and on-premises resources in human-readable configuration files that you can version, reuse and share. As a result, you can use a consistent workflow to deploy and manage your entire infrastructure throughout its lifecycle. Terraform can manage low-level components such as compute, storage and network resources, as well as high-level components such as DNS records and SaaS capabilities.
Providers:
All cloud providers
Multi-cloud
Hybrid cloud
Language:
HashiCorp Configuration Language (HCL)
JSON compatibleHybrid cloud
test

AWS CDK
AWS CDK is an open source framework that enables you to model and deploy AWS cloud resources using the programming language of your choice. It lets you model application infrastructure using TypeScript, Python, Java, or .NET. Behind the scenes, the framework uses AWS CloudFormation to deploy resources in a secure and repeatable manner.
Provider:
AWS
Languages:
TypeScript, JavaScript, Python, Java, C#, Go

Pulumi
Pulumi is an open source infrastructure-as-code tool that allows you to build, deploy, and manage cloud infrastructure using common programming languages and tools.
Unlike Terraform, which has its own language and syntax for defining infrastructure as code, Pulumi uses real languages. You can write configuration files in Python, JavaScript, or TypeScript. In other words, you are not forced to learn a new programming language just to manage infrastructure.
Providers:
AWS, Microsoft Azure, Google Cloud Platform, Kubernetes, VMware, etc.
Languages:
TypeScript, Python, JavaScript, Go, .NET (C#)

AWS Cloud Formation
AWS CloudFormation is a service for deploying AWS infrastructure with code. It allows you to model a collection of related resources, both AWS and third-party, and deploy them quickly and consistently.
Provider:
AWS
Languages:
JSON, YAML

Microsoft Bicep
Bicep is a domain-specific language (DSL) that uses a declarative syntax for deploying Azure resources. In a Bicep file, you define the infrastructure you want to deploy in Azure, and then use that file throughout your development lifecycle to repeatedly deploy your infrastructure. Your resources are deployed consistently.
Bicep provides concise syntax, reliable type safety, and support for code reuse. Bicep provides a best-in-class authoring experience for your Infrastructure-as-Code solutions in Azure.
Provider:
Microsoft Azure
Languages:
Bicep, JSON

Google Cloud Deployment Manager
Google Cloud Deployment Manager is an infrastructure deployment service that automates the creation and management of Google Cloud resources. With this service, you can create flexible templates and configuration files and use them to create multi-service deployments (cloud storage, compute engine, cloud SQL, etc.).
Google Cloud Deployment Manager also provides languages such as Jinja or Python that you can use to define the resources you want. This allows you to use a declarative language to define the resources, helping you to specify their properties and granularity.
Provider:
Google Cloud Platform
Languages:
Python, Jinja2






