Google 创建了 V8 JavaScript 引擎:V8 在 JavaScript 源代码首次执行时直接将其编译为机器码。
Node.js 是基于 V8 构建的——为什么 Google 不提供像 Microsoft Azure 这样的任何 Node.js 服务器?
Google App Engine 将是放置 Node.js 的自然场所。
你知道为什么谷歌不这样做吗?
Google 创建了 V8 JavaScript 引擎:V8 在 JavaScript 源代码首次执行时直接将其编译为机器码。
Node.js 是基于 V8 构建的——为什么 Google 不提供像 Microsoft Azure 这样的任何 Node.js 服务器?
Google App Engine 将是放置 Node.js 的自然场所。
你知道为什么谷歌不这样做吗?
Node.js 由 Joyent 维护,后者在某种程度上是 Google 的竞争对手。
Node.js 与 Google 没有任何联系,但实际上是建立在由 Google 启动的开源项目之上。
谷歌可能会像 Azure 一样跳入这个行业,但是已经有很多 PaaS 这样做了,这可能不值得。我从未使用过 GAE,但我的理解是它与其他 PaaS 完全不同,您必须使用 GAE 库才能使您的代码运行。
这是我个人的感受,这并不是 Node.js 社区真正想要的。Node.js 用于快速制作一个快速的轻量级应用程序,例如电话应用程序的 API 的很大份额。
不过,如果您正在寻找适用于 Node.js 的 PaaS,那么这里有很多:
这些只是我脑海中浮现的一些名字。有不少,但这些是主要的。哦,Heroku也有,但是他们不支持 WebSocket,这对于任何基于 Socket.IO 的应用程序来说都是一个遗憾。
截至 2014 年 6 月,Google 在Google App Engine(不同于 Google Compute Engine)上对自定义语言进行了有限预览。
观看使用 App Engine 和自定义运行时构建 Node.js 应用程序并查看https://cloud.google.com/appengine/docs/managed-vms/:
App Engine 现在提供第二个托管选项:托管虚拟机。托管 VM 托管环境可让您在可配置的 Compute Engine 虚拟机 (VM) 上运行 App Engine 应用程序。您还可以使用托管 VM 来部署用户可配置的自定义运行时,例如用于Node.js和其他运行时。
进入测试版的程序是:
托管 VM 处于受限预览版中,您必须注册才能访问此功能,创建启用计费的项目,并告诉我们您的项目,以便我们将其列入白名单以在托管 VM 中运行。跟着这些步骤:
当我们收到您的电子邮件后,我们将在后台配置一些资源,并在您的项目准备就绪时通过电子邮件通知您。该电子邮件包含设置的最终说明。如果您在按照这些说明操作时遇到错误,请通过 app-engine-managed-vm-tt-id@google.com 与我们联系。
您可以轻松地在 Google Compute Engine(基本上是一台虚拟计算机)上安装节点。这是一个链接: https ://developers.google.com/datastore/docs/getstarted/start_nodejs/
问候拉尔斯
经过多年的谷歌应用引擎经验,我现在切换到其他云服务。
我认为 google appengine 实际上是云计算行业的一种老式服务。这对新技术来说很慢,难以部署,浪费时间来学习 api 并且缺少您使用的语言所需的许多功能。
不管 google 的大型社区如何,我都不建议任何人使用 google appengine。
[较新的 Paas]
我强烈建议您使用 openshift、appfog、heroku 等新的 paas 云计算技术,这些技术可扩展性更高、更改需求更少、更易于从一个平台迁移到另一个平台、更自由地以自然语言及其标准之美进行编码没有丑陋的平台特定 api 的库。
[IAAS]
如果您想更好地控制运行的操作系统环境,您可以尝试 linode、digital ocean、amazon、google cloud engine、microsoft azure 等 iaas 提供商。
因为 App Engine 是一种平台即服务,并且为了向 GAE 添加新的语言/堆栈,Google 需要创建与App Engine 的大量服务接口的中级库。
此外,所有 App Engine 应用程序都是沙盒化的,并且在其沙盒环境中限制了多项功能。这意味着除了需要创建服务库之外,Google 还需要为他们尝试引入 GAE 的任何语言/堆栈创建一个安全的沙箱环境。
我个人认为第二个原因是为什么谷歌没有像 Azure 那样积极地引入对新语言/堆栈的支持。在某种程度上,App Engine 比 Azure 更“受管理”,并且新语言/堆栈的初始开发成本更高。
Node.js 最近启用了对 Google Cloud 用户的支持。主要文档页面是:
目前似乎需要一个Compute Engine实例。
它已于 2016 年 3 月发布。
https://cloudplatform.googleblog.com/2016/03/Node.js-on-Google-App-Engine-goes-beta.html
背景:App Engine Standard 与 App Engine Flexible
由于 App Engine 有两个版本:标准版和灵活版,因此似乎对此主题有些混淆。App Engine Flexible 支持 NodeJS,但App Engine Standard不支持。(有关差异的更完整解释,请参见此处)。
App Engine 标准版可在几秒钟内完成扩展(相对于柔性环境的几分钟),并且具有免费套餐,因此您无需花费一分钱即可进行开发和演示。这些好处是以灵活性为代价的。App Engine Standard 仅支持某些语言和库,不允许写入磁盘或 SSH。换句话说,环境是标准化的。
答案:App Engine 标准上的 NodeJS 支持
如果您对 App Engine Standard上的 NodeJS 支持感兴趣,请在此问题上加注星标:https ://issuetracker.google.com/issues/67711509 。
Google 解决了引起社区关注的功能(请参阅此处)。关注此功能的最佳方式是在上面链接的 Google 问题跟踪器上为它加注星标。
Google 于 2016 年 3 月 21 日宣布,Google App Engine 上的 Node.js 正在进行测试:https ://cloudplatform.googleblog.com/2016/03/Node.js-on-Google-App-Engine-goes-beta.html ?m=1
这是意料之中的,因为谷歌也加入了 Node.js 基金会,谷歌开发了支持 Chrome 和 Node.js 的 V8 JavaScript 引擎:https ://nodejs.org/en/blog/announcements/welcome-google/
谷歌同时宣布与 NodeSource 建立合作伙伴关系。
Google 刚刚宣布在 App Engine 上支持 Node.js。
请参阅:https ://cloud.google.com/nodejs/
这是一个如何在 App Engine 上部署 Node.js 应用程序的示例。
谷歌是一家软件保守的公司。对于 Google 的经理来说,用 JavaScript 编写后端是绝对无法想象的。创建谷歌自己不会使用的基础设施并不是一项好的投资。参考:来自神秘机器巴士的笔记
(2021 年 6 月)这个问题已经有将近十年的历史了,自从 OP 以来,很多事情都发生了变化。TL;DR:JavaScript 和/或 Node.js 在来自 Google 的 6 个不同的无服务器计算平台中受支持:4 个在 GCP 上,一个来自Google Workspace和Firebase ,加上发布日期:
另请参阅 Google Cloud对 Node.js 的整体支持。