你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Spring Apps 是什么?

注意

基本、标准和企业计划将从 2025 年 3 月中旬开始弃用,停用期为 3 年。 建议转换到 Azure 容器应用。 有关详细信息,请参阅 Azure Spring Apps 停用公告

标准消耗和专用计划将于 2024 年 9 月 30 日开始弃用,并在六个月后完全关闭。 建议转换到 Azure 容器应用。 有关详细信息,请参阅将 Azure Spring Apps 标准消耗和专用计划迁移到 Azure 容器应用

本文适用于:✔️ 企业计划✔️ 标准消耗和专用计划(预览版)✔️ 基本/标准计划

借助 Azure Spring Apps,可以轻松地将 Spring Boot 应用程序部署到 Azure,不需更改任何代码。 该服务管理 Spring 应用程序的基础结构,让开发人员可以专注于代码。 Azure Spring Apps 可以通过以下方法提供生命周期管理:综合性监视和诊断、配置管理、服务发现、CI/CD 集成、蓝绿部署等。

以下视频显示了一个应用,该应用由使用 Azure Spring Apps 在 Azure 上运行的 Spring Boot 应用程序组成。


为何要使用 Azure Spring Apps?

将应用程序部署到 Azure Spring Apps 后可以获得以下优势:

  • 有效地迁移现有 Spring 应用并管理云缩放和成本。
  • 使用 Spring Cloud 模式实现应用现代化,以提高敏捷性和交付速度。
  • 以云规模运行 Java,并在不使用复杂基础结构的情况下提高利用率。
  • 无需依赖容器化即可快速开发和部署。
  • 有效轻松地监视生产工作负载。

Azure Spring Apps 同时支持 Java Spring Boot 和 ASP.NET Core Steeltoe 应用。 Steeltoe 支持目前以公共预览版的形式提供。 使用公共预览版产品/服务,可以在产品/服务正式发布之前体验新功能。

服务概述

Azure Spring Apps 是 Azure 生态系统的一部分,用户可以通过它轻松绑定到其他 Azure 服务,其中包括存储、数据库、监视等,如下图所示:

示意图显示 Azure Spring Apps 如何与其他服务和工具交互的概览。

Azure Spring Apps 提供以下功能:

  • 适用于 Spring Boot 应用的完全托管服务,让你可以专注于构建和运行应用,而无需管理基础结构。

  • 为 Spring Boot 应用部署 JAR 或代码时,或者为 Steeltoe 应用部署 zip 文件时,使用 Spring 服务运行时和内置的应用生命周期支持来自动连接应用。

  • 方便监视。 部署后,可以监视应用性能,修复错误以及快速改进应用程序。

  • 与 Azure 的生态系统和服务的完全集成。

  • 提供完全托管的基础结构和内置生命周期管理,随时可在企业中部署。

Azure Spring Apps 入门

以下文章可帮你入门:

以下快速入门仅适用于基本/标准计划。 有关企业快速入门,请参阅企业计划入门部分。

企业计划

Enterprise 计划为商业支持的 Tanzu 组件提供 SLA 保证。 有关详细信息,请参阅适用于 Azure Spring Apps 的 SLA。 此支持可帮助企业客户放心地更快交付任务关键型工作负载。 Enterprise 计划有助于释放 Spring 的全部潜力,同时将功能奇偶一致性和区域奇偶校验与标准计划纳入其中。

以下视频介绍了 Azure Spring Apps Enterprise 计划。


部署和管理 Spring 和多语言应用程序

Azure Spring Apps 企业计划提供完全托管的 VMware® Tanzu Build Service。 Tanzu Build Service 使用以下生成包选项在企业范围内自动创建、管理和治理容器:

Tanzu Build Service 为生成应用程序提供更高级别的抽象。 Tanzu Build Service 还会提供控制平衡,以减少开发人员的操作负担,并支持大规模管理应用程序的企业 IT 操作员。 可以配置 Tanzu Buildpacks 来应用和生成连同 Spring 应用程序一起在 Azure Spring Apps 上运行的多语言应用程序。

使用 Tanzu Buildpacks 可以更轻松地生成 Spring、Java、NodeJS、Python、Go 和 .NET Core 应用程序。 你还可以使用 Tanzu Buildpacks 来配置应用程序性能监视代理,例如 Application Insights、New Relic、Dynatrace、AppDynamics 和 Elastic。

将客户端请求路由到应用程序

可以使用适用于 VMware Tanzu 的完全托管的 Spring Cloud Gateway 和适用于 VMware Tanzu 的 API 门户来管理和发现应用程序公开的请求路由和 API。

Spring Cloud Gateway for Tanzu 可将不同的客户端请求有效路由到 Azure Spring Apps、Azure 和本地中的应用程序。 Spring Cloud 网关还解决了网关后面的应用程序的跨领域注意事项。 这些注意事项包括保护、路由、速率限制、缓存、监视、复原和隐藏应用程序。 可以对 Spring Cloud 网关进行以下配置:

  • 单一登录与首选标识提供者集成,无需使用任何额外代码或依赖项。
  • 无需重新部署任何应用程序即可将动态传递规则路由到应用程序。
  • 没有任何后备服务的请求限制。

借助适用于 VMware Tanzu 的 API 门户,API 使用者能够查找和查看由 Spring Cloud Gateway for Tanzu 公开的 API 路由详细信息并测试 API 请求。

使用灵活且可配置的 VMware Tanzu 组件

使用 Azure Spring Apps Enterprise 计划,可以在 Azure 上使用完全托管的 VMware Tanzu 组件,而无需执行麻烦的操作。 可以在 Enterprise 实例创建期间或之后选择要在环境中使用的 VMware Tanzu 组件。 提供以下组件:

VMware Tanzu 组件提供了更高的价值,因此可以完成以下任务:

  • 使用端到端可观测性将企业级应用程序组合从几个应用程序发展到数千个,同时将操作复杂性委托给 Microsoft 和 VMware。
  • 跨 Azure Spring Apps 和任何其他计算环境直接迁移 Spring 应用程序。
  • 根据需要控制生成依赖项、部署多语言应用程序和 Spring Cloud 中间件组件。

通过长期支持 (LTS) 充分释放 Spring 的潜能

Azure Spring Apps Enterprise 计划包括对应用程序开发和部署的 VMware Spring Runtime 支持。 有了此支持,你将有权访问 Spring 专家,从而能够充分利用 Spring 生态系统的全部潜能,加快开发和部署应用程序的速度。

通常,开源 Spring 项目次要版本在自初始发布之日起至少 12 个月内可享受支持。 在 Azure Spring Apps 企业计划中,自初始发布日期起,Spring 项目次要版本至少可以获得 24 个月的商业支持。 此外延支持可以通过 VMware Spring 运行时支持权利获得,可以确保 Spring 应用程序组合的安全性和稳定性,即使开放源代码的生命周期已结束。 有关详细信息,请参阅 Spring Boot

完全集成到 Azure 和 Java 生态系统中

Azure Spring Apps(包括 Enterprise 计划)在完全托管的环境中在 Azure 上运行。 你将获得 Azure 和 Java 生态系统的所有优势,其体验令人熟悉而且直观,如下表中所述:

最佳做法 生态系统
使用预配工具创建服务实例。 Azure 门户、CLI、ARM 模板、Bicep 或 Terraform
自动执行环境和应用程序部署。 GitHub、Azure DevOps Server、GitLab 和 Jenkins
使用任何工具和平台进行端到端监视。 Application Insights、Azure Log Analytics、Splunk、Elastic、New Relic、Dynatrace 或 AppDynamics
连接 Spring 应用程序并与云服务交互。 与 Azure 服务进行 Spring 集成,用于数据、消息传送、事件处理、缓存、存储和目录
安全地加载应用机密和证书。 Azure Key Vault
使用熟悉的开发工具。 IntelliJ、Visual Studio Code、Eclipse、Spring Tool Suite、Maven 或 Gradle

创建 Enterprise 计划服务实例并部署应用程序后,可以使用 Application Insights 或选择的任何其他应用程序性能管理工具进行监控。

开始使用 Enterprise 计划

以下文章可帮助你开始使用 Enterprise 计划:

大多数 Azure Spring Apps 文档适用于所有计划。 某些文章仅适用于 Enterprise 计划,或仅适用于基本/标准计划,如每篇文章开头部分所示。

作为快速参考,前面列出的文章和以下列表中的文章仅适用于企业计划,或包含仅适用于企业计划的重要内容:

标准消耗和专用计划

标准消耗和专用计划提供混合定价解决方案,其中结合了即用即付和基于资源的定价优势。 此综合套餐非常灵活,一开始你只需为计算时间付费,同时在资源扩展时享受增强的成本可预测性和大幅节省。

在创建标准消耗和专用计划时,默认情况下始终会创建一个消耗工作负载配置文件。 此外,还可以将专用工作负载配置文件添加到同一计划,以满足工作负载的要求。

工作负载配置文件决定了标准消耗和专用计划中部署的 Spring 应用可用的计算和内存资源量。 不同的工作负载配置文件提供不同的计算机大小和特征。 有关详细信息,请参阅 Azure 容器应用的“消耗 + 专用”计划结构环境中的工作负载配置文件(预览版)

可以使用消耗配置文件或专用工作负载配置文件的任意组合来运行应用。 当应用程序需要从零个实例开始或者需要缩减为零时,请考虑使用消耗工作负载配置文件。 如果需要为单个租户使用专用硬件,以及需要使用与内存优化计算机相同的可自定义计算,请使用专用工作负载配置文件。 当资源大规模运行时,也可以使用专用工作负载配置文件进行优化,以节省成本。

标准消耗和专用计划简化了用于运行多语言应用程序的虚拟网络体验。 在标准消耗和专用计划中,当你将前端应用程序部署为 Azure 容器应用中的容器时,所有应用程序将在同一个 Azure 容器应用环境中共享同一个虚拟网络。 无需为前端应用、Spring 应用和 Spring 服务运行时创建不同的子网和网络安全组。

下图显示了 Azure Spring Apps 中虚拟网络的体系结构:

显示使用 Azure Spring Apps 标准消耗和专用计划的应用体系结构的示意图。

开始使用标准消耗和专用计划

以下文章可帮助你开始使用标准消耗和专用计划:

后续步骤

可在 GitHub 上找到示例。 请参阅 Azure Spring Apps 示例

有关 Azure Spring Apps 的功能更新,请参阅 Azure 更新