Google App Engine和Google Compute Engine有什么区别?

我想知道App Engine和Compute Engine有什么区别。 任何人都可以向我解释这个区别吗?

App Engine是一个平台即服务。 这意味着您只需部署您的代码,而平台则为您执行其他任何操作。 例如,如果您的应用程序变得非常成功,App Engine将自动创build更多实例来处理增加的音量。

了解更多关于App Engine的信息

计算引擎是基础架构即服务。 您必须创build并configuration您自己的虚拟机实例。 它给你更多的灵活性,一般比App Engine的成本更低。 缺点是你必须自己pipe理你的应用程序和虚拟机。

详细了解计算引擎

如有必要,您可以混用App Engine和Compute Engine。 它们与Google云端平台的其他部分都能很好地协作 。

编辑(2016年5月):

另一个更重要的区别是:如果没有请求进入,在App Engine上运行的项目可以缩减到零个实例。这在开发阶段非常有用,因为您可以在几个星期内完成,而不必超过实例小时的慷慨免费配额。 灵活的运行时(即“托pipe虚拟机”)至less需要一个实例运行。

编辑(2017年4月):

云计算function (目前处于testing阶段)是App Engine在抽象层面上的下一个级别 – 没有实例! 它允许开发人员部署一小段代码,以响应不同的事件,这些事件可能包括HTTP请求,云存储中的更改等。

与App Engine最大的区别在于function每100毫秒定价,而App Engine的实例仅在闲置15分钟后closures。 另一个优点是云function立即执行,而对App Engine的调用可能需要一个新的实例 – 而冷启动一个新的实例可能需要几秒或更长的时间(取决于运行时和代码)。

这使得云function成为(a)罕见调用的理想select – 无需保存实例以防发生事件,(b)在实例经常旋转和closures的情况下快速更改负载,以及更多的用例。

了解更多关于云端function

基本的区别在于, Google App Engine( GAE )是平台即服务( PaaS ),而Google计算引擎( GCE )是基础架构即服务( IaaS ) 。

要在GAE中运行应用程序,只需编写代码并将其部署到GAE中,不需要其他头痛。 由于GAE具有完全可扩展性,因此在stream量越来越高的情况下,它将自动获取更多的实例,并在stream量减less时自动减less实例。 您将被收取您真正使用的资源,我的意思是,您将收到您的应用程序真正使用的Instance-HoursTransfer DataStorage等等。 但是限制是,你可以只用Python,PHP,JavaGo来创build你的应用程序。

另一方面,GCE以虚拟机的forms为您提供完整的基础架构。 您可以完全控制这些VM的环境和运行时,因为您可以在那里编写或安装任何程序。 实际上,GCE是虚拟使用Google数据中心的方式。 在GCE中,您必须手动configuration您的基础架构以使用Load Balancer来处理可伸缩性

GAE和GCE都是Google云端平台的一部分。

更新: 2014年3月,Google宣布了名为托pipe虚拟机的 App Engine下的一项新服务。 托pipe虚拟机为应用程序引擎应用程序提供了比应用程序平台,CPU和内存选项更多的灵活性。 像GCE一样,您可以在这些虚拟机中为应用程序引擎应用程序创build自定义运行时环境。 实际上App Engine的pipe理虚拟机在一定程度上模糊了IAAS和PAAS之间的边界。

简单来说:计算引擎为您提供了一个完全控制/负责的服务器。 您可以直接访问操作系统,并安装所需的所有软件,通常是Web服务器,数据库等。

在应用程序引擎中,您不pipe理任何底层软件的操作系统。 你只上传代码(Java,PHP,Python,或Go),瞧 – 它只是运行…

应用程序引擎可以节省大量的头痛,尤其是对于没有经验的人来说,但它有两个明显的缺点:1.更昂贵的(但它有一个免费的计算引擎没有的配额)2.你有更less的控制,因此某些事情不是可能的,或只能以一种特定的方式(例如保存和写入文件)。

App Engine使开发人员能够控制Google Compute Engine核心,并为Google Compute Engine数据处理应用程序提供面向networking的前端。

另一方面,计算引擎提供了直接和完整的虚拟机操作系统pipe理。 要展示您的应用程序,您将需要资源,而Google云端存储是存储您的资产和数据的理想select,无论它们用于何种应用程序。 您可以在全球各地托pipe快速的数据访问。 可靠性保证在99.95%的正常运行时间,Google也提供了备份和恢复数据的能力,信不信由你,存储是无限的。

您可以使用Google云端存储pipe理您的资产,存储,检索,显示和删除它们。 您还可以快速读取和写入保存在云存储中的平面数据表。 在Google云阵容中,接下来是BigQuery。 借助BigQuery,您可以分析大量的数据,我们正在几秒钟内就可以logging数百万条logging。 访问是通过一个简单的用户界面,或一个具象状态传输或REST接口来处理的。

正如你可能会怀疑的那样,数据存储不是问题,可以扩展到数百TB。 BigQuery可通过大量客户端库访问,包括Java,.NET,Python,Go,Ruby,PHP和Javascript。 可以通过这些客户端库或Web用户界面访问一个名为NoSQL的类似SQL的语法。 最后,我们来谈谈Google Cloud平台数据库选项,Cloud SQL和Cloud Datastore。

有一个主要的区别。 云SQL用于关系数据库,主要是MySQL,而云数据存储用于使用noSQL的非关系​​数据库。 借助云端SQL,您可以select在美国,欧洲或亚洲托pipe,存储容量为100 GB,每个数据库实例的RAM为16 GB。

云数据存储可免费获得,每月最多50 K读/写指令,每月存储1 GB数据。 但是,如果您超过这些配额,则会收取费用。 App Engine还可以与Google Cloud平台上其他名不见经传的更有针对性的成员合作,包括用于创buildAPI后端的Cloud Endpoints,用于数据分析和趋势预测的Google Prediction API或用于多语言输出的Google Translate API。

尽pipe您可以使用App Engine自行开发相当数量的应用程序,但如果将其Google云平台服务与其他Google云平台服务一起轻松高效地工作,则可能会大大增加。

或者让它变得更简单(因为有时我们不能区分GAE标准和GAE Flex):

计算引擎类似于虚拟PC,例如,您将部署一个小型网站+数据库。 您pipe理一切,包括控制已安装的磁盘驱动器。 如果您部署网站,则需要负责设置DNS等

Google App Engine(标准版)就像是一个只读的沙盒文件夹,您可以在其中上传代码,而不必担心其余部分(是:只读)。 DNS /子域名等是很容易映射。

Google App Engine(灵活)实际上就像是一个完整的文件系统(不仅仅是一个locking的文件夹),在那里你比标准引擎有更多的权力,比如你有读/写权限(但是与计算引擎)。 在GAE标准中,您为您安装了一组固定的库,您不能随意部署第三方库。 在灵活的环境中,您可以安装应用程序所依赖的任何库,包括自定义构build环境(如Python 3)。

尽pipeGAE标准很难处理(虽然谷歌听起来很简单),但在承受压力的时候,它的规模确实很好。 这很麻烦,因为您需要testing并确保与locking环境的兼容性,并确保您使用的任何第三方库不使用任何其他您不知道的第三方库,这些库可能不适用于GAE标准。 在实践中设置它需要更长的时间,但是对于简单的部署,可以在更长的时间内获得更多的回报。