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并且希望应用程序引擎功能(如自动缩放)来响应传入请求的人而设计的。不过,我可能会很困惑。