Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
团队可以通过多种选项在Azure上生成和部署云本机和容器化应用程序。 本文可帮助你了解最适合Azure Container Apps的方案和用例,以及它与Azure上其他容器选项的比较方式,包括:
- Azure Container Apps
- Azure App Service
- Azure Container Instances
- Azure Kubernetes Service
- Azure Functions
- Azure Red Hat OpenShift
不存在适合每个用例和每个团队的完美解决方案。 以下说明提供了一般指南和建议作为起点,以帮助确定最适合你的团队和需求的解决方案。
容器选项比较
Azure Container Apps
Azure Container Apps使你能够基于容器生成无服务器微服务和作业。 Container Apps 的独特功能包括:
- 经过优化以运行通用容器,特别适用于部署在多个容器内的微服务应用程序。
- 由 Kubernetes 以及 Dapr、KEDA 和 envoy 等开放源技术提供支持。
- 支持 Kubernetes 风格的应用,以及具有服务发现和流量拆分等功能的微服务。
- 通过支持基于流量的缩放并从队列等事件源拉取(包括缩放到零),实现事件驱动型应用程序架构。
- 支持运行按需作业、计划的作业和事件驱动的作业。
Azure Container Apps 不提供对基础 Kubernetes API 的直接访问。 如果需要access Kubernetes API 和控制平面,则应使用 Azure Kubernetes Service。 但是,如果想要构建 Kubernetes 风格的应用程序,并且不需要直接访问所有本机 Kubernetes API 和集群管理,容器应用程序将基于最佳实践提供完全托管的体验。 出于这些原因,许多团队更喜欢使用Azure Container Apps开始生成容器微服务。
可以通过快速入门开始生成您的第一个容器应用。
Azure App Service
Azure App Service为 Web 应用程序(包括网站和 Web API)提供完全托管的托管服务。 可以使用代码或容器部署这些 Web 应用程序。 Azure App Service针对 Web 应用程序进行优化。 Azure App Service与其他Azure服务(包括Azure Container Apps或Azure Functions)集成。 生成web apps时,Azure App Service是一个理想的选择。
Azure Container Instances(Azure 容器实例)
Azure Container Instances (ACI)按需提供 Hyper-V 隔离容器的单个 pod。 与 Container Apps 相比,可以将其视为较低级别的“构建基块”选项。 扩展、负载均衡和证书等概念未随 ACI 容器一起提供。 例如,若要扩展到五个容器实例,请创建五个不同的容器实例。 Azure Container Apps在容器的基础上提供许多特定于应用程序的概念,包括证书、修订、规模和环境。 用户通常通过其他服务与Azure Container Instances进行交互。 例如,Azure Kubernetes Service 可以通过 虚拟节点 在 ACI 之上实现编排和扩展。 如果您需要一个不那么“有主观倾向”的构建基块,而这个基块不符合Azure Container Apps优化的场景,那么Azure Container Instances是一个理想的选择。
Azure Kubernetes Service
Azure Kubernetes Service (AKS)在 Azure 中提供完全托管的 Kubernetes 选项。 它支持直接访问 Kubernetes API 并运行任何 Kubernetes 负载。 整个群集位于你的订阅中,群集配置和操作都由你控制和负责。 对于在 Azure 中寻找 Kubernetes 的完全托管版本的团队,Azure Kubernetes Service 是一个理想的选择。
Azure Functions
Azure Functions是无服务器函数即服务(FaaS)解决方案。 它针对使用函数编程模型运行事件驱动型应用程序进行了优化。 它与Azure Container Apps在扩展和与事件的集成方面共享许多特征,同时针对部署为代码或容器的短暂性函数进行了优化。 Azure Functions编程模型为希望在事件发生时触发函数执行并绑定到其他数据源的团队提供生产力优势。 生成 FaaS 样式的函数时,Azure Functions是理想的选择。 Azure Functions编程模型可用作基础容器映像,使其可移植到其他基于容器的计算平台,从而允许团队在环境要求发生变化时重复使用代码。
Azure Spring Apps
Azure Spring Apps 是 Spring 开发人员的完全托管服务。 如果要在 Azure 上运行 Spring Boot、Spring Cloud 或任何其他 Spring 应用程序,Azure Spring Apps 是一个理想的选择。 该服务管理 Spring 应用程序的基础结构,让开发人员可以专注于代码。 Azure Spring Apps 使用全面的监视和诊断、配置管理、服务发现、CI/CD 集成、蓝绿部署等提供生命周期管理。
Azure Red Hat OpenShift
Azure Red Hat OpenShift 由 Red Hat 联合设计、运营和支持,Azure为运行 Kubernetes 支持的 OpenShift 提供集成的产品和支持体验。 借助 Azure Red Hat OpenShift,团队可以选择自己的注册表、网络、存储和 CI/CD 解决方案,或使用 OpenShift 内置的解决方案进行自动源代码管理、容器和应用程序构建、部署、扩展、健康管理等。 如果你的团队或组织正在使用 OpenShift,Azure Red Hat OpenShift 是一个理想的选择。