在雲端部署和擴充套件 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 應用程式一樣。您可以將作業和應用程式結合起來構建強大的解決方案。

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 — 都由我們處理。這降低了基礎結構成本以及開發人員和平臺工程師所需的工作量。這種方法稱為自適應成本控制。

部署 Spring Batch 作業並分享您的反饋

Azure Spring Apps 提供了簡潔高效的體驗,您可以藉助 Spring 專家讓您的專案更加成功。您可以輕鬆地將您的 Spring 和 Polyglot 應用程式(現在包括 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 社群所有即將舉行的活動。

檢視所有