使用 Azure Spring Apps 赋能更多 – 缩减到零并提高生产力

工程 | Josh Long | 2022 年 12 月 7 日 | ...

2020 年,Spotify 创造了术语“黄金路径”,指代构建和部署软件的受支持方法和组件集。拥有这些路径可以简化开发过程,让开发人员专注于他们的应用程序而不是基础设施,并加快投产速度。Microsoft 和 VMware 合作将 Azure Spring Apps 打造成用于在云端部署和扩展 Spring 应用程序的黄金路径。借助缩减到零和开发人员生产力增强等新功能,Azure Spring Apps 现在为将 Spring 应用程序投入生产提供了更经济、更优化的途径。

1. 从零开始,缩减到零 – 消耗计划

我们正在为 Azure Spring Apps 推出新的消耗定价计划 – 您可以从零开始,缩减到零个 vCPU 以实现高效的资源利用。通过这个以无服务器应用程序为中心的计划,应用程序可以响应 HTTP 请求、事件而进行扩展,或者仅作为始终运行的后台作业运行。消耗计划没有基本单位。当应用程序不使用时,您可以缩减到零并暂停计费。您可以使用此新计划构建或迁移 Web 应用程序和 Web API 端点、事件驱动处理应用程序、微服务应用程序等更多应用。

消耗计划处于私有预览阶段。如果您想尝试,请注册

图 1 – 介绍 Azure Spring Apps 消耗计划

2. 增强 Azure Spring Apps Enterprise 的开发人员生产力

2.1 应用程序加速器

应用程序加速器加快了构建和部署应用程序的过程。它们帮助您以可发现和可重复的方式引导应用程序的开发和部署。企业架构师可以编写和发布加速器项目,为组织中的开发人员和应用程序操作员提供现成的、符合企业规范的代码和配置。已发布的加速器维护在 Git 仓库中。应用程序加速器界面允许您发现可用的加速器、配置它们并生成新项目。应用程序加速器(见下文图 2)现已提供预览版供所有人使用。

图 2 – 显示应用程序加速器

2.2 应用程序实时视图

应用程序实时视图是一个基于 Spring Boot Actuators 的轻量级洞察和故障排除工具,可帮助应用程序开发人员和应用程序操作员查看正在运行的应用程序内部情况。应用程序使用 HTTP 端点从运行中的进程内部提供信息。应用程序实时视图使用这些端点从应用程序检索数据并与之交互。

您可以使用应用程序实时视图检查应用程序信息、健康状况、环境、日志级别(见下文图 4)、JVM 统计信息(见下文图 3)、HTTP 请求、缓存、会话、计划任务、Bean、指标等等。应用程序实时视图现已提供预览版供所有人使用。

图 3 – 应用程序实时视图显示 Spring 应用实例的内存使用情况和 GC 活动

图 4 – 应用程序实时视图显示 Spring 应用实例的日志级别

2.3 Web 服务器构建包

您可以使用 Tanzu Web Servers 构建包来构建运行 NGINX 或 Apache HTTP Server 等 Web 服务器的应用程序。您可以将构建包用于提供静态内容或将 JavaScript 源代码构建为生产就绪的静态资产的应用程序,然后自动配置 Web 服务器以提供这些资产。Web 服务器构建包支持现已正式发布。

3. Spring Framework 6 和 Spring Boot 3

除了部署使用 Spring Boot 2 和 Spring Framework 5 构建的应用程序外,您现在还可以部署和扩展使用 Spring Boot 3Spring Framework 6 构建的应用程序。Spring Boot 3 包括 Java 17 基线、使用 Micrometer 和 Micrometer Tracing 改进的可观测性、对 Jakarta EE 10 的支持以及许多新功能。Spring Boot 3 和 Spring Framework 6 的支持现已提供预览版供所有人使用。

图 5 – 在 Azure 上部署和扩展 Spring Boot 3 和 Spring Framework 6 应用程序

Azure Spring Apps 将在最新的 Spring Boot、Spring Framework 和 Spring Cloud 主要版本发布后 30 天开始提供支持。最新的次要版本将在发布后立即获得支持。Basic 和 Standard 层遵循 OSS 支持的版本,Enterprise 层通过 VMware Spring Runtime Support 授权提供扩展的商业支持。

4. 更多新功能以提高生产力

4.1 gRPC 和 WebSocket 支持

gRPC 是一个高性能的远程过程调用 (RPC) 框架,可以在任何环境中运行。它提供双向流。gRPC 服务可以使用协议缓冲区定义,协议缓冲区是一个强大的二进制序列化工具集和语言,并提供用于跨不同语言生成客户端和服务器的工具。现在您可以在 Azure Spring Apps 中部署支持 gRPC 的 Spring 应用程序。

WebSocket 协议定义了 Web 应用程序的一项重要能力:客户端和服务器之间的全双工双向通信。您也可以在 Azure Spring Apps 中部署支持 WebSocket 的 Spring 应用程序。gRPC 和 WebSocket 支持现已提供预览版供所有人使用。

4.2 连接到应用实例 Shell 环境进行故障排除

Azure Spring Apps 提供了多种方法来对您的应用程序进行故障排除。对于喜欢检查正在运行的应用实例环境的开发人员,您可以连接到应用实例的 Shell 环境并进行故障排除(见下文图 6)。

图 6 – 显示如何连接到应用实例的 Shell 环境并检查环境

4.3 在 Azure Spring Apps 中远程调试您的应用程序

现在,您可以使用 IntelliJ(见下文图 7)或 VS Code 在 Azure Spring Apps 中远程调试您的应用程序。出于安全考虑,Azure Spring Apps 默认禁用远程调试。您可以使用 Azure 门户或 Azure CLI 为您的应用程序启用远程调试并开始调试。

远程调试支持现已正式发布。

图 7 – 显示如何使用 IntelliJ 启动远程调试

4.4 服务停止/启动现已正式发布

您可以停止和启动您的 Azure Spring Apps 服务实例,以帮助您节省成本。如果您停止和启动您的开发和测试环境的 Azure Spring Apps 服务实例,以匹配您的工作时间,您可以节省高达 75%*。

* 假设每周使用 Azure Spring Apps 服务实例 40 小时,那么在非活动时间停止这些实例可以节省高达 75%。(168 小时 - 40 小时) / 168 小时 = 75%。

5. 立即试用

2019 年,Microsoft 和 VMware 发布了 Azure Spring Apps,这是一个完全托管的 Spring 应用程序服务。我们着手解决企业开发人员在规模化运行 Spring 应用程序时面临的许多常见挑战。Azure Spring Apps 是通往云端生产环境的黄金路径,您可以立即开始使用 – 您的第一个 Spring 应用程序部署到 Azure!

为了帮助您入门,我们为所有层级提供每月免费赠送,每个层级赠送 50 vCPU 小时和 100 GB 内存小时。这些是任何使用量计费前的每月免费小时数。

更多资源

获取 Spring Newsletter

订阅 Spring Newsletter,保持联系

订阅

领先一步

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

了解更多

获得支持

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

了解更多

近期活动

查看 Spring 社区的所有近期活动。

查看全部