为什么javascript node.js不在谷歌应用程序引擎上

Google创build了V8 JavaScript引擎:V8首次执行时将JavaScript源代码直接编译为机器码。

Node.jsbuild立在V8之上 – Google为什么不提供像Microsoft Azure这样的Node.js服务器?

Google App Engine将是一个放置Node.js的自然地方。

你知道Google为什么不这么做吗?

截至2014年6月,Google对Google App Engine上的自定义语言进行了有限的预览(与Google Compute Engine不同) 。

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

App Engine现在提供了第二个托pipe选项:托pipe虚拟机。 托pipeVM托pipe环境使您可以在可configuration计算引擎虚拟机(VM)上运行App Engine应用程序。 您还可以使用托pipe虚拟机部署用户可configuration的自定义运行时 ,例如Node.js和其他运行时。

进入testing版的过程是:

注册并创build一个Managed VM项目

受pipe理的虚拟机处于“有限预览”中,您必须注册才能访问此function,创build支持计费的项目,并向我们介绍项目的相关信息,以便将其列入白名单以便在托pipe虚拟机中运行。 按着这些次序:

  1. 注册访问托pipe虚拟机。
  2. join应用引擎pipe理的vms Google小组,参与有关托pipe虚拟机的讨论。
  3. 项目(或应用程序 – 它们是相同的)必须在美国的数据中心。 如果您打算使用现有项目,请跳到下一步。 否则,请在美国数据中心创build一个新的应用程序。 转到https://preview.appengine.google.com并创build一个新的应用程序。;
  4. 为项目启用计费。 访问页面https://cloud.google.com/console/project/apps~ ,其中是项目的ID。 点击左侧菜单中的设置,然后启用结算。 如果您的应用是按照某个Premier帐户进行结算,请发送电子邮件至app-engine-managed-vm-tt-id@google.com,让您的新Cloud项目在同一个帐户下结算。
  5. 发送电子邮件至app-engine-managed-vm-tt-id@google.com并在主题行中添加应用程序ID。

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

Node.js由Joyent维护,Joyent是Google的竞争对手。

Node.js与Google没有任何联系,但实际上是build立在Google开放的一个开源项目之上的。

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

其中,这是我个人的感觉,并不是Node.js社区正在寻找的东西。 Node.js用于快速创build一个快速轻量级应用程序,例如,用于Phone应用程序的API的一个大份额。

不过,如果你正在寻找一个Node.js的PaaS,那么这里有很多:

  • Joyent (nodejitsu)
  • 有WebSockets支持的dotCloud 。
  • Windows Azure
  • Nodester (最近由App Fog购买)
  • 任何Cloud Foundry主机也应该支持Node.js。
  • 还有很多…

那些只是我头顶的一些名字。 有不less,但那些是主要的。 哦,也有Heroku ,但他们不支持WebSocket这是任何基于Socket.IO的应用程序是一个无赖。

您可以在Google Compute Engine(基本上是一台虚拟计算机)上轻松安装节点。 这是一个链接: https : //developers.google.com/datastore/docs/getstarted/start_nodejs/

问候拉尔斯

在谷歌appengine多年的经验,我现在切换到其他云服务。

我认为谷歌appengine实际上是一个在云计算行业的旧时尚服务。 这对新技术来说很慢,难以部署,浪费时间去学习apis,并且缺乏使用语言所需的许多function。

不pipe谷歌的大型社区,我不会build议任何人使用谷歌appengine。

[较新的paas]

我强烈build议您使用openshift,appfog,heroku等新的paas云计算技术,这些技术具有更强的可扩展性,更less的变化需求,更多的从一个平台迁移到另一个平台,更自由地编码自然语言的美丽及其标准图书馆没有丑陋的平台特定的API。

[IaaS的]

如果你想更多地控制运行的os环境,你可以给linode,数字海洋,亚马逊,谷歌云引擎,微软azure等iaas供应商一试。

由于App Engine是一种平台即服务,为了向GAE添加新的语言/堆栈,Google需要创build与App Engine服务的众多接口的中级库。

而且, 所有App Engine应用程序都是沙盒,并且在沙盒环境中有多个function限制。 这意味着,除了需要创build服务库之外,Google还需要为他们尝试引入GAE的任何语言/堆栈创build安全的沙箱环境。

我个人认为第二个原因是Google为什么不像Azure那样引入对新语言/堆栈的支持。 在某种程度上,App Engine比Azure更“pipe理”,对于新的语言/堆栈,App Engine的初始开发成本更高。

Node.js最近启用了对Google Cloud用户的支持。 主要的文件页面是:

  • Google云端平台上的Node.js
  • Google云数据存储 – Google Developers

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

Google是一家软件保守的公司。 用JavaScript编写后端对于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的

Google也join了Node.js基金会,Google开发了支持Chrome和Node.js的V8 JavaScript引擎: https : //nodejs.org/en/blog/announcements/welcome-google/

Google同时宣布与NodeSourcebuild立伙伴关系。

如果您对App Engine Standard上的NodeJS支持感兴趣,请对此问题进行演示: https : //issuetracker.google.com/issues/67711509 。

众所周知,Google目前不支持App Engine标准环境中的NodeJS(仅适用于App Engine Flexible环境)。

Google解决了社区关注的function(请参阅https://cloud.google.com/support/docs/issue-trackers#feature_requests )。 关注此function的最佳方法是在与上面链接的Google问题跟踪器上加注星标。