在云中部署和扩展 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 Key Vault 绑定机密、保护通信以及监控作业,就像在 Azure Spring Apps 中的 Spring 应用程序一样。您可以将作业和应用程序结合起来构建强大的解决方案。

三步轻松部署 Spring Batch 作业

您可以通过三个简单的步骤部署 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)都由我们为您处理。这降低了基础设施成本,并减少了开发人员和平台工程师的工作量。这种方法称为自适应成本控制。

部署 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 社区中所有即将举行的活动。

查看全部