为什么 javascript node.js 不在 google app 引擎上

Google 创建了 V8 JavaScript 引擎: V8在第一次执行时将 JavaScript 源代码直接编译成机器代码。

Js 是建立在 V8之上的——为什么 Google 不提供任何像微软 Azure 这样的 Node.js 服务器呢?

Google App Engine 将是放置 Node.js 的自然场所。

你知道为什么谷歌不这么做吗?

34838 次浏览

Js 由 Joyent 维护,Joyent 在某种程度上是 Google 的竞争对手。

Js 与 Google 之间没有任何链接,但实际上是建立在 Google 启动的一个开源项目之上的。

谷歌可能会像 Azure 那样跳进这个行业,但是已经有那么多 PaaS 在这么做了,这可能不值得。我从未使用过 GAE,但我的理解是,它与其他 PaaS 完全不同,您必须使用 GAE 库来运行代码。

这是我个人的感觉,并不是 Node.js 社区真正想要的。 Js 用于快速开发一个快速轻量级应用程序,例如,在手机应用程序的 API 中占有很大份额。

尽管如此,如果你正在为 Node.js 寻找一个 PaaS,那里有很多:

  • Joyent (nodejitsu)
  • DotCloud ,它支持 WebSocket。
  • Windows Azure
  • Nodester (最近被 App Fog 收购)
  • 任何 云铸造主机都应该支持 Node.js。
  • 还有更多。

这些只是我脑海中浮现的一些名字。有不少,但这些是主要的。 哦,也有 你好,但是他们不支持 WebSocket,这对任何基于 Socket.IO 的应用程序来说都是一个坏消息。

因为 App Engine 是一个平台即服务(Platform-as-a-service) ,为了给 GAE 添加一种新的语言/堆栈,谷歌需要创建与 过多的 App Engine 服务接口的中级库。

此外,所有应用程序引擎应用程序都是沙箱和几个功能限制从内部的沙箱环境。这意味着除了需要创建服务库之外,Google 还需要为他们试图引入到 GAE 中的任何语言/堆栈创建一个安全的沙箱环境。

我个人认为第二个原因是谷歌没有像 Azure 那样积极地引入对新语言/栈的支持。在某种程度上,App Engine 比 Azure 更“管理”,而且对于新语言/堆栈来说,有更大的初始开发成本。

经过多年的经验在谷歌应用程序引擎,我切换到其他云服务现在。

我认为谷歌应用程序引擎实际上是云计算行业的一种老式服务。这对于新技术来说速度很慢,很难部署,学习 api 很浪费时间,而且在你使用的语言中缺乏很多你需要的特性。

无论谷歌的大型社区,我不会建议任何人使用谷歌应用程序引擎。

[新的 Paas ]

我强烈建议你使用 openshift,appfog,heroku。等等的新 Paas 云计算技术,它们更具可扩展性,更少的变更需求,更能从一个平台迁移到另一个平台,更能自由地使用自然语言及其标准库进行编码,而不需要丑陋的平台特定 API。

[ iaas ]

如果你想更多的控制运行操作系统的环境,你可以给 linode,数字海洋,亚马逊,谷歌云引擎,微软蔚蓝等 iaas 提供商一个尝试。

你可以很容易地在 Google Compute Engine (基本上是一个虚拟计算机)上安装节点: Https://developers.google.com/datastore/docs/getstarted/start_nodejs/

问候 拉斯

截至2014年6月,谷歌对 GoogleAppEngine (与 GoogleComputeEngine 不同)上的自定义语言进行了有限的预览。

观看 使用 App Engine 和自定义运行时构建 Node.js 应用程序并查看 https://cloud.google.com/appengine/docs/managed-vms/:

AppEngine 现在提供了第二个托管选项: ManagedVM。托管虚拟机宿主环境允许您在可配置的计算机引擎虚拟机(VM)上运行 AppEngine 应用程序。 您还可以使用托管 VM 来部署用户可配置的 自定义运行时,例如 Node.js和其他运行时。

进入测试版的程序是:

注册并创建托管 VM 项目

托管虚拟机处于受限预览中,您必须注册才能访问此功能,创建一个支持计费的项目,并告诉我们您的项目,以便我们可以将其列入白名单,以便在托管虚拟机中运行。遵循以下步骤:

  1. 注册以访问托管虚拟机。
  2. 加入 app-engine-management-VMs Google Group,参与有关托管 VM 的讨论。
  3. 项目(或应用程序——它们是同样的东西)必须在美国的数据中心。如果您计划使用现有的项目,请跳到下一步。否则,在美国数据中心创建一个新的应用程序。导航到 https://preview.appengine.google.com并创建一个新的应用程序。
  4. 为项目启用计费。访问页面 https://cloud.google.com/console/project/apps~,其中是项目的 ID。单击左侧菜单中的“设置”,然后启用计费。如果您的应用程序使用的是 Premier 账户,请发电子邮件至 app-engine-management-vm-tt-id@google.com,让您的新云项目使用相同的账户。
  5. 发送一封电子邮件到 app-engine-management-vm-tt-ID@google.com,主题行中包含应用程序 ID。

当我们收到您的电子邮件,我们将配置一些幕后资源,并通过电子邮件通知您,当您的项目是准备去。电子邮件包括安装的最终说明。如果您在遵循这些说明时遇到错误,请与我们联系,电子邮件是 app-engine-management-vm-tt-id@google.com。

最近 Node.js 为 Google Cloud 用户提供了支持,主要的文档页面如下:

目前似乎需要一个 计算机引擎实例。

谷歌是一家软件保守的公司。用 JavaScript 编写后端对于 Google 的管理者来说绝对是不可想象的。创建谷歌自己不会使用的基础设施不是一项好的投资。参考资料: 神秘机器总线笔记

Google 在2016年3月21日宣布,Google App Engine 上的 Node.js 将进入 beta 测试阶段: https://cloudplatform.googleblog.com/2016/03/Node.js-on-Google-App-Engine-goes-beta.html?m=1

Google 也加入了 Node.js 基金会,并开发了驱动 Chrome 和 Node.js 的 V8 JavaScript 引擎: https://nodejs.org/en/blog/announcements/welcome-google/

与此同时,谷歌宣布与 NodeSource 建立合作关系。

背景: App Engine 标准与 App Engine 灵活性

在这个问题上似乎有些混淆,因为 App Engine 有两个版本: 标准版和灵活版。AppEngine 灵活支持 NodeJS,而 AppEngine 标准支持 < em > NOT 。(有关差异的更完整解释,请参阅 给你)。

App Engine Standard 可以在几秒钟内扩展(相对于灵活环境的几分钟) ,并且有一个免费的层,所以您可以不花一分钱进行开发和演示。这些好处是以牺牲 灵活性为代价的。App Engine Standard 只支持特定的语言和库,不允许写入磁盘或 SSH。换句话说,环境是 标准化

答: NodeJS 对 App Engine 标准的支持

如果您对 AppEngine 标准上的 NodeJS 支持感兴趣,请用星号表示: https://issuetracker.google.com/issues/67711509

Google 提供了一些引起社区关注的特性(参见 给你)。关注这个功能的最好方法,就是在上面链接的 Google 问题跟踪器上打上星号。

Google 刚刚宣布在 App Engine 上支持 Node.js。

enter image description here 参见: 《 https://cloud.google.com/nodejs/》

这是 如何在 App Engine 上部署 Node.js 应用程序的一个例子。

(2021年6月) 这个问题几乎有十年的历史了,自从《任择议定书》以来,许多事情都发生了变化。DR: JavaScript 和/或 Node.js 在 Google 的6个不同的无服务器计算平台上都得到了支持: GCP 有4个谷歌工作区火力点各一个,加上发布日期:

  1. Google App Engine-Standard (2018年6月)-公告医生(Node.js 10,12,14; 8不推荐)
  2. Google App Engine-灵活 (2016年3月)-公告(一般公告) ,医生(Most Node.js 版本)
  3. 谷歌云功能 (2017年3月)-公告(一般公告) ,医生(Node.js 10,12,14; 8不推荐)
  4. Firebase 的云功能 (2017年3月)-公告医生(与谷歌云功能相同的版本)
  5. Google Cloud Run (2019年4月)-公告(一般公告) ,医生(任何可以放在容器中的 Node.js 版本)
  6. Google Apps Script (2009年8月)-公告医生(只有 JS,不是 Node; 犀牛 ES3/ES5 + 扩展最初; 现在是 V8 & ES6 + [2020年3月])

也可以参考 Google Cloud 的 对 Node.js 的全面支持