Google 无服务器功能 - 它可以 运行 一个进程还是一个程序?

Google Serverless function - Can it run a process or just a single program?

我们有一个 shell 脚本,它 运行 是 java 和 python 程序通过多个步骤的组合。在 AWS 中,当我们需要同时 运行 多个时,我们发送一个参数集,并向所有预构建的 VM 发出请求(服务器列表是 CV-1、CV-2、CV-3 等)头脑。这些进程中的几个可以同时 运行ning,除了数据库更新之外,它们没有任何相互依赖性。我们同时拥有多达 16 个 VM 运行ning,没有任何问题,一个控制实例只跟踪每个 VM 何时完成。

我们正在寻找更多的可扩展性。如果我们不需要让 16 台机器“运行ning”并等待某些东西将它们启动,那就太好了。我们希望能够尽可能多地启动,但同样有兴趣在它们闲置时不为它们付费。他们有超过 80% 的时间处于闲置状态。但是一旦我们需要它们,我们就需要它们,因为其中一些可能需要一段时间才能完成。这些机器都是一样大的。这也可能是个问题。

我正在研究 google 无服务器示例,虽然这似乎是我所需要的,但尚不完全清楚它是否按我希望的方式工作。我希望我可以将所有程序(python、Java、shell)放在一个容器中,并即时实例化机器的实例。我只需要给它传递3个参数,这看起来很简单。

我感到困惑的地方是 它能够 运行ning。我还没有看到启动 shell 脚本或 python 程序的示例。很多 Java“hello world”就我现在的专业水平而言还不错,但我没有看到任何 运行 是 shell 脚本。即使是 python“脚本”也是可以接受的,甚至可能更好。

每个脚本 运行 需要 10 分钟到 5 小时,具体取决于输入的大小。所以 4-5 分钟的启动不会打扰我们。大多数在 20 分钟范围内,约 5% 在 4 小时以上范围内。

问题真的是: 这种方法是否适用于 Google 无服务器?如果它是否,那么其余的都无关紧要!

谢谢

无服务器计算产品(Cloud 运行、Cloud Function、App Engine)响应 HTTP 请求。所以你需要暴露一个 HTTP 服务器来使用这些服务。无法进行后台处理,时间有限

  • 9 分钟使用 Cloud Functions
  • 60 分钟云 运行
  • 24 小时,App Engine 标准,基本或手动扩展 + Cloud Task

如果你需要 运行 后台进程,或者没有 https 进程,你可以使用 Cloud Build 作弊(使用你的容器和 运行 你想要的假构建命令)或者你可以使用 AI Platform custom training 到 运行 你的容器几个小时。

这个最新的解决方案是唯一支持 GPU 容量的解决方案。

您将需要更新或重新设计流程以适应此模型。我认为根据您的要求,可移植性不是立竿见影的。