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

时间:2017-12-03 18:44:53

标签: aws-lambda serverless-framework serverless

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

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

1 个答案:

答案 0 :(得分:10)

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系统以及执行DevOps任务的简单命令。

无服务器框架有几个限制

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