google-app-engine - 何时使用 Google App Engine Flex 与 Google Cloud Run

标签 google-app-engine app-engine-flexible google-cloud-run

我想使用 Google 的无服务器选项之一部署容器化代码。据我了解,Google 对此有两种选择:

  1. > Google App Engine Flexible Environment
  2. > Google Cloud Run (测试版)

我看过 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/

相关文章:

java - 在 google app engine java 本地数据存储中添加/编辑实体

python - 在 GAE 上部署 cron 作业时出现内部服务器错误

google-cloud-run - 如何在已部署的 Cloud Run 服务(托管)中使用 Google Secret?

Google Cloud Run 上的重定向

python - Google 应用引擎引用属性关系

python - 使用 AppEngine (Python) 获取 20 条随机记录

python - 使用 Python-compact 在 GAE 灵活环境中运行后台线程

node.js - AppEngine 实例小时数

go - 如何验证来自appEngine灵活的可恢复上传,类似于golang中的SignedURL

google-cloud-run - Google Cloud Run 将非 www 重定向到 www