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 持续合作

微软与 Spring 团队的合作始于 2016 年,这是我们共同目标的基础,即让 Spring 应用充分利用云的力量。我们倾听了 Spring 开发者表达的愿望,他们希望专注于应用程序代码和业务逻辑,而不是被管理、保护和扩展基础设施、容器和虚拟机的复杂性所困扰。为了解决这个问题,微软和 VMware Tanzu 联手建立了 Azure Spring Apps - 这是一项旨在简化您的开发和运维工作流程并加速您从代码到生产的旅程的倡议。作为 Microsoft Azure 生态系统中的一项关键服务,Azure Spring Apps 已经获得了显著的关注。包括 BoschDigital RealtyFedExKrogerLiantisMorgan StanleyNational LifeRaley'sSwiss Re 在内的众多客户都采用了该服务来运行其关键任务型企业 Java Spring 应用程序。

Azure Spring Apps 企业版旨在通过提供商业支持的 Spring 运行时组件和访问 Spring 专家,加速企业应用程序的开发和部署。在 Standard 层级可用功能的基础上,它允许用户利用广阔的 Azure 生态系统来增强其 Spring 应用程序,从而加快生产路径,并充分实现 Spring 的能力。

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

Java 应用和 GraalVM

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

增强的功能

在过去五年里,我们的理解和知识在很大程度上得益于开发者和客户的经验与反馈。我们致力于倾听客户的声音及其需求。认识到对大规模运行和扩展企业应用程序日益增长的需求,我们很高兴宣布对 Azure Spring Apps 企业版进行一系列增强。这些增强直接反映了我们为满足并超越客户期望而持续努力。

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

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

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

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

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

这项增强承诺每年潜在停机时间约为 4.34 小时,比之前的 SLA 减少了 50%。当考虑到 Azure Spring Apps 管理的所有组件时,新的 SLA 提供了全面的保障。这包括 Azure Kubernetes Service、Azure Storage、Azure Container Registry、网络元素以及各种 Spring 组件,如 Application Configuration Service、Service Registry、Spring Cloud Gateway 和 Tanzu Build Service 等关键元素。本质上,99.95% 的 SLA 提供了更一致、更可靠的服务,并显著减少了中断,这对于具有关键任务运营的企业至关重要。

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

体验增强的可伸缩性 – 容量增加

改进包括增强的托管,可支持多达 1000 个应用程序实例,支持大型应用程序,以及高效的构建过程。

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

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

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

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

*Java 原生镜像支持:Azure Spring Apps 企业版现在提供预览功能,引入了对 Java 原生镜像的支持,有望实现更快的启动时间和优化的内存使用。*

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

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

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

在 Azure Spring Apps 企业版中,您可以为构建代理池分配多达 64 个 vCPU 和 128 GB 内存,这是一项优势。有了这些充足的资源,您可以在高效且资源丰富的环境中构建 Java 原生镜像。

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

自带 Azure Container Registry – 在不同环境中无缝部署

*自带 ACR:Azure Spring Apps 企业版现在提供了自带 Azure Container Registry (ACR) 的灵活性,促进了在不同环境中应用程序的无缝部署。*

通过 Azure Spring Apps 企业版,用户可以利用“自带 Azure Container Registry (ACR)”功能。此功能允许用户将 Tanzu Build Service 构建的容器镜像存储在 Azure Spring Apps 企业版环境中,从而促进同一镜像在各种环境、区域、本地测试机器、本地设置等之间无缝部署。此前,Azure Spring Apps 企业版服务实例管理一个 Azure Container Registry 服务实例,用于存储 Tanzu Build Service 构建的容器镜像,该 Registry 捆绑在服务实例中。但从现在起,用户可以在使用服务实例管理的 Azure Container Registry 或选择自带 Azure Container Registry 之间进行选择。这项增强功能在部署过程中提供了更大的灵活性和一致性,简化了跨多个环境的管理,并促进了应用程序在不同平台上的高效分发。

持续性保证 – Spring Boot 2.x.x 支持延长至 2025 年 2 月

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

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

Azure Spring Apps 企业版为那些面临复杂 Spring 应用升级任务的开发者和客户提供了宝贵的优势。开源社区对 Spring Boot 2.x.x 的支持将于 2023 年 11 月 18 日* 结束。开发者需要足够的时间和支持来应对多项升级任务,例如迁移到 Java 17,采用最新的 Spring Boot 版本,处理 Spring Boot 2.x.x 中的弃用代码,并确保与 Jakarta EE 9 的兼容性。Azure Spring Apps 企业版用户通过 VMware Spring Runtime Support 享有 Spring 应用的商业支持。通过将 Spring Boot 2.x.x 的商业支持延长至 2025 年 2 月,Azure Spring Apps 企业版为开发者和客户提供了一个独特的缓冲期,使他们有必要的时间成功升级其应用程序,同时减轻因延迟升级带来的风险,许多数据泄露事件及其昂贵的后果就证明了这一点。

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

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

立即体验 Azure Spring Apps 企业版!

Azure Spring Apps 企业版提供了简单性和生产力,您可以利用 Spring 专家使您的项目更加成功。您可以轻松地将您的 Spring 和多语言应用程序部署到云端,并立即启动运行。它是一个简化部署过程并优化资源使用的生产黄金路径。

最棒的是什么?我们在所有层级提供免费的每月赠送额度 – 每个层级 50 个 vCPU 小时和 100 GB 小时。这是在收取任何使用费之前您获得的免费小时数,让您有机会测试服务而无需支付任何费用。

还等什么?立即利用我们的免费每月赠送额度,将您的第一个 Spring 应用程序部署到 Azure Spring Apps 企业版!

获取 Spring 通讯

订阅 Spring 通讯以保持联系

订阅

抢占先机

VMware 提供培训和认证,助力您快速进步。

了解更多

获取支持

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

了解更多

即将举办的活动

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

查看全部