了解 Azure 容器应用
有许多选项可供团队在 Azure 上构建和部署云原生应用程序和容器化应用程序。 让我们了解哪些方案和用例最适合 Azure 容器应用,以及它与 Azure 上的其他容器选项相比的不同之处。 听开发人员对 Azure 容器实例的看法。
有关 Azure 容器应用的知识
Azure 容器应用 是一个无服务器平台,可让你在运行容器化应用程序时保持更少的基础结构并节省成本。 容器应用提供所有最新的服务器资源,以确保你的应用程序稳定和安全,而无需担心服务器配置、容器编排和部署详细信息。
Azure 容器应用的常见用途包括:
- 部署 API 终结点
- 承载后台处理作业
- 处理事件驱动的处理
- 运行微服务
基于 Azure 容器应用构建的应用程序可根据以下特征动态缩放:
- HTTP 流量
- 事件驱动的处理
- CPU 或内存负载
- 任何支持 KEDA 的缩放器
使用 Azure 容器应用时要注意的事项
使用 Azure 容器应用,可以基于容器生成无服务器微服务和作业。 Container Apps 的独特功能包括:
- 针对运行常规用途容器进行了优化,特别是对于跨部署在容器中的多个微服务的应用程序。
- 由 Kubernetes 以及 Dapr、KEDA 和 envoy 等开放源技术提供支持。
- 支持 Kubernetes 风格的应用,以及具有服务发现和流量拆分等功能的微服务。
- 通过支持基于流量的缩放(包括缩放到零),以及从队列等事件源拉取,实现事件驱动型应用程序体系结构。
- 支持运行按需作业、计划的作业和事件驱动的作业。
Azure Container Apps 不提供对基础 Kubernetes API 的直接访问。 如果你要生成 Kubernetes 风格的应用程序,并且不需要直接访问所有本机 Kubernetes API 和群集管理,容器应用可以提供基于最佳做法的完全托管体验。 出于这些原因,许多团队更喜欢使用 Azure 容器应用开始构建容器微服务。
容器管理解决方案的比较
可以通过多种方式管理 Azure 容器实例 (ACI)。 Azure 容器应用 (ACA) 是一种方式,Azure Kubernetes 服务 (AKS) 是另一种方式。 以下比较表格说明了在哪种情况下适合使用 ACA 和 AKS。
功能 | Azure 容器应用 (ACA) | Azure Kubernetes 服务 (AKS) |
---|---|---|
概述 | ACA 是一个无服务器容器平台,可以通过抽象掉底层基础结构来简化基于微服务的应用程序的部署和管理。 | AKS 通过将操作开销分担到 Azure 来简化在 Azure 中部署托管 Kubernetes 群集的过程。 它适合用于需要业务流程的复杂应用程序。 |
部署 | ACA 提供 PaaS 体验,具备快速部署和管理功能。 | AKS 为 Kubernetes 环境提供更多控制和自定义选项,因此适合用于复杂的应用程序和微服务。 |
管理 | ACA 建立在 AKS 的基础之上,提供简化的 PaaS 体验来运行容器。 | AKS 提供对 Kubernetes 环境的更精细控制,适合拥有 Kubernetes 专业知识的团队。 |
伸缩性 | ACA 既支持基于 HTTP 的自动缩放,也支持事件驱动的缩放,非常适合用于需要对需求变化快速做出响应的应用程序。 | AKS 提供水平 Pod 自动缩放和群集自动缩放,为容器化应用程序提供可靠的可伸缩性选项。 |
用例 | ACA 专为可受益于快速缩放和简化管理的微服务及无服务器应用程序而设计。 | AKS 最适合复杂的长时间运行的应用程序。 这些应用程序需要完整的 Kubernetes 功能,并与其他 Azure 服务紧密集成。 |
集成 | ACA 与 Azure 逻辑应用、Functions 和事件网格集成,以实现事件驱动的体系结构。 | AKS 提供用于 Kubernetes 的 Azure Policy、用于容器的 Azure Monitor 和用于 Kubernetes 的 Azure Defender 等功能,以实现全面的安全性和治理。 |