Back to Infrastructure as Code

AWS CDK

Amazon's Infrastructure as Code framework for defining AWS cloud resources using familiar programming languages.

AWS Cloud Development Kit (CDK) is an Infrastructure as Code framework by Amazon that lets you define AWS cloud resources using TypeScript, Python, Java, C#, and Go. It provides high-level constructs that encapsulate best practices and defaults, making it easier to build production-ready AWS infrastructure. CDK supports synthesis to CloudFormation templates, allowing use of existing AWS tooling. It includes a large library of construct libraries maintained by AWS and the community.

4.4/5 (890 reviews) Free (open-source framework), standard AWS resource pricing applies

Features

Drift Detection

Detect and report manual changes outside of IaC

CloudFormation drift detection

Kubernetes-Native

Built on Kubernetes CRDs for native K8s experience

Not K8s-native, uses EKS construct library

Module/Package Registry

Reusable infrastructure components managed via registry

AWS CDK Construct Library, Construct Hub

Multi-Cloud Support

Provision infrastructure across AWS, Azure, GCP and others

AWS-focused, limited multi-cloud via custom resources

Policy as Code

Define and enforce infrastructure policies programmatically

AWS Config rules, Service Control Policies (separate)

Preview/Plan

Preview infrastructure changes before applying them

cdk diff and CloudFormation change sets

Programming Languages

Use general-purpose languages instead of DSL

TypeScript, Python, Java, C#, Go, .NET

Secret Management

Handle sensitive values like passwords and API keys

AWS Secrets Manager, Parameter Store integration

State Management

Track and manage infrastructure state over time

AWS CloudFormation state management

Team Collaboration

Multi-user support with RBAC and audit logs

AWS IAM, CloudFormation StackSets for multi-account

Related Links