这些 AWS 服务的优点和限制是什么:Amplify、CDK 和 SAM?

What are the advantages and limits of these AWS Services: Amplify, CDK, and SAM?

在花了相当多的时间使用 Amplify 和 React 之后,我遇到了 CDK 和 SAM。我的猜测是,Amplify 现在已经充分开发,可以完成构建全栈应用程序所需的几乎所有工作。但是,我还不知道是否也值得了解 CDK 和 SAM。或者说,这三种服务的优势和局限性是什么?

使用 Amplify,您可以制作与 SAM 几乎相同的东西 您可以使用 Amplify Deploy 管理前端,使用框架管理后端,这包括:API 配置、功能管理 (Lambda)、托管(Cloudfront + S3、带有自定义域服务端的 CICD 等)Auth (cognito) 服务和其他内容.这是全栈应用程序中无服务器服务的中级使用。 借助 SAM,您可以使用 Cloudformation 堆栈完成这一切以及许多其他事情。 简而言之,我认为 Amplify 是云(无服务器)服务的中级管理工具,而 SAM 拥有更强大的员工,它是传统架构模型之外的高级。

Amplify 专注于您指定的框架以及定义的软件堆栈所需的基础设施。在创建云资源方面,它有点像 Ruby-on-Rails,具有更多功能。

在基础设施方面,CDK 的范围更广(而 SAM 的范围更小)。总结一下:如果您 all-in 使用 AWS,您肯定需要 CDK 才能真正创建所有资源。我很确定在某个时间点,您希望拥有比 Amplify 为您创建的资源更多的资源。对我来说,CDK 对于每个更大的项目都是必不可少的(当不使用 CDK 竞争对手之一时)。