CloudFormation 템플릿이 3000줄을 넘은 어느 순간, 개발자는 같은 질문을 던지기 시작한다. "이게 정말 코드인가?" YAML에는 함수도 없고, 변수 스코프도 없고, 자동완성도 약하고, 50개 마이크로서비스에 같은 패턴을 반복 적용하려면 복붙 외엔 답이 없다. 2018년 AWS가 발표한 **CDK(Cloud Development Kit)**는 정확히 이 한계를 풀려는 시도다. TypeScript/Python/Java/Go/.NET 같은 범용 언어로 인프라를 정의하고 cdk synth로 평범한 CloudFormation 템플릿을 합성(synthesize)한다. SAM이 CloudFormation 위에 매크로를 얹었다면, CDK는 한 계단 더 올라가 언어 자체를 추상화 도구로 쓴다.
오늘은 CDK Construct의 L1/L2/L3 계층이 왜 존재하는지, cdk bootstrap이 만드는 IAM 신뢰 체인의 보안적 의미, CDK Pipelines의 self-mutation이 왜 게임 체인저인지, Terraform과 CDK가 동시에 운영되는 현실의 패턴, CDKTF의 위치, 그리고 CDK Aspects가 cross-cutting concern을 어떻게 다루는지를 본다. DOP 시험에서 CDK 직접 출제는 중간이지만 CDK Pipelines + Multi-Account 시나리오는 자주 나온다.