Sag*_*ane 7 amazon-web-services serverless-framework aws-serverless
我们正在研究项目,我们正在努力在nodejs中构建无服务器应用程序。我谈到了AWS SAM和Serverless。哪个最适合实现无服务器应用程序
Ant*_*nyC 11
SAM 和 SF 之间的最大区别:
1) SAM 仅适用于 AWS;SF 支持多个后端,因此它支持多云/混合云应用程序的部署。SF 还支持 kubernetes 后端。
2) 对于 AWS,SAM 和 SF 模板都编译为 Cloudformation (CF)。SAM 能够使用 Transform,它本质上是 CF 的宏。
3)SAM是用Python编写的;SF 是用 Javascript 编写的。
4) SF 有插件可以让你运行任何代码(包括非 Javascript);这实际上意味着可以超越 Cloudformation (CF) 的限制,因为 CF 尚不支持某些(新的)内容。插件系统也非常灵活,非常有用。
5)SF变量系统更灵活,允许您根据其他参数(例如stage)的存在进行动态包含;SAM 变量更接近 CF。
您可以查看这篇文章,比较SAM和Serverless
该页面上列出的主要区别如下
在 无服务器架构 是一个框架,可以很容易地写事件驱动的功能,适用于无数的供应商,包括AWS,谷歌云,Kubeless多。对于每个提供者,可以配置一系列事件来调用该函数。该框架是开源的,并定期接收更新。
的 AWS无服务器应用模型(SAM) 是在CloudFormation的前一个抽象层,可以很容易地在AWS写入无服务器的应用程序。支持三种不同的资源类型:Lambda,DynamoDB和API Gateway。使用SAM Local,可以通过使用Docker容器在本地运行Lambda和API Gateway。
两种框架的共同点是它们生成CloudFormation。换句话说:它们都抽象了CloudFormation,因此您需要编写更少的代码来构建无服务器应用程序(对于SAM)和部署Lambda函数(对于SAM和无服务器)。最大的区别在于,编写无服务器是为了将FaaS(功能即服务)功能部署到不同的提供程序。另一方面,SAM是专门用于AWS的抽象层,不仅使用FaaS,而且使用DynamoDB进行存储,并使用API Gateway来创建无服务器的HTTP端点。
另一个区别是,SAM Local允许您在本地运行Lambda函数并在本地启动API网关。这使得无需将Lambda函数部署到AWS即可更轻松地开发和测试它们。使用无服务器框架,您还可以从命令行调用Lambda函数,但前提是它们必须部署到AWS并可以通过API Gateway使用。
| 归档时间: |
|
| 查看次数: |
1886 次 |
| 最近记录: |