过去几年,我一直在AWS上构建无服务器应用程序,利用Lambda、DynamoDB、SNS、SQS、Kinesis等服务,依靠无服务器框架进行本地开发和部署。由于专业原因,我现在不得不切换到谷歌云,我一直在探索该平台中的无服务器空间。不幸的是,乍一看,它似乎没有AWS那么成熟,我不知道这是真的还是我缺乏专业知识造成的。让我声称的原因基本上如下:
- 函数和资源没有逻辑分组:在AWS上,Lambda函数在应用程序中分组,可以通过SAM或无服务器框架作为一个整体进行部署,这也允许创建任何相关的资源(数据库、队列、事件总线等(。似乎在GCP上,函数被视为单个实体,这使得管理和编排它们变得更加困难
- 缺少工具:SAM cli和Serverless框架都为本地开发和部署提供了工具。我在GCP上没有发现任何类似前者的东西(函数框架似乎部分涵盖了它,但它不处理部署(,尽管后者支持GCP,但它缺少基本功能,例如创建函数以外的资源。更重要的是,GCP不在核心框架中,插件正在寻找维护者
- 更少的事件源:Lambda直接与一长串服务集成。另一方面,云功能只与少数服务集成,使得HTTP触发器在大多数情况下是唯一的选项。他们似乎正试图用Eventarc来解决这个问题,但我认为它还没有普及
有人知道如何为这类应用程序设置本地环境以及如何有效管理它们吗?
这里有一些文档可能对您的案例有帮助,尽管需要深入研究。
配置Serverless VPC Access(我认为这适用于"设置本地环境"(。
云运行快速入门(包含如何使用node.js、python、java等使用GCP Cloud Run构建和部署无服务器服务。