【问题标题】:How to choose between Google Cloud Functions and Google App Engine?如何在 Google Cloud Functions 和 Google App Engine 之间进行选择?
【发布时间】:2017-07-31 15:41:32
【问题描述】:

Google Cloud Functions 似乎非常有趣,因为它是无服务器且零维护的解决方案。但是,什么时候适合在 Google App Engine 上使用 Google Cloud Functions?

【问题讨论】:

标签: google-app-engine google-cloud-platform google-cloud-functions


【解决方案1】:

更新:
As of June 12, 2018, Google App 支持 Node.js 8.x 引擎标准环境以及柔性环境。

简答:这取决于您的需要。

长答案:这是清单

运行时
Cloud Functions 目前仅支持 Node.js,据我所知,没有任何计划在那里引入新的运行时。如果您对此感到满意,则可以将 Cloud Functions 放入您的选项中。

App Engine 确实支持 Node.js,虽然它仅在柔性环境中可用。 App Engine 标准环境支持 Python 2.7、Java 8、Java 7、PHP 5.5、Go 1.8 和 1.6,而App Engine 柔性环境支持 Python、Java、Node.js、Go、Ruby、PHP 或 .NET。您还可以使用灵活环境中的 dockerfile 提供自己的运行时。 因此,如果您想在 Node.js 以外的任何地方开发应用程序,App Engine 是更好的选择。

无服务器架构
您是否正在寻找无服务器架构?您是否对管理实例和让它们扩大或缩小规模感到沮丧?您不想花时间管理您的服务器吗?如果您对所有这些问题的回答都是肯定的,请选择云功能。
您是否正在寻找细粒度控制?实例和计费。您是否想拥有单独的版本并希望更好地控制这些版本。在这种情况下寻找 App Engine。

微服务
你能把你的代码分解成更小的独立函数吗?使用 Cloud Functions。
App Engine 确实支持使用相同代码库的微服务架构,但使用不同的 yaml 文件来拆分服务,但是否要将它们分解为服务取决于您。在过去的几年里,我们将所有代码都运行在一个单一的应用程序中,并且它仍然在 App Engine 上运行良好。

数据库
您的应用数据是否存储在 Firebase 中?然后可以在那里轻松使用云功能。如果不是,App Engine 是更好的选择。 App Engine 也可以连接到 Firebase,以防您想知道。

还有其他需要考虑的因素,例如定价,以及您是否希望迁移现有应用程序或是否要从头开始编写内容。事实上,您可以同时使用这两个选项。我们正在为我们的应用程序使用 App Engine (Python) 标准环境,但我们最近迁移了一些在云函数上长期运行的任务,它们运行得非常好。

在我看来,App Engine 可以解决大多数问题,因为 Cloud Functions 是针对特定要求而设计的。

【讨论】:

【解决方案2】:

当您希望执行一个功能(某种逻辑)以响应源自云的事件,而您不想为此构建(并为此付费)一个完整的 Web 应用程序。

来自Product Overview

云计算使完全无服务器的计算模型成为可能 逻辑可以按需启动以响应发起的事件 从任何地方。从一口大小的业务逻辑构建应用程序 计费到最接近的 100 毫秒,仅当您的代码是 跑步。为用户提供从零到全球规模的服务,无需管理 任何基础设施。

来自What are Google Cloud Functions?

Google Cloud Functions 是一个无服务器执行环境,用于 构建和连接云服务。使用 Cloud Functions 编写 附加到发出的事件的简单、单一用途的函数 来自您的云基础架构和服务。您的云功能是 当正在监视的事件被触发时触发。您的代码在 完全托管的环境。无需提供任何 基础设施或担心管理任何服务器。

如果您已经有一个与您想要实现的逻辑相关的 GAE 应用程序,那么在应用程序中执行它可能会更简单:)

【讨论】:

  • 听起来仍然令人困惑。你有具体的例子吗?
猜你喜欢
  • 2021-10-23
  • 2014-10-10
  • 2021-12-22
  • 2021-10-26
  • 2019-02-06
  • 2019-01-17
  • 2018-04-13
  • 2020-12-23
  • 2019-12-30
相关资源
最近更新 更多