无服务器框架 CLI 与 GUI。例如。控制台

Serverless framework CLI vs GUI. Eg. AWS console

当我们有 AWS 控制台 GUI 时,为什么会有人使用无服务器框架 CLI 来编写 lambda 函数或部署它们?它有什么具体的好处吗?

通常您不会孤立地开发和部署 lambda 函数,相反,它是云基础架构的一部分。这可以包括其他 lambda、S3 存储桶、数据库、API 网关、IAM 角色、环境变量等等。

无服务器框架允许您将基础架构编写为代码。对于 AWS 服务,它将 serverless.yaml 配置文件转换为 AWS cloudformation 文件,并从那里部署您定义的任何新的或更新的服务。您的 lambda 函数只是其中的一部分。

以这种方式编写和部署的一个主要好处是您可以在本地使用您喜欢的编辑器,并且可以将您的代码签入版本控制(即 git)。这不仅适用于您的 lambda 代码,还适用于您的基础设施配置,即 serverless.yaml 和相关文件。

无服务器框架不仅仅是 AWS 控制台 (GUI) 的替代品。您绝对可以通过 AWS 控制台为无服务器应用程序设置所有内容,但您如何与您的团队共享这些内容?如果您希望将其重复部署到多个应用程序中怎么办? Serverless Framework 给你一个配置文件,通常叫做 serverless.yml,你可以在其中定义 AWS 内的所有服务(以及其他供应商,不仅支持 AWS),然后你使用 CLI 在此执行功能配置文件,例如部署、调用等等。

然后是社区围绕该项目设计的无服务器框架插件,使其他任务变得更加容易,例如单元测试、S3 存储桶配置、CloudFront 和域,使前端部署更容易,还有很多很多。

最后,但最重要的是,除了开源框架之外,还提供了一个专业的产品,您可以使用它来添加监控、部署管理、故障排除、优化、CI/CD 和许多其他好处在此列出。

当然,如果你正在做一个大项目,无服务器框架有很多好处,想象一下你用记事本开发一个 MVC c# 项目。你对这件事有什么感想? 完成框架是为了让我们的生活(对于开发人员)更加轻松。