인프라를 코드로 정의한다는 생각의 역사는 길다. 처음엔 셸 스크립트로 서버를 설정했고, 그다음엔 Chef·Puppet 같은 구성 관리 도구가 "원하는 상태를 선언하면 맞춰준다"는 발상을 가져왔으며, AWS는 CloudFormation으로 "클라우드 자원 전체를 선언적 템플릿으로 묶는다"는 모델을 정착시켰다. 그런데 YAML/JSON 템플릿은 한 가지 근본적 한계가 있다 — 그건 데이터지 프로그램이 아니다. 반복문도, 조건문도, 타입 검사도, 함수 추상화도 없다. 1,000줄짜리 CloudFormation 템플릿을 손으로 복사·붙여넣기 해본 사람이라면 "차라리 코드였으면" 하고 바라게 된다. AWS CDK(Cloud Development Kit)는 정확히 그 갈망에 대한 답이다 — 진짜 프로그래밍 언어로 인프라를 쓰되, 결과물은 CloudFormation으로 떨어뜨린다.
DVA-C02에서 CDK 자체는 깊게 출제되지 않는다(synth가 CloudFormation을 만든다, bootstrap은 계정·리전당 1회 정도). 하지만 그 주변의 "서버리스 아키텍처를 어떻게 조립하느냐"는 시험의 진짜 무게중심이다 — Lambda를 Lambda가 직접 호출하면 왜 안 되는지, SQS와 SNS와 EventBridge가 언제 갈리는지, 멱등성을 왜 보장해야 하는지