AWS Cloud Development Kit (AWS CDK) 是一种开源软件开发框架,可让您使用熟悉的编程语言来定义云应用程序资源。
预置云应用程序是一个具有挑战性的过程,您需要执行手工操作、编写自定义脚本、维护模板或学习特定领域的语言。AWS CDK 利用编程语言的常见性和表达能力为应用程序建模。它为您提供名为结构的高级组件,使用经过验证的默认值预配置云资源,因此您无需成为专家也可构建云应用程序。AWS CDK 通过 AWS CloudFormation 以安全、可重复的方式预置您的资源。它还支持您编写和分享体现组织要求的自定义结构,帮助您更快启动新项目。
对于喜欢使用 Terraform 的客户,cdk tf 提供了 CDK 结构,供您在 TypeScript 和 Python 中定义 Terraform HCL 状态文件。对于 kubernetes 用户,cdk8s 项目提供了 CDK 结构,供您在 TypeScript、Python 和 Java 中定义 kubernetes 配置。cdk8s 可用于定义在任何地方运行的 kubernetes 基础设施,并且可与 AWS CDK 的 Amazon Elastic Kubernetes Service (Amazon EKS) 结构库一起使用。cdk8s 和 cdk tf 均为 alpha 版本。
优势
更轻松地开始使用云
AWS CDK 可让您更快地开始使用 AWS,因为需要学习的新内容很少。CDK 使您能够使用现有的技能和工具,并将它们应用于构建云基础设施的任务。它还提供高级组件,使用经过验证的默认值预配置云资源,因此您无需成为专家即可在 AWS 云上进行构建。
更快地完成开发流程
AWS CDK 让您能够利用编程语言的表达能力定义基础设施。对象、循环和条件等常见功能可以让您更快地完成开发流程。 您还可以在集成开发环境 (IDE) 中使用 AWS CDK,以利用现有的生产力工具和测试框架。
可自定义和共享
使用 AWS CDK,您可以设计自己的可重用组件,以满足组织的安全性、合规性和监管需求。与任何其他软件库一样,您可以轻松地在组织内共享组件,从而使您能够在默认情况下使用最佳实践快速启动新项目。
无需切换环境
AWS CDK 使您无需离开 IDE 即可构建云应用程序。您可以使用相同的编程语言编写运行时代码并定义 AWS 资源。您可以使用 AWS Toolkit for VS Code 来可视化 CDK 应用程序堆栈和资源。
工作原理

客户
Culture Amp

Culture Amp 使员工反馈的收集、理解和处理变得更加容易,从而帮助公司成为更好的工作场所。在 Culture Amp 的帮助下,人力资源领导可以做出更好的决策、展示影响力并将公司文化转变为竞争优势。早在 2012 年,Culture Amp 就使用 AWS 构建了世界上第一个按需员工反馈平台。从那时起,他们一直通过墨尔本、旧金山、纽约和伦敦的办事处为快速增长的全球客户群提供支持。在 Culture Amp 决定将其在 Amazon EC2 上运行的单区域、单体式应用程序升级为使用 AWS Fargate、Amazon DynamoDB 和 Amazon Relational Database Service 主要在 Amazon Elastic Container Service 上运行的多区域、基于微服务的架构时,他们的工程师需要一种方法来使用预先批准的 AWS 架构,而无需登录受限环境或具备 AWS 和 AWS CloudFormation 的详细知识。Culture Amp 团队选择了 AWS Cloud Development Kit (AWS CDK),以可共享和可重复的方式自动预置包含支持数据库和用户角色的 AWS Fargate 服务。Culture Amp 构建了一个自定义的 AWS CDK 构造库,使他们能够以编程方式为工程师新建功能丰富的微服务,提高了开发团队的速度和效率。
“现在,我们的工程师可以使用预先批准且功能丰富的 AWS 架构,其中包括 AWS Fargate 服务,该服务中融入了精细部署角色、负载均衡、证书验证、自动扩展、用于转发日志的 AWS Lambda 函数以及作为存储后端的 Dynamo 或 RDS 选项。现在,我们只需几个小时内就能完成过去需要长达六周才能完成的工作”
Matthew Tapper,Culture Amp 首席 SRE 工程师

Stedi 使组织能够快速与贸易伙伴建立联系并进行交易,而不必执行痛苦的点对点实施操作;它通过提供一个完全自助式的“数字邮箱”做到这一点,组织可使用该邮箱以标准格式交换 300 多种不同的商业交易类型。
Stedi 有一个宏伟目标:通过处理全球所有的 B2B 交易,帮助企业消除耗费大量时间的繁琐工作。为此,Stedi 明白必须由自己承担繁琐的任务,这就是他们从一开始就选择使用完全无服务器的 AWS 架构进行构建的原因。但是,Stedi 与 AWS 的合作不仅限于无服务器基础设施:他们还采用了 AWS 原生开发人员工具(例如 AWS CDK 和 AWS Amplify)来帮助快速迭代和频繁部署。
“对我们而言,CDK 一直都是游戏规则改变者。它极大地完善了我们的反馈周期,并缩短了从全新的基础设施到全面部署的基础设施所需的时间。”
Tyler van Hensbergen,工程团队 - Stedi