在 App Engine 和 Compute Engine 中启动 docker 容器有什么区别?

Jua*_*pez 1 paas docker google-cloud-platform

鉴于您可以将 docker 镜像同时上传到应用引擎和计算引擎,对于一个总是在 docker 中包含他们的应用程序的人来说,真正的区别是什么?

根据一个类似的问题,差异归结为 PaaS 与 IaaS,但使用 docker 文件,您始终指定操作系统和运行时环境。所以我看到的唯一区别是你最终可能会通过提供一个容器来过度指定 App Engine。

Kyl*_*ien 5

从根本上说,如果您只想让您的应用程序在没有太多输入的情况下无缝快速地扩展,请使用 App Engine Flex。如果您想要更多控制权,可以使用其他 Google 产品以不同方式进行配置,请考虑使用 Compute Engine 的非托管实例组。

一些历史

值得注意的是,将 Docker 镜像添加到 Compute Engine 实例的能力是最近的一项发展。在此之前,App Engine Flexible 是镇上的新孩子,因为我们过去只有 App Engine 标准,绝对不允许您使用 Docker 作为基础。

主要区别

以下是我的经验中的主要差异:

  • App Engine 被设计为 PaaS 产品,因此您可以在 app.yaml 中自定义扩展参数,App Engine 会读取这些参数并接替您的工作。从技术上讲,您可以使用 Compute Engine 执行此操作,但它涉及更多配置 - 您需要设置实例组、后端和前端。有了 App Engine,这一切都会为您处理
  • 您不能在 App Engine 之上设置任何负载平衡器或任何外围服务或产品。App Engine Flexible 走得更远,为用户提供更多控制权和更多(抱歉)灵活性。但是,它不允许与其他服务无限制地集成。而使用 Compute Engine,您可以设置 HTTPs 负载平衡器,将您的机器添加到不同的网络和子网,设置自定义标签等...

另外请注意,可以在此处找到有关 App Engine 和 Compute Engine 之间区别的更详细说明。