Azure Spring Apps Enterprise – 更强大的功能、更高的可伸缩性以及扩展的Spring Boot支持

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

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

Microsoft与VMware Tanzu的合作持续进行

自 2016 年与 Spring 团队建立合作以来,双方的共同目标一直是帮助 Spring 应用充分发挥云的强大功能。我们倾听了 Spring 开发者的声音,他们渴望专注于应用程序代码和业务逻辑,而不是被基础设施、容器和虚拟机管理、安全和扩展的复杂性所困扰。为解决这一痛点,Microsoft 和 VMware Tanzu 联手推出了 Azure Spring Apps——旨在简化您的开发和运营工作流程,并加速您的代码到生产的旅程。作为 Microsoft Azure 生态系统中的一项关键服务,Azure Spring Apps 已经取得了显著的进展。许多客户,包括 BoschDigital RealtyFedExKrogerLiantisMorgan StanleyNational LifeRaley'sSwiss Re,都已采用该服务来部署其任务关键型企业 Java Spring 应用程序。

Azure Spring Apps Enterprise 旨在通过提供商业支持的 Spring 运行时组件和 Spring 专家的访问权限,来加速企业应用程序的开发和部署。它建立在 Standard 层的现有功能之上,允许用户利用广泛的 Azure 生态系统来增强他们的 Spring 应用程序,从而加快产品上市速度并充分实现 Spring 的全部功能。

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

Java 应用和 GraalVM

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

增强的功能

在过去的五年里,我们的理解和知识受到了开发者和客户的经验和反馈的深刻影响。我们致力于倾听客户的声音和满足他们的需求。认识到运行和扩展企业应用程序的需求日益增长,我们很高兴地宣布一系列针对 Azure Spring Apps Enterprise 的增强功能。这些增强功能直接体现了我们不断满足并超越客户期望的努力。

图 1 - 展示了 Azure Spring Apps Enterprise 的增强列表:之前 vs. 现在 & 用户收益

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

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

享受增强的可靠性和大幅缩短的停机时间

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

此增强功能预计每年可减少约 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 形成了鲜明对比,在这些环境中,SLA 是各种独立服务 SLA 和您自建的控制平面组件(如果有)的汇总。例如,完全托管的 K8s 服务为 Kubernetes API 服务器连接提供 SLA,但不为运行您应用程序工作负载的节点提供 SLA。这些节点是虚拟机,有自己的 SLA。Azure Storage 和 Azure Container Registry 等服务也有自己的可用性保证。当您在 Kubernetes 环境中使用自己的入口控制器和 Spring 组件时,您必须确保所有必要的冗余和仪器化,以衡量 SLA 并纠正停机时间。要实现与 Azure Spring Apps Enterprise 的 99.95% 相媲美的应用程序可用性,您需要为所有服务组件和您的控制平面组件构建冗余,并持续监控和调整任何中断。

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

增加包括增强的托管,最多支持 1000 个应用实例,支持大型应用,以及高效的构建流程。

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

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

高效的构建流程:为了实现更高效、更快速的应用程序构建流程,尤其是对于复杂和资源密集型的应用程序,Azure Spring Apps Enterprise 已将构建代理池的资源分配增加到 最多 64 个 vCPU 和 128 GB 内存。拥有充足的资源,您就可以在高度高效和资源丰富的环境中构建任何应用程序,确保更顺畅、更快的编译过程。

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

*Java 原生映像支持:Azure Spring Apps Enterprise 现在提供预览功能,支持 Java 原生映像,可提供更快的启动时间和优化的内存使用。*

GraalVM Native Image 功能允许您将 Java 应用程序编译成独立的、可执行的程序,称为原生映像。这些可执行文件可以提供显著的好处,包括比传统的 JVM (Java Virtual Machine) 更快的启动时间和更低的运行时内存开销。您可以使用 Cloud Native Buildpack for Java Native Image 部署 Spring Boot 原生映像应用程序

在下面的图 2 中,展示了原生映像部署的优化内存使用情况 — 消耗的内存约是其等效 JAR 部署的 1/5 — 对于持续每秒 400 个请求的 Petclinic 应用程序的单体版本

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

在 Azure Spring Apps Enterprise 中,您可以利用优势,为构建代理池分配高达 64 个 vCPU 和 128 GB 内存。拥有充足的资源,您就可以在高度高效和资源丰富的环境中构建您的 Java 原生映像。

图 2 - 展示了原生映像部署的优化内存使用情况 — 消耗的内存约是其等效 JAR 部署的 1/5 — 对于持续每秒 400 个请求的 Petclinic 应用程序单体版本的内存使用情况。

自带 Azure Container Registry — 跨环境无缝部署

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

借助 Azure Spring Apps Enterprise,用户可以使用 “自带 Azure Container Registry (ACR)” 功能。此功能允许用户存储 Tanzu Build Service 在 Azure Spring Apps Enterprise 环境中构建的容器映像,从而促进同一映像在各种环境、区域、本地测试机器、本地部署以及更多场景下的无缝部署。到目前为止,Azure Spring Apps Enterprise 服务实例一直管理着一个由 Tanzu Build Service 构建的容器映像的 Azure Container Registry 服务实例,该注册表捆绑在服务实例中。但从现在开始,用户可以在使用服务实例管理的 Azure Container Registry 或选择自带 Azure Container Registry 之间进行选择。此增强功能为部署流程提供了更大的灵活性和一致性,简化了跨多个环境的管理,并促进了跨不同平台的有效应用程序分发。

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

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

许多企业和开发者可能不知道,Spring 框架和 Spring Boot 旧版本的开源支持将于 2023 年 11 月结束。这一发展可能会使没有商业支持合同的组织在访问补丁或安全更新方面陷入困境。因此,公司可能会面临增加的安全、合规和法律风险。

Azure Spring Apps Enterprise 为这些开发者和面临升级 Spring 应用复杂任务的客户提供了宝贵的优势。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 应用程序的商业支持。通过提供延长至 2025 年 2 月的 Spring Boot 2.x.x 商业支持,Azure Spring Apps Enterprise 为开发者和客户提供了独特的缓冲,使他们有足够的时间成功升级应用程序,同时减轻了因升级延迟而带来的风险,正如许多数据泄露及其造成的昂贵后果所例证的那样。

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

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

立即体验 Azure Spring Apps Enterprise!

Azure Spring Apps Enterprise 带来简洁性和高生产力,您可以借助 Spring 专家来让您的项目更加成功。您可以轻松地将您的 Spring 和 Polyglot 应用程序部署到云端,并迅速投入运行。它是一条通往生产的黄金路径,它简化了部署过程并优化了您的资源使用。

最好的部分是什么?我们为所有层级提供免费月度额度 — 每层 50 个 vCPU 小时和 100 GB 小时。这是您在任何使用量计费之前获得的免费小时数,让您有机会在没有任何财务费用的情况下测试该服务。

那么,还在等什么?利用我们的免费月度额度,今天就在 Azure Spring Apps Enterprise 上部署您的第一个 Spring 应用

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

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

查看所有