【问题标题】:What are the advantages and limits of these AWS Services: Amplify, CDK, and SAM?这些 AWS 服务有哪些优势和限制:Amplify、CDK 和 SAM?
【发布时间】:2020-12-16 14:04:59
【问题描述】:
在使用 Amplify 和 React 玩了相当多的时间后,我遇到了 CDK 和 SAM。我的猜测是,Amplify 现在已经足够发达,可以完成构建全栈应用程序所需的几乎所有工作。但是,我还不知道是否也值得了解 CDK 和 SAM。换句话说,这三种服务的优势和局限是什么?
【问题讨论】:
标签:
reactjs
amazon-web-services
aws-amplify
aws-cdk
aws-sam
【解决方案1】:
Amplify 专注于您指定的框架和定义的软件堆栈所需的基础设施。它有点像 Ruby-on-Rails,在创建云资源方面也有更多功能。
在基础架构方面,CDK 的范围更广(而 SAM 的范围更小)。总结一下:如果你全力以赴使用 AWS,你肯定需要 CDK 来真正创建所有资源。我很确定在某个时间点,您希望拥有比 Amplify 为您创建的更多的资源。对我来说,CDK 对于每个更大的项目都是必不可少的(当不使用 CDK 竞争对手之一时)。
【解决方案2】:
使用 Amplify 您可以制作与 SAM 几乎相同的东西
您可以使用 Amplify Deploy 管理前端和使用 Framework 管理后端,这包括:API 配置、函数管理 (Lambda)、托管(Cloudfront + S3、具有自定义域服务端的 CICD 等)身份验证(认知)服务和其他东西。这是全栈应用程序中使用无服务器服务的中级水平。
使用 SAM,您可以使用 Cloudformation 堆栈完成所有这些操作以及许多其他事情。
简而言之,我将 Amplify 视为云(无服务器)服务的中级管理工具,而 SAM 配备了更强大的员工,它是传统架构模型之外的高级别的。