【问题标题】:Serverless framework CLI vs GUI. Eg. AWS console无服务器框架 CLI 与 GUI。例如。 AWS 控制台
【发布时间】:2023-06-10 07:04:01
【问题描述】:

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

【问题讨论】:

    标签: amazon-web-services aws-lambda serverless-framework


    【解决方案1】:

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

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

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

    【讨论】:

    • 这对我来说很有意义。感谢您的明确解释!
    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

      当然,如果您正在做一个大型项目,那么 Serverless 框架有很多好处,想象一下您使用记事本开发一个 MVC c# 项目。你对这件事有什么感想? 该框架旨在让我们(对于开发人员)的生活变得更加轻松。

      【讨论】: