应用程序引擎,无服务器容器和gke无服务器插件之间的区别

时间:2018-08-31 03:30:06

标签: google-app-engine google-kubernetes-engine serverless

-App Engine被销售为无服务器

-谷歌的新serverless container报价是无服务器的,但是有什么不同呢?它们解释如下:

  

许多客户告诉我们他们有自定义要求,例如特定的运行时,自定义二进制文件或工作负载可移植性。通常,他们会向容器求助

“特定运行时”和“自定义二进制文件”分别是什么意思,为什么App Engine中的应用程序不可移植?

-GKE serverless add-on的广告是这样的:

  

您可以立即从源转到容器,自动缩放基于无状态容器的工作负载

这不是App Engine的功能吗?

我现在很困惑,应该至少在其中使用一些示例

1 个答案:

答案 0 :(得分:1)

  

App Engine以无服务器形式销售

App Engine绝对是现在称为serverless的地方,因为您只需要担心代码,而不用担心操作系统或拥有多少服务器。举一个简单的例子,我有一个使用TLS的App Engine应用,但我不必担心更新OpenSSL。

  

“特定运行时”和“自定义二进制文件”是什么意思,   为何,为什么App Engine中的应用程序不可移植?

较旧的App Engine标准运行时使用自定义的“沙盒”来管理您的应用。这意味着已修改“常规” Python,Java等运行时以添加限制,以便您的代码可以在共享环境中安全运行,例如与其他应用程序在同一服务器上。通常,提供了一些额外的API与其他云服务接口。这一切都意味着,至少在历史上,如果您为App Engine Standard编写代码,则必须进行一些修改才能在其他环境上运行,并且某些库将无法使用,因为它们受到了限制。

顺便说一下,有AppScale之类的开源项目试图模仿App Engine标准环境,因此这类应用程序在某种程度上是可移植的。

将此与基于容器的较新运行时进行对比。您的应用及其依赖项在container中运行,而不是使用自定义语言运行时来提供隔离,而容器系统则提供了隔离。由于不再对运行时进行过多的修改,因此许多限制都消失了,但是在没有进行所有修改的情况下,自定义API也消失了,而只支持您使用执行相同功能的独立服务。一个简单的例子是,在App Engine Python 2.7中,有一个ndb库与Datastore服务接口。如今,Cloud Datastore是具有自己的API的独立产品,您只需使用该API即可从一个Python 3.7应用。

  

GKE无服务器附加组件就是这样宣传的……这不是App Engine的功能吗?

GKE Serverless尚未发布,所以我们必须看看人们如何使用它,但是这个想法似乎是给那些已经在使用Kubernetes并想要App Engine功能如自动缩放以响应传入的用户的。要求。我在这里可能会很困惑。

相关问题