Azure Spring Apps 企业版 – 更强大的性能、可扩展性和扩展的 Spring Boot 支持

工程 | Josh Long | 2023年7月11日 | ...

你能相信 Spring 今年正在庆祝它的 20 周年纪念吗?如果没有全球数百万 Spring 开发人员的支持,我们不可能走到今天,谢谢你们!Spring 一直是 Java 开发人员的重要工具,并且它正在以飞快的速度继续发展和创新。从一开始,Azure 和 VMware Tanzu 就一直是客户运行关键任务 Java 和 Spring 工作负载的值得信赖的合作伙伴。我们对 Java Spring 开发人员社区的承诺和喜爱从未动摇。

Microsoft 和 VMware Tanzu 持续合作

Microsoft 与 Spring 团队的合作始于 2016 年,这对我们共同的目标——使 Spring 应用能够充分利用云的强大功能——至关重要。我们倾听了 Spring 开发人员表达的愿望:他们希望专注于应用程序代码和业务逻辑,而不是被管理、保护和扩展基础设施、容器和虚拟机的复杂性所困扰。为了解决这个问题,Microsoft 和 VMware Tanzu 合作创建了 Azure Spring Apps——旨在简化您的开发和运维工作流程,并加快您从代码到生产的旅程。作为 Microsoft Azure 生态系统中的一个关键服务,Azure Spring Apps 已经获得了显著的关注。许多客户,包括博世Digital Realty联邦快递克罗格Liantis摩根士丹利国民人寿Raley's瑞士再保险,都采用了这项服务来支持其关键任务型企业级 Java Spring 应用程序。

Azure Spring Apps 企业版旨在通过提供商业支持的 Spring 运行时组件和访问 Spring 专家来加快企业应用程序的开发和部署。它基于标准层中提供的功能,允许用户利用扩展的 Azure 生态系统来增强其 Spring 应用程序,从而加快生产路径并实现 Spring 功能的全面应用。

今天,我们很高兴地宣布 Azure Spring Apps 企业版获得了重大增强。这些改进将增强安全性、加快开发速度、提高可扩展性,并提供更高的灵活性和可靠性。我们很高兴与您分享这些发展,并期待看到它们如何增强您的体验。

Java 应用程序和 GraalVM

在传统设置中,Java 应用程序在 Java 运行时环境 (JRE) 中运行。但是,GraalVM 原生镜像功能的引入标志着一次重大转变。它允许您将 Java 应用程序编译成独立的可执行文件,也称为原生镜像。此新流程的优势非常显著;与传统的 Java 虚拟机 (JVM) 相比,原生镜像具有更快的启动时间和更低的运行时内存开销。现在,在 Azure Spring Apps 企业版中,您可以选择使用部署 Spring 原生镜像应用程序,方法是使用用于 Java 原生镜像的 Cloud Native Buildpack,从而使整个过程更简单、更高效。您可以在下面阅读有关此增强功能的更多信息。

增强的功能

在过去的五年里,我们对开发人员和客户的经验和反馈有了显著的了解和认识。我们致力于倾听客户的声音和他们的需求。认识到对更大规模运行和扩展企业应用程序的需求日益增长,我们很高兴地宣布一系列对 Azure Spring Apps 企业版的增强。这些增强直接反映了我们持续努力满足并超越客户期望的决心。

图 1. – 显示 Azure Spring Apps 企业版的增强列表:之前与现在及用户益处

探索增强的功能及其主要优势

让我们看看增强的功能及其主要优势。

享受增强的可靠性和显著减少的停机时间

改进的服务级别协议 (SLA):Azure Spring Apps 企业版现在提供改进的 99.95% SLA,增强了可靠性并减少了企业潜在的停机时间。

此增强功能承诺每年大约 4.34 小时的潜在停机时间,比之前的 SLA 减少了 50%。新的 SLA 提供了全面的保证,其中考虑了 Azure Spring Apps 管理的所有组件。这包括关键要素,例如 Azure Kubernetes Service、Azure 存储、Azure Container Registry、网络元素以及各种 Spring 组件,例如应用程序配置服务、服务注册表、Spring Cloud Gateway 和 Tanzu Build Service。本质上,99.95% 的 SLA 提供了更一致、更可靠的服务,并显著减少了中断,这对拥有关键任务操作的企业至关重要。

这种全面的保证与自行 (DIY) 应用程序环境的 SLA 形成鲜明对比,在自行 (DIY) 应用程序环境中,SLA 是各种单个服务的 SLA 和您自己开发的控制平面组件(如有)的总和。例如,完全托管的 K8S 服务为 Kubernetes API 服务器连接提供 SLA,但不为运行应用程序工作负载的节点提供 SLA。这些节点作为虚拟机,具有其自身的 SLA。Azure 存储和 Azure Container Registry 等服务也具有其自身的可用性保证。当您在 Kubernetes 环境中使用您自己的入口控制器和 Spring 组件时,您必须确保所有必要的冗余和检测工具,以衡量 SLA 并补救停机时间。为了实现与 Azure Spring Apps 企业版 99.95% 相当的应用程序可用性,您需要为所有服务组件和您的控制平面组件构建冗余,并持续监控和调整任何中断。

体验增强的可扩展性 – 容量提升

提升包括增强的托管功能,最多可提供1000 个应用程序实例、大型应用程序支持和高效的构建流程。

最多 1000 个应用程序实例:Azure Spring Apps 企业版现在提供了一个强大的托管环境的预览版,该环境能够容纳每个服务实例最多 1000 个应用程序实例,为企业提供其工作负载所需的扩展能力。通过支持每个服务实例最多 8000 个虚拟 CPU 和 32 TB 的内存,Azure Spring Apps 企业版使组织能够有效且高效地满足苛刻的计算和内存需求。当然,您可以在一个区域中配置任意数量的服务实例,或在任意数量的区域中配置服务实例。

更大的应用程序实例:此外,Azure Spring Apps 企业版通过支持更大的应用程序实例为用户提供了增强的价值,每个应用程序实例最多可提供 8 个虚拟 CPU (vCPU) 和 32 GB 的内存。这种增强的容量允许用户部署需要更多计算能力和内存的资源密集型应用程序,从而使他们能够有效地满足其工作负载的需求。

高效的构建流程:为了实现更高效、更快速的应用程序构建流程,特别是对于复杂且资源密集型应用程序,Azure Spring Apps Enterprise 增加了构建代理池的资源分配高达 64 个 vCPU 和 128 GB 内存。凭借这些充足的资源,您可以高效地在资源丰富的环境中构建任何应用程序,确保更流畅、更快速的编译过程。

更快的启动时间和优化的内存使用

*Java 原生镜像支持:Azure Spring Apps Enterprise 现已推出预览版功能,支持 Java 原生镜像,可实现更快的启动时间和优化的内存使用。*

GraalVM 原生镜像功能允许您将 Java 应用程序编译成独立的可执行文件,即原生镜像。与传统的 JVM(Java 虚拟机)相比,这些可执行文件可以提供显著的优势,包括更快的启动时间和更低的运行时内存开销。您可以使用部署 Spring Boot 原生镜像应用程序,方法是使用用于 Java 原生镜像的 Cloud Native Buildpack

下图 2 显示了原生镜像部署的优化内存使用情况——对于每秒 400 个请求的恒定工作负载进入Petclinic 应用程序的单体版本,其内存消耗约为等效 JAR 部署的 1/5。

由于底层过程的复杂性,GraalVM 需要大量的资源来构建 Java 原生镜像。生成原生镜像所涉及的编译和优化步骤需要大量的计算能力和内存。

在 Azure Spring Apps Enterprise 中,您可以最多分配64 个 vCPU 和 128 GB内存给构建代理池。凭借这些充足的资源,您可以在高效且资源丰富的环境中构建 Java 原生镜像。

图 2 – 显示了原生镜像部署的优化内存使用情况——对于每秒 400 个请求的恒定工作负载进入 Petclinic 应用程序的单体版本,其内存消耗约为等效 JAR 部署的 1/5。

自建 Azure 容器注册表——跨环境的无缝部署

*自建 ACR:Azure Spring Apps Enterprise 现在提供灵活的自建 Azure 容器注册表 (ACR) 功能,从而促进跨不同环境的无缝应用程序部署。*

使用 Azure Spring Apps Enterprise,用户可以利用"自建 Azure 容器注册表 (ACR)"功能。此功能允许用户将 Tanzu Build Service 构建的容器镜像存储在 Azure Spring Apps Enterprise 环境中,从而促进在各种环境(区域、本地机器进行测试、本地设置等)中无缝部署相同的镜像。到目前为止,Azure Spring Apps Enterprise 服务实例已为 Tanzu Build Service 构建的容器镜像管理了一个 Azure 容器注册表服务实例,该注册表捆绑在服务实例中。但从现在开始,用户可以选择使用服务实例管理的 Azure 容器注册表,或者选择自建 Azure 容器注册表。此增强功能提供了更灵活和一致的部署流程,简化了跨多个环境的管理,并促进了跨不同平台的高效应用程序分发。

持续性保障——将 Spring Boot 2.x.x 支持延长至 2025 年 2 月

扩展的 Spring Boot 支持:Azure Spring Apps Enterprise 为您提供 VMware Spring Runtime 支持,其中包括对 Spring Boot 2.x.x 的支持,直到 2025 年 2 月,为客户提供更多时间进行应用程序升级。

许多企业和开发者可能没有意识到,Spring Framework 和 Spring Boot 旧版本的开源支持将于 2023 年 11 月结束。这一发展可能会导致没有商业支持合同的组织难以访问补丁或安全更新。结果,公司可能会面临越来越大的安全、合规性和法律风险。

对于面临复杂 Spring 应用升级任务的这些开发者和客户,Azure Spring Apps Enterprise 提供了宝贵的优势。开源社区对 Spring Boot 2.x.x 的支持将于2023 年 11 月 18 日结束*。由于需要处理多个升级任务,例如迁移到 Java 17、采用最新的 Spring Boot 版本、处理 Spring Boot 2.x.x 中已弃用的代码以及确保与 Jakarta EE 9 的兼容性,开发者需要充足的时间和支持。Azure Spring Apps Enterprise 用户有权通过 VMware Spring Runtime 支持获得 Spring 应用的商业支持。通过将 Spring Boot 2.x.x 的商业支持延长至 2025 年 2 月,Azure Spring Apps Enterprise 为开发者和客户提供了独特的缓冲,使他们有必要的时间成功升级其应用程序,同时降低因升级延迟而造成的风险,这正如许多数据泄露和随之而来的高昂代价所例证的那样。

*图 3 – Spring Boot 商业支持时间表*

* 您可以在https://springframework.org.cn/找到 Spring 项目的当前支持时间表

立即体验 Azure Spring Apps Enterprise!

Azure Spring Apps Enterprise 提供简洁性和生产力,您可以利用 Spring 专家使您的项目更加成功。您可以轻松地将您的 Spring 和多语言应用程序部署到云端,并立即运行它们。这是通往生产环境的黄金路径,它简化了部署过程并优化了您的资源使用。

最棒的是?我们为所有层级提供免费月度赠送 - 每层级 50 vCPU 小时和 100 GB 小时。这是您在任何使用计费之前获得的免费小时数,让您有机会在没有任何财务支出的情况下试用该服务。

所以,还在等什么?利用我们的免费月度赠送,立即将您的第一个 Spring 应用程序部署到 Azure Spring Apps Enterprise!

获取 Spring 时事通讯

关注 Spring 时事通讯

订阅

领先一步

VMware 提供培训和认证,以加速您的进步。

了解更多

获取支持

Tanzu Spring在一个简单的订阅中提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部