我想使用 Google 的无服务器选项之一部署容器化代码。据我了解,Google 对此有两种选择:
我看过 2019 年 Google Next 演讲 Where Should I Run My Code? Choosing From 5+ Compute Options .我读了Jerry101's answer to the general question "What is the difference between Google App Engine and Google Cloud Run?" .
在我看来,Cloud Run 基本上可以解决使用 Google App Engine 柔性环境的局限性。
我能想到的选择 App Engine 柔性环境而不是 Cloud Run 的原因是:
- 旧版 - 如果您的代码当前依赖于 App Engine Flex,您可能不想处理它的移动
- 业绩记录 - App Engine Flex 已经普遍可用一段时间,并且在这个意义上有业绩记录,而 Cloud Run 仅处于测试阶段
但这些都是操作类型的考虑因素。这对我来说都不是问题。选择 App Engine Flex 而不是 Cloud Run 有技术优势吗?
谢谢
注意:App Engine 的无服务器 VPC 访问测试版仅适用于 standard environment截至 2019 年 4 月发布的这个问题,不适用于 Flex,因此这不是 App Engine Flex 与 Cloud Run 问题的考虑因素
最佳答案
定价/自动缩放:GAE Flexible Environment 和 Cloud Run 之间的定价模型略有不同。
- 在 GAE Flexible 中,您总是在任何时候至少运行 1 个实例。因此,即使您的应用没有收到任何请求,您也要为该实例付费。计费粒度为 1 分钟。
- 在 Cloud Run 中,您仅在处理请求时付费,计费粒度为 0.1 秒。参见 here了解 Cloud Run 计费模型。
底层基础架构:由于 GAE Flexible 在 VM 上运行,因此部署应用程序的新修订版和纵向扩展比 Cloud Run 慢一点。 Cloud Run 部署速度更快。
可移植性:Cloud Run 使用开源 Knative API 及其 container contract .这在更大程度上为您提供了灵 active 和自由度。如果您想在您管理的基础设施(例如 GKE)上运行相同的工作负载,您可以使用“Cloud Run on GKE”来实现。
关于google-app-engine - 何时使用 Google App Engine Flex 与 Google Cloud Run,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55696299/