我想知道 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/