繁体   English   中英

aws CI/CD 工作流程的最佳路径是什么? Cloudformation、SAM 还是无服务器框架?

[英]Which is the best path to take for aws CI/CD workflow? Cloudformation, SAM or Serverless framework?

需要使用 cloudformation、sam 和 serverless 框架来部署 nodejs 应用程序的专家的意见。

请告知最佳路径我使用了无服务器框架,但没有使用 sam 或 cloudformation,虽然我同意它简化了流程,但我希望了解更多有关底层配置的信息。

我倾向于 cloudformation 只是因为这两个框架都将代码转换为 cloudformation 模板。 如果我错了,请纠正我,并感谢学习相同内容的最佳资源。

SAM 基本上是 Cloudformation 的扩展。 如果您了解 SAM,那么您基本上了解 Cloudformation。 SAM 可以而且应该与 Cloudformation 一起用于本地测试。

无服务器是 Cloudformation 之上的一个抽象层。 它有助于加快应用程序的创建和部署。 如果您正在做更高级的配置,它就不足了

我总是倾向于 Cloudformation(或 SAM),因为它是由 CSP(即 AWS)提供的。 这意味着所有新的东西都将自动可用,而不是等待抽象层(如无服务器)获得支持。

我推荐无服务器框架。 优点有几个:

  • 比 CloudFormation 更简单的语法
  • 比 CloudFormation 更便携(您可以在云提供商之间进行更改)
  • 如果需要,能够在 serverless.yml 中编写原始 CloudFormation 内联
  • 易于部署(只需运行sls deploy

如果您有兴趣,我的 gitlab 配置文件中有一个示例项目(对于 GoLang,但原理与其他运行时相同) https://gitlab.com/montao/aws-lambda-go-gitlab-sls

LostJon 是绝对正确的,因为它是由 AWS 本机提供的,因此对 CloudFormation 和 SAM 的支持立即可用。 我倾向于 CloudFormation 的原因是它具有确定性的结果,这在 DevOps 环境中是需要的。 除非您将转换显式添加到 CloudFormation 堆栈,否则没有转换。

当您使用 SAM 部署 CloudFormation 模板时,您将能够在 AWS 控制台中查看 CloudFormation 模板,但您也可以选择显示渲染的模板(例如在转换之后),以便了解 SAM 在水下为您做了什么。 您可以复制呈现的资源并将它们用作纯 CloudFormation。 这使您可以加快开发速度,同时不会失去底层配置知识的好处。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM