Google Cloud Functions似乎非常有趣,因为它是无服务器和零维护解决方案。但是,什么时候使用谷歌云功能而不是谷歌应用引擎?
答案 0 :(得分:6)
<强>更新强>
Google App支持As of June 12, 2018, Node.js 8.x. 引擎标准环境以及灵活环境。
简答:这取决于您的需要。
答案很长:以下是核对清单
<强>运行强>
Cloud Functions目前仅支持Node.js,据我所知,没有任何计划在那里引入新的运行时。如果您对此很满意,可以将Cloud Functions放在您的选项中。
App Engine确实支持Node.js,虽然它只在Flexible环境中可用。 App Engine标准环境支持Python 2.7,Java 8,Java 7,PHP 5.5,Go 1.8和1.6,同时App Engine Flexible Environment支持Python,Java,Node.js,Go,Ruby,PHP或.NET。您还可以在Flexible环境中使用dockerfile提供自己的运行时。 因此,如果你想在Node.js之外的任何东西开发你的应用程序,App Engine是更好的选择。
无服务器架构
您在寻找无服务器架构吗?您是否对管理实例并让它们向上或向下扩展感到沮丧?您想花时间管理您的服务器吗?如果您对所有这些问题的回答都是肯定的,请选择云功能
你在寻找精细的粮食控制吗?实例和计费。你想拥有单独的版本,并希望更好地控制它们。在这种情况下寻找App Engine。
<强>微服务强>
你能将代码分解成更小的独立函数吗?寻求云功能。
App Engine确实支持使用相同代码库的微服务架构,但是不同的yaml文件可以拆分服务,但是如果你想将它们分解成服务,它就取决于你。在过去的几年里,我们将所有代码都运行到一个单一的应用程序中,并且它仍然在App Engine上运行良好。
<强>数据库强>
您的应用数据是否存储在Firebase中?然后可以在那里轻松使用云功能。如果没有,App Engine是更好的选择。如果您想知道,App Engine也可以连接到Firebase。
还有其他事情需要考虑,例如定价,以及您是否希望迁移现有应用程序,或者您是从头开始编写内容。实际上,您可以使用这两个选项。我们正在为我们的应用程序使用App Engine(Python)标准环境,但是我们最近在Cloud功能上迁移了一些长期运行的任务,并且它们的工作非常出色。
在我看来,App Engine是大多数事情的答案,其中云功能是针对特定需求而制定的。
答案 1 :(得分:3)
当你想要的是执行一个函数(某种逻辑)以响应源自云的事件而你不想为这个完整的Web应用程序构建(并且需要付费)。
云计算使完全无服务器的计算模型成为可能 逻辑可以按需启动,以响应事件的发生 从任何地方。从一口大小的业务逻辑构建应用程序 只有当您的代码是,时才计算到最接近的100毫秒 运行。服务用户从零到行星规模,无需管理 任何基础设施。
来自What are Google Cloud Functions?
Google Cloud Functions是一个无服务器执行环境 构建和连接云服务。使用云功能编写 简单的单一用途函数,附加到发出的事件 来自您的云基础架构和服务。您的云功能是 触发被监视的事件时触发。你的代码在执行 完全管理的环境。没有必要提供任何 基础设施或担心管理任何服务器。
如果您已经有一个与您要实现的逻辑相关的GAE应用程序,那么在应用程序内部执行它可能更简单:)