# AWS CDK vs OpenTofu

**Leader by vioscaleAI score:** AWS CDK

| Attribute | AWS CDK | OpenTofu |
|---|---|---|
| **vioscaleAI score** | 70 (75% (high)) | 59.5 (33% (low)) |
| activity.commits_last_30d | 99 | 100 |
| adoption.dependent_repos | 4,665 | 0 |
| adoption.github_stars | 12,933 | 30,387 |
| adoption.package_downloads_weekly | 1,569,573 | - |
| content.faq | `[{"answer":"A development framework that lets you define AWS cloud resources and infrastructure using standard programming languages like TypeScript, Python, Java, .NET, and Go. CDK compiles your code into CloudFormation templates for deployment. It is indexed under Infrastructure as Code Tools.","source":"https://aws.amazon.com/pricing/?nc2=h_pr_hub","question":"What is AWS CDK?","confidence":0.6},{"answer":"AWS CDK is open source, so it can be self-hosted and used at no licence cost. It is released under the Apache-2.0 licence. Pricing changes often, so verify at source before relying on it.","source":"https://aws.amazon.com/pricing/?nc2=h_pr_hub","question":"Is AWS CDK free to use?","confidence":0.6},{"answer":"AWS CDK supports a command-line interface. Platforms we have not confirmed are simply not listed here rather than ruled out.","source":"https://aws.amazon.com/pricing/?nc2=h_pr_hub","question":"What platforms does AWS CDK support?","confidence":0.6},{"answer":"Yes. AWS CDK can be deployed self-hosted, so it does not have to run on the vendor's infrastructure.","source":"https://aws.amazon.com/pricing/?nc2=h_pr_hub","question":"Can AWS CDK be self-hosted?","confidence":0.6},{"answer":"We have confirmed 5 integrations for AWS CDK, including AWS CloudFormation, AWS Lambda, AWS SNS, AWS Step Functions and AWS EC2. This is what we could verify from public sources, so the vendor may support others we have not indexed.","source":"https://aws.amazon.com/ec2/pricing/?nc2=h_pr_ec2","question":"What does AWS CDK integrate with?","confidence":0.6},{"answer":"We have independently confirmed HIPAA for AWS CDK. Certifications we do not list are ones we have not been able to verify from public sources, which is not the same as AWS CDK not holding them. Always confirm compliance directly before you rely on it.","source":"https://aws.amazon.com/trust-center/?nc1=f_cc","question":"What security certifications does AWS CDK have?","confidence":0.7},{"answer":"Yes. AWS CDK is published under the Apache-2.0 licence, a permissive licence that generally allows commercial use and modification. Licence terms can change between releases, so verify against the repository for the version you intend to use.","source":"https://github.com/aws/aws-cdk","question":"Is AWS CDK open source?","confidence":0.99},{"answer":"AWS CDK is available worldwide. The vendor is headquartered in the United States.","source":"https://aws.amazon.com/pricing/?nc2=h_pr_hub","question":"Where is AWS CDK available?","confidence":0.75}]` | `[{"answer":"OpenTofu is a community-driven tool for provisioning and managing infrastructure across multiple cloud providers. It provides execution planning before changes are applied and manages infrastructure state with built-in encryption support. It is indexed under Infrastructure as Code Tools.","source":"https://opentofu.org/docs/v1.11/cli/commands/plan/","question":"What is OpenTofu?","confidence":0.6},{"answer":"OpenTofu is open source, so it can be self-hosted and used at no licence cost. It is released under the MPL-2.0 licence. Pricing changes often, so verify at source before relying on it.","source":"https://opentofu.org/docs/v1.10/cli/commands/plan/","question":"Is OpenTofu free to use?","confidence":0.6},{"answer":"OpenTofu supports Windows, macOS, Linux and a command-line interface. Platforms we have not confirmed are simply not listed here rather than ruled out.","source":"https://opentofu.org/docs/v1.11/cli/commands/plan/","question":"What platforms does OpenTofu support?","confidence":0.6},{"answer":"Yes. OpenTofu can be deployed self-hosted, so it does not have to run on the vendor's infrastructure.","source":"https://opentofu.org/docs/v1.11/cli/commands/plan/","question":"Can OpenTofu be self-hosted?","confidence":0.6},{"answer":"We have confirmed 14 integrations for OpenTofu, including AWS, Cloudflare, GitHub, Terraform Cloud, Terraform Enterprise, Scalr, Spacelift and env0, plus 6 more. This is what we could verify from public sources, so the vendor may support others we have not indexed.","source":"https://opentofu.org/docs/v1.10/cli/commands/plan/","question":"What does OpenTofu integrate with?","confidence":0.6},{"answer":"We have independently confirmed GDPR for OpenTofu. Certifications we do not list are ones we have not been able to verify from public sources, which is not the same as OpenTofu not holding them. Always confirm compliance directly before you rely on it.","source":"https://opentofu.org/privacy/","question":"What security certifications does OpenTofu have?","confidence":0.7},{"answer":"Yes. OpenTofu is published under the MPL-2.0 licence, a permissive licence that generally allows commercial use and modification. Licence terms can change between releases, so verify against the repository for the version you intend to use.","source":"https://github.com/opentofu/opentofu","question":"Is OpenTofu open source?","confidence":0.95}]` |
| deployment.options | `{"cloud":true}` | `{"self_hosted":true}` |
| description.long | A development framework that lets you define AWS cloud resources and infrastructure using standard programming languages like TypeScript, Python, Java, .NET, and Go. CDK compiles your code into CloudFormation templates for deployment. | An open-source platform for declaratively defining and managing cloud infrastructure through configuration language, supporting multi-cloud deployments with built-in state management and execution planning. |
| features.capabilities | `{"language":"TypeScript, Python, Java, .NET, Go","paradigm":"general_language","multicloud":false,"policy_as_code":true,"drift_detection":true,"import_existing":true,"state_management":"vendor_managed","open_source_engine":true,"provider_ecosystem":true,"managed_saas_offering":false}` | `{"hosting":"self","language":"HCL","paradigm":"declarative_dsl","multicloud":true,"policy_as_code":false,"drift_detection":true,"import_existing":true,"state_management":"self_managed","open_source_engine":true,"provider_ecosystem":true,"gitops_reconciliation":true,"managed_saas_offering":false}` |
| integrations.count | 5 | 3,900 |
| integrations.list | `[{"name":"AWS CloudFormation"},{"name":"AWS Lambda"},{"name":"AWS SNS"},{"name":"AWS Step Functions"},{"name":"AWS EC2"}]` | `[{"name":"AWS"},{"name":"Cloudflare"},{"name":"GitHub"},{"name":"Terraform Cloud"},{"name":"Terraform Enterprise"},{"name":"Scalr"},{"name":"Spacelift"},{"name":"env0"},{"name":"Digger"},{"name":"Terrateam"},{"name":"Qovery"},{"name":"Argonaut"},{"name":"Finisterra"},{"name":"AutoCloud"}]` |
| language.primary | TypeScript | Go |
| license.spdx | Apache-2.0 | MPL-2.0 |
| market.availability | `{"hqCountry":"US","primaryMarkets":[],"availabilityScope":"global","availableCountries":[],"notAvailableCountries":[]}` | `{"primaryMarkets":[],"availabilityScope":"global","availableCountries":[],"notAvailableCountries":[]}` |
| platform.support | `{"cli":true}` | `{"cli":true,"mac":true,"linux":true,"windows":true}` |
| pricing | `{"type":"open_source","freeTier":true,"sourceUrl":"https://aws.amazon.com/pricing/?nc2=h_pr_hub","retrievedAt":"2026-08-14T21:53:47.459Z"}` | `{"type":"open_source","summary":"Free and open source (MPL-2.0 license)","freeTier":true,"sourceUrl":"https://opentofu.org/docs/v1.10/cli/commands/plan/","retrievedAt":"2026-08-14T21:32:43.822Z"}` |
| pricing.free_tier | yes | yes |
| pricing.model | open_source | commercial |
| pricing.price_level | free | free |
| pricing.transparent | yes | yes |
| release.cadence_days | 6 | 4 |
| release.history | `[{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.273.0","date":"2026-10-08T20:09:54Z","type":"stable","version":"v2.273.0"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.272.0","date":"2026-09-30T14:12:24Z","type":"stable","version":"v2.272.0"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.271.0","date":"2026-09-25T18:49:23Z","type":"stable","version":"v2.271.0"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.270.0","date":"2026-09-17T18:35:54Z","type":"stable","version":"v2.270.0"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.269.0","date":"2026-09-10T21:09:27Z","type":"stable","version":"v2.269.0"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.268.0","date":"2026-09-02T19:42:48Z","type":"stable","version":"v2.268.0"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.267.0","date":"2026-08-27T18:35:43Z","type":"stable","version":"v2.267.0"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.266.0","date":"2026-08-19T19:02:29Z","type":"stable","version":"v2.266.0"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.265.0","date":"2026-08-13T19:48:20Z","type":"stable","version":"v2.265.0"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.264.0","date":"2026-08-10T18:02:37Z","type":"stable","version":"v2.264.0"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.263.0","date":"2026-07-31T16:57:22Z","type":"stable","version":"v2.263.0"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.262.2","date":"2026-07-29T14:24:40Z","type":"stable","version":"v2.262.2"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.262.1","date":"2026-07-24T14:54:56Z","type":"stable","version":"v2.262.1"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.262.0","date":"2026-07-22T20:53:52Z","type":"stable","version":"v2.262.0"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.261.0","date":"2026-07-02T16:42:15Z","type":"stable","version":"v2.261.0"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.260.0","date":"2026-06-16T23:45:38Z","type":"stable","version":"v2.260.0"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.259.0","date":"2026-06-12T09:53:11Z","type":"stable","version":"v2.259.0"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.258.1","date":"2026-06-09T09:30:30Z","type":"stable","version":"v2.258.1"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.258.0","date":"2026-06-04T20:43:31Z","type":"stable","version":"v2.258.0"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.257.0","date":"2026-05-21T20:24:32Z","type":"stable","version":"v2.257.0"}]` | `[{"url":"https://github.com/opentofu/opentofu/releases/tag/v1.13.1","date":"2026-10-01T17:15:15Z","type":"stable","version":"v1.13.1"},{"url":"https://github.com/opentofu/opentofu/releases/tag/v1.12.7","date":"2026-10-01T18:40:21Z","type":"stable","version":"v1.12.7"},{"url":"https://github.com/opentofu/opentofu/releases/tag/v1.13.0","date":"2026-09-30T13:57:49Z","type":"stable","version":"v1.13.0"},{"url":"https://github.com/opentofu/opentofu/releases/tag/v1.13.0-rc1","date":"2026-09-17T15:24:48Z","type":"prerelease","version":"v1.13.0-rc1"},{"url":"https://github.com/opentofu/opentofu/releases/tag/v1.13.0-beta1","date":"2026-08-27T18:01:40Z","type":"prerelease","version":"v1.13.0-beta1"},{"url":"https://github.com/opentofu/opentofu/releases/tag/v1.12.6","date":"2026-08-19T11:40:07Z","type":"stable","version":"v1.12.6"},{"url":"https://github.com/opentofu/opentofu/releases/tag/v1.11.14","date":"2026-08-19T11:39:12Z","type":"stable","version":"v1.11.14"},{"url":"https://github.com/opentofu/opentofu/releases/tag/v1.12.5","date":"2026-07-21T11:39:19Z","type":"stable","version":"v1.12.5"},{"url":"https://github.com/opentofu/opentofu/releases/tag/v1.11.13","date":"2026-07-21T11:39:02Z","type":"stable","version":"v1.11.13"},{"url":"https://github.com/opentofu/opentofu/releases/tag/v1.12.4","date":"2026-07-13T16:07:42Z","type":"stable","version":"v1.12.4"},{"url":"https://github.com/opentofu/opentofu/releases/tag/v1.11.12","date":"2026-07-13T16:07:11Z","type":"stable","version":"v1.11.12"},{"url":"https://github.com/opentofu/opentofu/releases/tag/v1.11.11","date":"2026-06-23T13:24:06Z","type":"stable","version":"v1.11.11"},{"url":"https://github.com/opentofu/opentofu/releases/tag/v1.12.3","date":"2026-06-18T15:03:59Z","type":"stable","version":"v1.12.3"},{"url":"https://github.com/opentofu/opentofu/releases/tag/v1.11.10","date":"2026-06-18T15:03:51Z","type":"stable","version":"v1.11.10"},{"url":"https://github.com/opentofu/opentofu/releases/tag/v1.12.2","date":"2026-06-12T15:26:49Z","type":"stable","version":"v1.12.2"},{"url":"https://github.com/opentofu/opentofu/releases/tag/v1.11.9","date":"2026-06-12T16:11:30Z","type":"stable","version":"v1.11.9"},{"url":"https://github.com/opentofu/opentofu/releases/tag/v1.12.1","date":"2026-05-27T10:44:28Z","type":"stable","version":"v1.12.1"},{"url":"https://github.com/opentofu/opentofu/releases/tag/v1.12.0","date":"2026-05-14T11:57:20Z","type":"stable","version":"v1.12.0"},{"url":"https://github.com/opentofu/opentofu/releases/tag/v1.11.8","date":"2026-05-14T09:47:13Z","type":"stable","version":"v1.11.8"},{"url":"https://github.com/opentofu/opentofu/releases/tag/v1.11.7","date":"2026-05-11T12:16:08Z","type":"stable","version":"v1.11.7"}]` |
| reliability.status_page | yes | yes |
| security.disclosure_policy | yes | - |
| security.fedramp | yes | - |
| security.gdpr | yes | yes |
| security.hipaa | yes | - |
| security.pci | yes | - |
| security.scorecard | 5.9 | - |
| security.soc2 | yes | - |
| security.trust_center | https://aws.amazon.com/compliance/?nc2=h_dsc_aa_cmp | - |
| security.vulnerabilities | `{"count":8,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&package_name=aws-cdk-lib&per_page=100","last_12m":3,"max_severity":"HIGH"}` | `{"count":9,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=go&package_name=github.com%2FOpenTofu%2FOpenTofu&per_page=100","last_12m":8,"max_severity":"HIGH"}` |

## Capabilities (Infrastructure as Code Tools)

| Capability | AWS CDK | OpenTofu |
|---|:--:|:--:|
| **Core** |  |  |
| Paradigm | General language | Declarative DSL |
| Language | TypeScript, Python, Java, .NET, Go | HCL |
| **Portability** |  |  |
| Multicloud / cloud-agnostic | ✗ | ✓ |
| **Architecture** |  |  |
| State management | Vendor-managed | Self-managed |
| **Extensibility** |  |  |
| Pluggable provider ecosystem | ✓ | ✓ |
| **Governance** |  |  |
| Policy as code | ✓ | ✗ |
| **Ops** |  |  |
| Drift detection | ✓ | ✓ |
| GitOps continuous reconciliation | - | ✓ |
| **Deployment** |  |  |
| Managed SaaS offering | ✗ | ✗ |
| Hosting | - | Self-hosted only |
| **Adoption** |  |  |
| Import existing resources | ✓ | ✓ |
| **Licensing** |  |  |
| Open-source engine | ✓ | ✓ |
| **Ecosystem** |  |  |
| CNCF maturity | - | - |

*Source: vioscaleAI. Generated 2026-10-16T19:05:21.327Z. "-" = undocumented, not absent.*
