> For the complete documentation index, see [llms.txt](https://huy312100.gitbook.io/software-development/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://huy312100.gitbook.io/software-development/cloud-service/aws/certificate/clf-c02/cloud-technology-and-services/deploying-and-managing-infrastructure/cdk.md).

# CDK

Cloud Development Kit

### Overview

• Define your cloud infrastructure using a familiar language:

* JavaScript/TypeScript,Python,Java,and.NET

• The code is “compiled” into a CloudFormation template (JSON/YAML)

• You can therefore deploy infrastructure and application runtime code together

* Great for Lambda functions
* Great for Docker containers in ECS / EKS

<figure><img src="https://1722711354-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwNXdoUkfmcozr29fRrfb%2Fuploads%2FwOEpe7IGjwHUNBaeedbf%2FScreenshot%202023-12-23%20at%2014.51.56.png?alt=media&amp;token=207e4edf-69f9-4095-b377-d28363dbf4ee" alt=""><figcaption></figcaption></figure>

### Example

<figure><img src="https://1722711354-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwNXdoUkfmcozr29fRrfb%2Fuploads%2FIl5BEJ0pNpEa1QFxdIoA%2FScreenshot%202023-12-23%20at%2014.53.05.png?alt=media&amp;token=e89b09e6-c967-416b-a2fb-5ebb95c2add1" alt=""><figcaption></figcaption></figure>

### Typical architecture: Web App 3-tier

<figure><img src="https://1722711354-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwNXdoUkfmcozr29fRrfb%2Fuploads%2FcQKm1LV2I79xAItx7E5S%2FScreenshot%202023-12-23%20at%2014.55.12.png?alt=media&amp;token=da11b713-2baf-41f8-a7b9-dca10285435f" alt=""><figcaption></figcaption></figure>

### Developer problems on AWS

• Managing infrastructure

• Deploying Code

• Configuring all the databases, load balancers, etc

• Scaling concerns

• Most web apps have the same architecture (ALB + ASG)

• All the developers want is for their code to run!

• Possibly, consistently across different applications and environments
