Azure 容器实例和容器的 Web 应用程序之间有什么区别?

Sam*_*Sam 27 azure docker azure-container-instances

我刚刚使用 Azure 多容器实例部署了一个 Web 应用程序(node.js 容器和 mongo 容器)。它有点像 Docker Compose,但适用于 Azure 特定的 yaml 文件:https ://docs.microsoft.com/en-us/azure/container-instances/container-instances-multi-container-yaml

现在我看到有一种叫做“Azure Web App for Containers”的东西。这似乎适用于真正的 docker compose yaml 文件。

除了配置文件格式之外,还有其他区别吗?

注意:我说的是 Azure 容器实例而不是Azure 容器服务

4c7*_*b41 22

好吧,azure 容器实例仅在容器处于活动状态时向您收费,而 webapp 则在 webapp 存在时向您收费(因此一直如此)。这是它们之间最大的区别之一。

但总的来说,我会说 Azure Web App for Containers 只是在现有“东西”上运行容器的捷径。我最近了解到 Azure Web App for Containers 提供了 kubernetes 功能,因此这两个服务的发展方向略有不同。适用于容器的 Azure Web 应用程序针对长期运行的内容(始终运行),而 ACI 则针对计划\突发\短期工作负载(类似于 Azure Functions)。

  • 该段落中没有任何内容支持 ACI“针对短期工作负载”的说法。它只说它适用于独立的容器,而不是精心策划的多容器场景。 (4认同)
  • @Rikki 没有人质疑它们适合这些目的这一事实。问题是,ACI 是否仅适用于这些目的。我刚刚查看了 ACI 的最新文档,他们还说它们适合具有无服务器优势的“简单应用程序”,所以我仍然想澄清一下官方是否不推荐它们适用于长期应用。 (4认同)
  • 阅读前 5 行怎么样?“Azure 容器实例对于任何可以在隔离容器中运行的场景来说都是一个很好的解决方案,包括简单的应用程序、任务自动化和构建作业。对于需要完整容器编排的场景,包括跨多个容器的服务发现、自动扩展和协调应用程序升级,我们建议使用 Azure Kubernetes 服务 (AKS)。 (2认同)

小智 5

找到了MS 工作人员答案的链接

总之

容器 Web 应用程序

  • 如果您已经熟悉 Azure Web App 环境,建议您使用。
  • 如果您有一个或几个正在部署的长期运行的容器/服务,这是最好的选择。
  • 可以使用自定义 Docker 映像在 Azure 中尚未定义的应用程序堆栈上运行 Web 应用程序

Azure 容器实例

  • “Azure 容器实例对于任何可以在隔离容器中运行的场景来说都是一个很好的解决方案,包括简单的应用程序、任务自动化和构建作业”
  • 一种快速、轻量级且简单的容器运行方式 根据容器的活动时间计费(计费基于秒数、核心数和内存)
  • 可以在几秒钟内启动 Azure 中的容器,无需预配和管理 VM。
  • 还可以通过实验性 ACI 到 Kubernetes 连接器与 Kubernetes 配合使用
  • 目前,在 Azure 上部署容器的最快方式
  • 根据 Azure 文档,“Azure 容器实例保证您的应用程序在容器中像在 VM 中一样隔离。”