AWS CDK vs Pulumi
AWS CDK
aws.amazon.comPulumi
pulumi.comSide by side
| Figure | AWS CDK | Pulumi |
|---|---|---|
| Price from | Free | $40/mo |
| Free plan | Yes | Yes |
| Free trial | — | Yes |
| Open source | — | — |
| Web | — | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 4 |
| Spec score · Infrastructure as Code Tools | 8.0 (#7) | 8.1 (#6) |
| Spec score · Infrastructure Automation | 8.0 (#10) | 8.2 (#9) |
| Spec score · Orchestration / Provisioning Software | 8.0 (#14) | 8.2 (#10) |
| CI/CD | CDK Pipelines supports deploying applications through CI/CD pipelines to testing, integration, and production environments. | Pulumi Deployments integrates with AWS Code Services, Azure DevOps, Bitbucket, CircleCI, GitHub, GitLab, Google Cloud Build, and Jenkins, among others. |
| Languages | The stable language bindings are TypeScript, JavaScript, Python, Java, C#/.NET, and Go. | Pulumi supports TypeScript, JavaScript, Python, Go, .NET, Java, YAML, and HCL for infrastructure code. |
| Purpose | AWS CDK lets you define cloud application resources using familiar programming languages. | Pulumi helps engineers ship infrastructure faster with Infrastructure as Code in general-purpose languages. |
Plans
In their own words
AWS CDK
AWS CDK is a framework for defining AWS cloud application infrastructure with familiar programming languages and deploying it through AWS CloudFormation. Stable bindings are available for TypeScript, JavaScript, Python, Java, C#/.NET, and Go. The AWS Construct Library supplies reusable constructs for AWS services and features. CDK Pipelines supports CI/CD deployment to testing, integration, and production environments. In Visual Studio Code, the AWS CDK Explorer preview can browse projects, stacks, resources, and policies. The tool supports AWS only and provides managed state, policy as code, drift detection, importing existing resources, and self-hosted execution. CDK itself has no charge, although deployed AWS resources may incur charges. Developers need Node.js 22.x or later regardless of application language. Deployments use configured AWS credentials and IAM roles. AWS recommends IAM security practices, and custom constructs cannot guarantee compliance because general-purpose code can bypass their checks.
Pulumi
Pulumi helps engineers define and manage infrastructure as code using general-purpose languages. Supported languages include TypeScript, JavaScript, Python, Go,.NET, Java, YAML, and HCL, with providers such as AWS, Azure, Google Cloud, Kubernetes, Cloudflare, Datadog, and GitHub. Pulumi ESC centralizes secrets and configuration from major vaults and cloud providers and supports short-lived credentials through OIDC. Pulumi Neo can plan and execute infrastructure tasks, debug deployments, generate code, and provide cloud insights. Pulumi Deployments integrates with CI/CD services including Azure DevOps, Bitbucket, CircleCI, GitHub, GitLab, Google Cloud Build, and Jenkins. The CLI runs on Windows, macOS, and Linux and can use self-managed state backends such as S3, Azure Blob, GCS, or local storage. Listed capabilities include policy as code, drift detection, resource import, and self-hosted execution. The free plan includes one user and up to 500 workflow minutes. Essentials costs $40 a month, Pro $400 a month, and Enterprise $2,000 a month. Pulumi states that its platform is SOC 2 Type II certified.