terraform - 您如何将 Hashicorp-Terraform 与无服务器框架进行比较?

标签 terraform serverless-framework serverless

我想知道 Terraform 和 Serverless 之间有什么区别。他们是不是在做同样的事情,比如管理你的基础设施,并将你的基础设施表示为代码?

您真的需要无服务器框架 (serverless.com) 吗?

谢谢

最佳答案

我对无服务器框架和其他类似的无服务器焦点工具的理解:

Serverless Framework 和 Terraform 都支持不同的云提供商。使用 AWS 作为下一个语句中的示例。

将无服务器框架与 Terraform 进行比较,无服务器框架是 无服务器专家 , Terraform 是 GP

terraform 完全是基础设施即代码,涵盖了大部分资源。

Serverless 框架是一个中间层,只生成 Cloudformation 模板,主要用于 serverless 相关资源,在 aws 中,主要是 lambda、api gateway、dynamodb 等。

可以直接在 Cloudformation 模板中写,但是模板文件会很大,而且它的 JSON/Yaml 模板也很难维护。在 serverless.yml 中有几十行, serverless 框架可以生成一千行甚至几千行的cloudformation模板。它节省了大量处理cloudformation编码的时间。顺便说一句,如果你已经知道cloudformation语法,你可以很容易地把同样的cloudformation yaml代码直接放在resources中。部分,无服务器模板知道如何创建它们。

您也可以编写 Terraform 代码来管理 lambda、api 网关和 Dynamodb。也许你可以得到比 Cloudformation 模板更少的代码,但还是太复杂了。

换句话说,让无服务器框架处理所有 AWS 资源是没有意义的,其他工具已经做得最好,例如 EC2、VPC、ECS 等。

Serverless 框架仍在开发中,由于它的流行,许多开发人员每天都参与其中添加功能。也许有一天你可以得到你需要的东西,但现在你必须在某些情况下将无服务器框架与 Cloudformation 或 Terraform 或其他工具混合在一起。

关于terraform - 您如何将 Hashicorp-Terraform 与无服务器框架进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47479757/

相关文章:

sql-server - Terraform - Azure - 一起使用 "azurerm_windows_virtual_machine"和 "azurerm_mssql_virtual_machine"- 但 SQL 存储未配置

terraform - 有没有办法获取 terraform 提供程序的属性并将其存储为局部变量?

github - Jenkins - 当 Github PR 关闭或合并时触发构建

amazon-web-services - 如何在无服务器中使用 Sub 函数和 GetAtt?

amazon-web-services - 使用 API 网关和无服务器框架在 AWS Lambda 上超过了速率

amazon-web-services - 如何从serverless.yaml配置更新AWS Elasticsearch访问策略?

elasticsearch - Terraform:在 ElasticSearch 中设置 max_buckets

java - 无服务器计划的java函数应该实现什么接口(interface)?

node.js - Node.js 中的 AWS lambda 配置

aws-lambda - 无服务器获取本地函数列表