代码之家  ›  专栏  ›  技术社区  ›  John Balvin Arias

appengine、serverless容器和gke serverless附加组件之间的区别

  •  1
  • John Balvin Arias  · 技术社区  · 6 年前

    - App Engine

    -新的 serverless container 谷歌提供的服务是无服务器的,但有什么不同呢?,他们这样解释:

    许多客户告诉我们他们有定制需求,比如特定的运行时、定制二进制文件或工作负载便携性。更多他们常常求助于容器寻求答案

    他们所说的“特定运行时”和“自定义二进制文件”是什么意思,顺便问一下,为什么应用程序内的应用程序引擎是不可移植的?

    - GKE serverless add-on

    appengine不就是这么做的吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Jesse Scherer    6 年前

    appengine以无服务器销售

    serverless ,因为您只需担心代码,而不必担心操作系统或服务器数量。举个简单的例子,我有一个使用TLS的appengine应用程序,但是我不必担心更新OpenSSL。

    他们所说的“特定运行时”和“自定义二进制文件”是什么意思

    旧的应用程序引擎标准运行时使用自定义的“沙盒”来管理你的应用程序。这意味着“普通”的Python、Java等运行时已被修改,以添加限制,这样您的代码就可以安全地在共享环境中运行,例如在与其他应用程序相同的服务器上运行。通常会提供一些额外的api来与其他云服务接口。这一切都意味着,至少在历史上,如果您为appengine标准编写,您必须进行一些修改才能在其他环境中运行,而有些库将无法工作,因为它们会遇到限制。

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

    将此与基于容器的较新运行时进行对比。与提供隔离的自定义语言运行时不同,您的应用程序及其依赖项在 container ,容器系统提供隔离。因为运行时不再进行太多的修改,许多限制都消失了,但是如果没有所有的修改,自定义api也会消失,只会让您使用做同样事情的独立服务。一个简单的例子是,在appenginepython2.7中,有一个 ndb 与数据存储服务接口的库。如今,云数据存储是一个独立的产品,有自己的API,您只需使用该API与来自Python3.7应用程序的数据存储进行通信即可。

    GKE无服务器加载项是这样做的。。。appengine不就是这么做的吗?

    GKE Serverless还没有发布,所以我们必须看看人们是如何使用它的,但是这个想法似乎是为那些已经在使用Kubernetes并且希望应用程序引擎功能(如自动缩放)来响应传入请求的人而设计的。不过,我可能会很困惑。