我使用 Cloud Functions 来满足我的大部分后端需求。Cloud Run 为现有的 Cloud Functions 用户提供了哪些额外的好处?两者都是托管的,具有自动缩放功能,处理 HTTP 并在 GCP 中运行。
Cloud Run 适合Google Cloud Platform的什么位置?
参考:GCP 解释 - 中
我使用 Cloud Functions 来满足我的大部分后端需求。Cloud Run 为现有的 Cloud Functions 用户提供了哪些额外的好处?两者都是托管的,具有自动缩放功能,处理 HTTP 并在 GCP 中运行。
Cloud Run 适合Google Cloud Platform的什么位置?
参考:GCP 解释 - 中
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,您可以在其中获得对服务器实例的更多控制权。
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 域名。