# AWS CDK vs AWS CloudFormation

| Attribute | AWS CDK | AWS CloudFormation |
|---|---|---|
| **Vioscale score** | 65 (76% (high)) | 60.3 (73% (medium)) |
| activity.commits_last_30d | 100 | - |
| adoption.dependent_repos | 4,665 | - |
| adoption.github_stars | 12,876 | - |
| adoption.package_downloads_weekly | 1,691,427 | - |
| deployment.options | `{"self_hosted":true}` | `{"cloud":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. | A managed service for provisioning and managing AWS and third-party cloud resources through declarative templates (JSON/YAML) or programmatic languages. Automates infrastructure deployment across regions and accounts, detects configuration drift, and provides automatic rollback on errors. |
| 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":"cloud","language":"JSON, YAML, TypeScript, Python, Java, .NET","paradigm":"declarative_dsl","multicloud":false,"policy_as_code":true,"drift_detection":true,"import_existing":true,"state_management":"vendor_managed","open_source_engine":false,"provider_ecosystem":true,"gitops_reconciliation":true,"managed_saas_offering":true}` |
| integrations.count | 5 | 21 |
| integrations.list | `[{"name":"AWS CloudFormation"},{"name":"AWS Lambda"},{"name":"AWS SNS"},{"name":"AWS Step Functions"},{"name":"AWS EC2"}]` | `[{"name":"MongoDB"},{"name":"Datadog"},{"name":"Atlassian Opsgenie"},{"name":"JFrog"},{"name":"Trend Micro"},{"name":"Splunk"},{"name":"Aqua Security"},{"name":"FireEye"},{"name":"Sysdig"},{"name":"Snyk"},{"name":"Check Point"},{"name":"Spot by NetApp"},{"name":"Gremlin"},{"name":"Stackery"},{"name":"Iridium"},{"name":"AWS CDK"},{"name":"AWS SAM (Serverless Application Model)"},{"name":"Visual Studio"},{"name":"Kiro"},{"name":"AWS CloudFormation Registry"},{"name":"AWS Partner Network (APN)"}]` |
| language.primary | TypeScript | - |
| license.spdx | Apache-2.0 | - |
| market.availability | `{"hqCountry":"US","primaryMarkets":[],"availabilityScope":"global","availableCountries":[],"notAvailableCountries":[]}` | `{"hqCountry":"US","primaryMarkets":[],"availabilityScope":"global","availableCountries":[],"notAvailableCountries":[]}` |
| platform.support | `{"cli":true}` | `{"cli":true,"web":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":"usage","plans":[{"free":false,"name":"Third-party Resources & Custom Hooks","summary":"$0.0009/handler operation after 1,000 free ops/month","features":["Unlimited AWS::* and Alexa::* resource operations (no handler charges)","Third-party resource provisioning","Custom hook support","Handler operation billing after free tier","Duration overage billing"],"components":[{"per":{"qty":1,"unit":"handler operation"},"kind":"metered","amount":0.0009,"currency":"USD"},{"per":{"qty":1,"unit":"second"},"kind":"metered","amount":0.00008,"currency":"USD","description":"Duration overage beyond 30 seconds per operation"}],"description":"Pay-per-operation model for third-party resource providers and custom hooks","contactSales":false,"includedLimits":{"free_handler_operations":"1,000/month","free_duration_per_operation":"30 seconds"}}],"summary":"Usage-based: $0.0009/handler operation + $0.00008/sec overage. 1,000 free operations/month. Data transfer at AWS rates.","currency":"USD","freeTier":true,"sourceUrl":"https://aws.amazon.com/cloudformation/pricing/","retrievedAt":"2026-08-14T16:36:19.015Z","startingPrice":{"amount":0.00008,"period":"month","currency":"USD"}}` |
| pricing.free_tier | yes | yes |
| pricing.model | open_source | freemium |
| pricing.price_level | free | low |
| pricing.transparent | yes | yes |
| release.cadence_days | 4 | - |
| release.history | `[{"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/aws/aws-cdk/releases/tag/v2.256.1","date":"2026-05-20T15:48:47Z","type":"stable","version":"v2.256.1"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.256.0","date":"2026-05-19T23:02:53Z","type":"stable","version":"v2.256.0"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.255.0","date":"2026-05-19T11:26:34Z","type":"stable","version":"v2.255.0"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.254.0","date":"2026-05-13T22:07:55Z","type":"stable","version":"v2.254.0"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.253.1","date":"2026-05-08T16:13:36Z","type":"stable","version":"v2.253.1"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.253.0","date":"2026-05-06T17:51:15Z","type":"stable","version":"v2.253.0"},{"url":"https://github.com/aws/aws-cdk/releases/tag/v2.252.0","date":"2026-04-30T12:40:15Z","type":"stable","version":"v2.252.0"}]` | - |
| reliability.status_page | yes | yes |
| security.disclosure_policy | yes | yes |
| security.fedramp | - | yes |
| security.gdpr | - | yes |
| security.hipaa | yes | yes |
| security.pci | yes | yes |
| security.scorecard | 5.9 | - |
| 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"}` | - |

## Capabilities (Infrastructure as Code Tools)

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

*Source: Vioscale. Generated 2026-09-01T16:53:41.064Z. "-" = undocumented, not absent.*
