使用SAM与无服务器框架有哪些优缺点?

oba*_*aid 3 aws-lambda serverless-framework serverless

我想知道使用/探索更多的方法,我目前正在探索选择最佳/合适的框架来构建AWS Lambda上的微服务的选项,并且canary部署是一个巨大的功能(SAM支持它,但现在没有服务器).以下是我的问题:

  1. 一般来说,选择SAM而无服务器的优缺点是什么,反之亦然?
  2. 你能在serverless.yaml中写SAM吗?像SAM有一些有用的功能,如果我们可以在无服务器中使用它们会很棒

谢谢

Ash*_*han 11

AWS SAM

关注AWS无服务器应用程序模型(至少暂时),是在CloudFormation中简化与无服务器技术堆栈(Lambda,API Gateway等)相关的AWS资源定义.

SAM有一些限制.它目前没有灵活地为Custom Authorizers提供全面支持.与无服务器框架相比,DevOps工具和插件支持也是最小的.

由于SAM是AWS的原生,因此早于无服务器框架,SAM中将提供对AWS功能的支持.

无服务器框架

DevOps框架,允许以统一的方式简化AWS,Azure,Google Cloud和IBM Open Wisk的定义和部署.它使用CloudFormation进行AWS无服务器堆栈配置,并附带插件Eco System以及执行DevOps任务的简单命令.

无服务器框架有几个限制

  • 为每个阶段部署新的API网关.
  • 无服务器框架结合了所有Lambda函数(如果在单个无服务器项目中定义了很多)并部署了所有函数的所有代码,除非特别列入黑名单.

  • 感谢您的详细回复.还有一个关键的区别是SAM是特定于AWS的,而无服务器不是供应商特定的, (2认同)