谷歌云计算中的Google Compute Engine, App Engine和Container Engine之间有什么区别?

37

Google云计算中的Google Compute Engine、App Engine和Container Engine实际上有什么区别?何时使用它们?

有没有好的例子来理解这三个引擎?


3个回答

78

(免责声明:本人是Google Cloud Platform团队的一员,但这只是个人回答。)

所有这些解决方案都允许您在云中托管应用程序。您可以将它们视为一种控制/自动管理的光谱。还有另一件事需要考虑:App Engine有两个环境,“标准”和“灵活”。

因此,这个光谱最终变成了:

  • App Engine标准版:有限的运行时(Python、Java、PHP、Go),非常简单易用,自动缩放等。专门为App Engine设计的重点API。
  • App Engine灵活版:任何你可以放入容器中的东西,自动缩放等。
  • Container Engine:你将应用程序设计为微服务,指定它们如何进行缩放等,但让Container Engine(基于Kubernetes的Google Cloud Platform实现)执行缩放。
  • Compute Engine:带有优势的托管VM。一些功能,例如实时迁移,在Managed Instance Groups中的自动缩放,但比上面的“裸机”更多。

基本上,您需要决定要多么“亲手操作”。您决定要采取的控制越多,您需要做的工作就越多,但您可以获得更精确的调整(和灵活性)。

另外,App Engine标准版支持“缩放到零” - 如果您的应用程序没有任何流量,它可以完全休眠。这使它成为业余项目的绝佳环境。


那么,如果我想从AWS EC2迁移到Google云平台,那么Google Compute Engine会更好,对吧? - 0xAliHn
@0xAliHn:我不想对此进行猜测 - 部分原因是因为我对AWS了解不多,部分原因是因为我们需要了解更多细节。但如果您基本上需要虚拟机,则计算引擎是自然选择。当然,您可能希望考虑以后转向更受管理的解决方案。 - Jon Skeet
@JonSkeet 我正在使用应用引擎,但我需要使用一个会对我的应用引擎进行一些回调的服务。由于这个问题,他们需要我应用引擎的静态IP地址和端口。如果我没记错的话,应用引擎并没有提供这些详细信息。我是否应该切换到容器引擎,或者如何为他们提供静态IP地址和端口? - Edijae Crusar
@gikarasojokinene:老实说,我不知道容器引擎是否会给你一个静态IP地址。我建议你提出一个新问题来专门讨论这个问题。 - Jon Skeet
3
我无法理解灵活的应用引擎和容器引擎之间的区别。它们的目的有何不同? - Piotr Gwiazda
1
@PiotrGwiazda灵活的App Engine仍然是FaaS,因此会话由请求启动并在响应内结束,并且有时间限制。Container Engine(GKE)更像是一个典型的VM服务:您完全控制生命周期。 - Tom

2
云服务提供了从完全托管到较少托管的一系列选项。较少托管的服务给开发人员更多的控制权。以下是它们之间的区别: enter image description here

1

Compute Engine更多地关注基础设施方面。 App Engine更多地关注应用程序方面。 Container Engine更多地关注集群管理和容器编排系统,旨在运行和管理Docker容器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接