在云端部署和扩展 Spring Batch – 具有自适应成本控制

工程 | Josh Long | 2024 年 5 月 21 日 | ...

2024 年 5 月 21 日,太平洋标准时间上午 9 点

您现在可以使用 Azure Spring Apps 有效地运行 Spring Batch 应用程序,并具有自适应成本控制。您只需在批量作业运行时付费,并且无需任何代码更改即可轻松地将 Spring Batch 作业“提升并迁移”。

Spring Batch 是一个用于处理 Java 应用程序中大量数据的框架。它提供了可重用的函数,用于日志记录、事务管理、作业统计、作业重启、跳过错误和资源管理。它还通过优化和分区支持高性能任务。Spring Batch 于 2008 年 3 月推出,在 Java 开发人员中很受欢迎,是 Spring 项目组合的一部分。它广泛应用于现代企业系统中,以高效处理复杂的批量处理任务。

在云端运行 Spring Batch 作业面临着多项挑战

  • 可扩展性:确保批量作业能够有效扩展以处理大量数据。
  • 成本管理:通过仅在作业运行时为资源付费来控制成本。
  • 作业生命周期管理:管理批量作业的生命周期,包括调度、监控以及作业失败时的重启。
  • 基础设施管理:处理运行批量作业所需的基础设施,例如服务器和存储。
  • 安全性:保护批量作业及其处理的数据。
  • 监控:为作业性能和错误设置有效的监控和日志记录。

再次强调,您现在可以使用 Azure Spring Apps 有效地运行 Spring Batch 应用程序,并具有自适应成本控制

  • 您只需在批量作业运行时付费。
  • 您无需任何代码更改即可轻松地将 Spring Batch 作业“提升并迁移”。

我们正在宣布 Azure Spring Apps 中作业的公开预览版,使您能够部署和扩展 Spring Batch 应用程序,而无需担心作业的可扩展性、成本控制、生命周期、基础设施、安全性和监控。这使得利用云的灵活性和可扩展性,高效地处理大规模数据变得更加容易。

Azure Spring Apps 中的作业介绍

Azure Spring Apps 中的作业是具有有限生命周期的任务——它们启动、执行处理并在完成后退出。每次作业执行通常处理一个工作单元,可以运行几分钟到几小时,并且可以同时运行多个执行。示例包括按需运行的批处理过程和计划任务——这非常适合数据处理、机器学习、为 AI 应用程序构建智能以及任何需要按需处理的场景。此功能使开发人员能够有效地管理和扩展其应用程序中的任务,从而确保在云环境中实现优化的性能和资源利用。

Azure Spring Apps 中的作业使您能够在您的环境中运行容器化的、运行至完成的任务。它们将支持三种触发类型

  • 手动:由用户或应用程序按需触发。
  • 计划:按重复计划运行。
  • 事件:由事件触发,例如队列中的消息,可用于 CI/CD 流水线构建代理。

目前,公开预览版支持手动触发器。我们的工程团队正在积极开发对计划和基于事件的触发器的支持,这些触发器将很快推出。这种持续开发确保您能够充分利用 Azure Spring Apps 的灵活性和强大功能来满足您所有的批量处理需求。

作业与您的 Spring 应用程序共享相同的环境,从而实现网络和存储等共享资源。您可以像在 Azure Spring Apps 中管理您的 Spring 应用程序一样,创建和管理作业,使用 Azure Key Vault 绑定密钥,保护通信,并监控作业。您可以结合使用作业和应用程序来构建强大的解决方案。

通过 3 个简单步骤部署 Spring Batch 作业

您可以通过 3 个简单步骤部署 Spring Batch 作业

  • 创建作业
$ az spring job create --name generate-monthly-statements
  • 部署 Spring Batch 作业
$ az spring job deploy --name generate-monthly-statements \

--artifact-path target/generate-monthly-statements.jar
  • 启动作业
$ az spring job start --name generate-monthly-statements

通过这些简单的步骤,您可以快速在 Azure Spring Apps 上部署和运行您的 Spring Batch 作业。

利用 Spring Batch 作业的自适应成本控制实现成本效益和简单性

让我们用一个示例来解释自适应成本控制。假设您有一个 Spring Batch 作业需要 8 个 vCPU 和 16 GB 内存。通常,您会使用更大的虚拟机,例如 Azure 虚拟机 D16v5,每月成本约为 572 美元。即使您每天只运行作业 2 小时,您仍然需要支付整个月的费用,并处理操作系统、软件包、JDK 和 APM 的维护。

使用 Azure Spring Apps,您只需为作业的运行时分配 8 个 vCPU 和 16 GB 内存,例如每月运行 60 小时。这样每月成本约为 45 美元,而且所有底层基础设施维护(操作系统、软件包、JDK 和 APM)都由 Azure Spring Apps 为您处理。这既降低了基础设施成本,也减轻了您的开发人员和平台工程师所需的工作量。这种方法被称为自适应成本控制。

部署 Spring Batch 作业并分享您的反馈

Azure Spring Apps 提供了简单性和生产力,您可以利用 Spring 专家让您的项目更加成功。您可以轻松地将您的 Spring 和多语言应用程序(以及现在支持的 Spring Batch 作业)部署到云端并快速运行。这是一条通往生产环境的“黄金路径”,可简化部署过程并优化资源使用。我们将继续创新工具和优化服务,以便大规模简化 Spring 应用程序向云端的迁移,并更高效、更经济地运行这些 Spring 应用程序——更快、更便宜、更好。

最棒的是什么?我们在所有层级都提供免费的每月赠额——每层级 50 个 vCPU 小时和 100 GB 小时。这是在任何使用量计费之前,您获得的免费小时数,让您有机会免费试用该服务。

还在等什么?立即利用我们的免费每月赠额,将您的第一个 Spring Batch 作业部署到 Azure Spring Apps!

访问 https://aka.ms/first-spring-batch-job!!

订阅 Spring 资讯

通过 Spring 资讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您飞速提升。

了解更多

获取支持

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

了解更多

近期活动

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

查看全部