100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
DevOps

AWS CDK

By Amazon Web Services

AdvancedFramework6.3K learners

AWS CDK (Cloud Development Kit) is an open source framework from AWS that lets developers define cloud infrastructure using general-purpose programming languages, which synthesize into AWS CloudFormation templates.

Definition

AWS CDK (Cloud Development Kit) is an open source framework from AWS that lets developers define cloud infrastructure using general-purpose programming languages, which synthesize into AWS CloudFormation templates.

Overview

AWS CDK was built to give developers an alternative to writing raw CloudFormation YAML or JSON templates by hand. Instead, developers write infrastructure definitions in a supported programming language — TypeScript, Python, Java, C#, or Go — using CDK's object-oriented constructs, and the CDK toolkit synthesizes that code into standard CloudFormation templates, which AWS then provisions using its existing CloudFormation engine. A central concept in CDK is the "construct" — a reusable, composable class that represents one or more AWS resources, ranging from low-level constructs mapping directly to CloudFormation resources, to high-level constructs that encapsulate best-practice patterns (like a fully configured web application with a load balancer, auto-scaling group, and database) behind a few lines of code. This lets teams build and share reusable infrastructure abstractions the same way they'd share application code libraries. Because it compiles down to CloudFormation, AWS CDK inherits CloudFormation's deployment model, state tracking, and rollback behavior, while adding a more expressive authoring experience on top. It's AWS-specific, unlike multi-cloud alternatives such as Terraform, OpenTofu, or CDKTF, and is commonly used by teams fully committed to AWS who want infrastructure code that integrates naturally with their application codebase, a pattern covered in SkillVeris's AWS Solutions Architect course.

Key Features

  • Infrastructure defined in TypeScript, Python, Java, C#, or Go
  • Synthesizes to standard AWS CloudFormation templates for provisioning
  • Reusable "constructs" ranging from low-level resources to high-level best-practice patterns
  • Construct Hub ecosystem for sharing and discovering community-built constructs
  • Integrated with CloudFormation's change sets, rollback, and drift detection
  • CDK CLI for synthesizing, diffing, and deploying infrastructure changes

Use Cases

Defining AWS infrastructure using the same language as application code
Building reusable, shareable infrastructure abstractions across teams
Reducing boilerplate compared to hand-written CloudFormation templates
Encapsulating best-practice architecture patterns behind simple APIs
Managing complex, multi-resource AWS deployments with programming logic

Frequently Asked Questions