なぜバッチシステムの
モダナイゼーションが必要なのか
DX推進に向けたITモダナイゼーションが不可避になる中、企業・組織内で稼働しているバッチシステムを、いかにしてモダンな仕組みに移行するかが重要なテーマになっている。
バッチシステムは、金融業界のミッションクリティカルシステムなどで重要な処理を担っているが、その仕組みはレガシーなままで運用負荷やコストがかさんでいる。そのため、今後もビジネスを継続していく上では、モダン化が避けて通れない状況になっている。
例えば経済産業省が行った調査では、国内における2024年のキャッシュレス決済比率は42.8%。将来的には80%を目指して環境整備を進めることが発表されており、この数字は今後も増えていくだろう。「ここで考えるべきは処理のコストです。インフレ圧力でトランザクション1回当たりのコストは上がっていますが、一方で、キャッシュレス化の進展に伴って決済1回当たりの金額は下がっています。細かい処理が大量に発生する時代、従来型のバッチシステムを維持・運用する形では、収支が見合わない状況になっています」とレッドハットの暮林 達也氏は説明する。
そんな中、注目を集めているのが「Red Hat OpenShift Container Platform」 (以下、OCP)だ。OCPは、オープンソースのコンテナオーケストレーションツールであるKubernetesを中核として、コンテナの作成から運用までのライフサイクル全般を管理する様々な機能を有したエンタープライズ向けコンテナ管理製品。これが、大規模バッチシステムの移行先に適したプラットフォームだと評価されているのである。
大規模バッチシステムの定番ツールが
コンテナに対応
前提として、OCPは以前からバッチシステムにも対応していた。処理ごとに停止するという非永続的なプロセスや、ブロックストレージを使うといったバッチシステムのワークロードに沿って、アプリケーションにストレージをアタッチし、分散制御しながらコンテナのジョブを実行、スケールさせることが可能だ(図1)。
図1 Red Hat OpenShift Container Platformが備えるバッチシステム向け機能
各種アプリケーションにストレージをアタッチし、分散制御しながらコンテナのジョブを実行させるといった、バッチシステムを水平スケールする機能を備えている
「一方で、大規模なバッチシステムを支える上ではまだ不十分な面もありました。例えば、ファイル経由でシステム間のデータ連携を行う『バッチファイル連携』や、バッチ処理をスケジュール化して管理する『ジョブ管理』などがその例です。これらの機能は、多くの大規模バッチシステムで重要な部分を担うものであり、モダナイズする際にも不可欠な機能の1つといえます」と暮林氏は言う。
そうした中、ここ数年で市場に動きがあった。ファイル連携ツールの代名詞といえる「HULFT」と、ジョブ管理ツール「JP1/AJS3」が、最新バージョンでKubernetesやOCPのコンテナに対応したのである。
レッドハットのISVパートナー製品であるHULFT10 for Container Platform、JP1/AJS3 Version 13.1をOCPと組み合わせることで、HULFTによるファイル受信を契機に、JP1/AJS3の管理下でジョブを様々なノードで分散実行できるようになる。これにより、大規模バッチシステムを稼働させられる環境が整った。
「ポイントは、バッチ処理を行うアプリケーションと、リアルタイム処理が求められるアプリケーションを同じOCP上で稼働できるようになることです。冒頭で紹介したコストの問題や、担当者の負荷も踏まえた最適な運用を実現できるでしょう」と暮林氏は付け加える。
これまでと“地続き”な
モダナイゼーションを実現
それでは、バッチシステムをOCPに移行する際にはどのような点に注意すべきなのか。これについてレッドハットは、既存システムをリファクタリングしてつくり変える部分と、リプラットフォームで済ませる部分の「切り分け」を十分に検討することを推奨している。
「スマートフォンの通信データの残量を表示するサービスや、ECサイトの注文内容確認といった、ユーザーがすぐに知りたい情報を担う部分はリファクタリングによってマイクロサービス化やニアリアルタイム処理化を進めることが重要です。一方、リアルタイム性が求められない処理はリプラットフォームしてOCP上に載せ変えるだけにするほうが、コスト面でよいでしょう」(暮林氏)。OCPは、この両方に対応することで、現行の業務やシステムと“地続き”なモダナイゼーションを実現。コストや移行期間の最適化を図ることが可能だ(図2)。
図2 これまでと“地続き”なモダナイゼーション(イメージ)
リファクタリングでつくり変える部分と、リプラットフォームでコンテナに単純マッピングする部分を共存できる。ジョブの多重度が多い部分はデータパイプライン化してリアルタイム処理に寄せ、通常のバッチ処理で賄える部分はリプラットフォームする。柔軟なモダナイズが可能だ
「さらに、バッチシステムをOCPに移行することで、将来的な拡張性も大きく高められます」と暮林氏は続ける。
クラウドネイティブ技術を取り込めることはその一例だ。様々なAPI連携を実現する「Red Hat Integration」を利用すれば、バッチシステムだけでなく、複数のクラウドに展開するアプリケーションやサービスも含めたデータ連携のパイプラインを容易に構築できる。
また「Red Hat OpenShift GitOps」は、バッチシステムにおいてGitOpsの基盤をつくれるソリューションである。GitOpsは、DevOpsの概念をインフラ管理に適用した考え方のこと。Gitリポジトリ内のコードを正の状態とみなし、コードとインフラを常に同じ状態に保つ運用のベストプラクティスを指す。
「バッチシステムで難しいのが、変更時の影響範囲を見定めることです。プログラム上の影響に加えて、データの影響がかかわってくるため、事前にすべてを洗い出すのは非常に困難です。その点、Red Hat OpenShift GitOpsによってIaC(Infrastructure as Code)を導入すれば、自動テスト環境をオンデマンドでデプロイし、変更に伴う影響を実地であぶり出せるようになります。これにより、新旧比較をオンデマンドで、かつ自動で行うことが可能です」(暮林氏)
「Red Hat OpenShift Virtualization」はコンテナ上での仮想マシンの動作・管理を担うコンポーネントだ。仮想マシンとコンテナをアプリケーションの形態を問わず、単一のプラットフォームで運用できる。
「HULFTやJP1/AJS3をはじめ、バッチシステムに不可欠な製品が着々とコンテナ対応していますが、まだすべてではありません。この状況では、単にベンダー側の対応を待つだけでなく、コンテナ化しきれない領域を仮想マシンでまかなう視点も大事です。Red Hat OpenShift Virtualizationを利用することで、モダナイゼーションをより戦略的に進めることができます」と暮林氏は紹介する。
さらに、AI基盤である「Red Hat OpenShift AI」を利用すれば、オンプレミス、クラウドを問わず標準化されたAI/機械学習モデルの学習・推論環境をOCP上で展開できる。非構造化データから構造化データへの変換や、各種ドキュメントの要約を担う仕組みを構築すれば、大きな業務効率化につなげることもできるはずだ。
レッドハットが提供するコンテナ技術を活用すれば、競争力の根幹を担うレガシーなIT資産を、最適な形でモダナイズすることが可能になる。変化し続ける市場環境や顧客ニーズに迅速に対応するためにも、バッチシステムのモダナイゼーションを早急に進めることをお勧めする。



