Azure Spring Cloud 和 AKS 都是运行 Spring Boot 应用的绝佳目的地。Azure Spring Cloud 是专为 Spring 应用程序设计的完全托管的应用程序平台,而 AKS 是适用于所有容器化应用程序的通用 Kubernetes 服务。对于 Spring Boot 应用程序,Azure Spring Cloud 提供比 AKS 更深入的支持和功能,我将按照您在问题中提出的不同观点对其进行分解。
部署
在 Azure Spring Cloud 中,您可以直接部署您的应用程序而无需容器化。您可以将现有 CI/CD 管道连接到 Azure Spring Cloud,甚至可以直接从源代码进行部署。在 AKS 中,您需要先将应用程序容器化。
Auto Scaling
由于 Azure Spring Cloud 实际上利用 AKS 作为底层基础结构并与 Azure 监视器进行了内置集成,因此您可以在两个平台上进行自动缩放。但是,Azure Spring Cloud 将为您提供有关应用程序的更多指标(即:“应用程序 CPU 使用率”)。AKS 中仅提供容器级别的指标。
总体成本
作为托管 PaaS,由于额外的管理价值,Azure Spring Cloud 总是比 AKS 贵。在比较成本时,而不是简单地看标价,考虑以下因素也很重要:
- 托管 AKS 的人工成本
- JDK 和 Spring 级别的补丁和维护升级。请参阅本文中概述的持续责任网格。
- 在 AKS 中运行应用所需的资源开销。(即:入口控制器、节点碎片、用于快速扩展的节点预留……)
监控
Azure Spring Cloud 在应用程序级监控方面提供了更多关键差异。除了与 Azure 监视器的内置集成外,Azure Spring Cloud 还提供与 New Relic、Dynatrace 和 AppDynamics 的开箱即用集成。所有这些也可以与 AKS 一起使用,但需要额外的设置和维护。