【问题标题】:Would I benefit using Cloud run instead of Cloud Functions? Where does it fit in GCP?使用 Cloud run 而不是 Cloud Functions 会受益吗?它在 GCP 中的什么位置?
【发布时间】:2019-09-26 20:51:17
【问题描述】:

我使用 Cloud Functions 来满足我的大部分后端需求。 Cloud Run 为现有的 Cloud Functions 用户提供了哪些额外的好处?两者都是托管的,具有自动缩放功能,处理 HTTP 并在 GCP 中运行。

Cloud Run 适合Google Cloud Platform 的哪些地方?

参考:GCP explained - Medium

【问题讨论】:

    标签: firebase google-cloud-platform google-cloud-functions google-cloud-run


    【解决方案1】:

    Cloud Functions 服务器实例以串行方式处理请求,这是不可配置的。 Cloud Run 实例并行处理请求,每个实例的并行度级别是可配置的。如果您了解如何最好地配置服务器实例,考虑到您部署的代码的性能特征,这可能会为您节省资金。

    Cloud Functions 要求您从提供的不可配置的语言和运行时配置中进行选择。 Cloud Run 允许您运行所需的任何类型的后端配置,假设它只是在端口 8080 上公开一个 HTTP 端点。

    Cloud Functions 提供这些选定的语言和运行时配置,无需您执行任何操作,只需部署针对其中一种配置的代码。 Cloud Run 要求您提供用于建立运行时环境的 docker 配置(这需要更多工作)。

    Cloud Functions 可让您针对来自各种 Cloud 和 Firebase 产品的各种事件建立触发器。 Cloud Run(当​​前)可以通过 HTTP 请求、PubSub 推送和部分云产品(例如 Cloud Scheduler 和 Cloud Tasks)触发。

    Cloud Functions 要求您仅在提供的托管环境中运行代码。 Cloud Run 允许您获取 docker 配置并在任何支持 docker 的地方运行它,包括GKE,您可以在其中获得对服务器实例的更多控制权。

    【讨论】:

    【解决方案2】:

    Google Cloud Run 适合您的无服务器层,但作为一个容器。容器基础设施为您管理。

    Cloud Functions 在支持的库、语言和运行时方面受到限制。

    Cloud Run 消除了这些限制。您可以使用任何支持在容器中运行的语言、库和运行时组合。

    一个限制是只有一个内部端口$PORT,现在默认为 8080。外部支持 HTTP 和 HTTPS。 HTTP 和 HTTPS 都映射到 $PORT

    一大优点是 Cloud Run 支持自定义 DNS 名称和自定义 SSL 证书。您可以在 Cloud Run 上托管您的网站。作为一个实验,我在 Cloud Run 上设置了 WordPress 和 Cloud SQL,并为其分配了一个带有 SSL 证书的 DNS 域名。

    【讨论】:

    • 题外话,如果您在没有将新文件写入磁盘(上传、wp-config.php 等)的情况下成功在 Cloud Run 上安装 WordPress,请写一篇博文!这里也有一个问题。 (另外这将是一个有趣的阅读。)
    • @AhmetB-Google - 实际上我正在写一篇文章来记录这一点。它可能会在本周末出现在我的网站上。我有几篇关于 Cloud Run 的文章,内容涉及安全性、自定义 DNS 名称、HTTP 协议等。只是忙于工作,把所有内容都写了出来。
    • 因此,Cloud Run 比对 Cloud 函数的自定义域使用重写规则要好得多。 firebase.google.com/docs/hosting/…
    • 我没有尝试过 Cloud Functions 的重写规则。使用 Cloud Run 创建域 (www.example.com) 非常简单。 Google 甚至会为您提供 SSL 证书。请注意,Cloud Run 使用 CNAME 作为 DNS。这会阻止使用 example.com,因为通常您不想将 CNAME 用于域根目录。如果 Google 将 Cloud Run 添加为 HTTP 负载均衡器的后端,那么您将能够将 Cloud Run 用于一切。我目前正在将它用于子域,到目前为止没有问题。 Cloud Functions 仍然有很多用例,只是其中一些会迁移到 Cloud Run。
    猜你喜欢
    • 2020-02-21
    • 2022-06-16
    • 1970-01-01
    • 2020-08-19
    • 2021-09-02
    • 2022-10-13
    • 2021-08-15
    • 2021-11-17
    • 2021-09-15
    相关资源
    最近更新 更多