S
Smarter Business

3分で読める「コンテナの現在(いま)」 #4コンテナ技術を活用したレガシー・モダナイゼーション

post_thumb

武間 光生の写真

武間 光生
日本アイ・ビー・エム株式会社
IBMコンサルティング事業本部
アソシエイト・パートナー

本シリーズ最終回(第4回)は、コンテナ技術を活用したレガシー・モダナイゼーションの事例と、それによる効果、適用のポイントをご紹介します。

事例の概要

このお客様は、倉庫業を中心にビジネスを展開されていますが、基幹システムはIBM i上のCOBOL/RPGベースで開発されたものを使われています。倉庫業の特性として、個々の荷主の要件に応じて在庫管理の方法や業務の流れを変える必要があり、プログラム資産の増加と保守性の低下に懸念を持たれていました。

加えて、COBOL/RPGの技術者の減少傾向により、技術者確保が難しくなってきていること、COBOL/RPGだけではネット経由のサービスの提供やAIに代表される新しい技術の取り込みが難しいことも長期的な課題として対応が必要だったこともあり、コンテナ技術(OpenShift)とJava/JavaScriptを活用したシステムにモダナイズを実施されました。

モダナイズを進めるにあたっては、以下の目的を充たせる利用技術を採用しています。

  • 荷主要件への対応スピードを迅速化することで競争力強化に貢献する
  • 部品化/マイクロサービス化により、プログラム資産の増加を抑制する
  • COBOL/RPGからの脱却により長期的な事業継続性を確保する
  • COBOL/RPG中心のシステムによる技術的な制約からの解放

上記の目的を充たすシステムとして、データセンター上のIBM iとAWS上のROSA(Red Hat OpenShift on AWS)を組み合わせたハイブリッドクラウド環境を採用し、開発スピードの向上を実現するためのCI/CD環境もあわせて構築しています。

モダナイズによる効果

実際のモダナイズは、モダナイズにともなって業務上の効果が大きい機能群を段階的に実施する形で進めており、インターネット経由での荷主向けサービス、入出庫業務の機能群の開発を完了し、荷主ごとに展開を行っています。

展開にあたっては、必要に応じて個別の荷主要件への対応を行いながら実施していますが、
当初目標とした部品化/マイクロサービス化による再利用可能な部品群と、OpenShiftと共に構築したCI/CD環境を活用することで、多い時には1日に2回のリリースを実現するなど、高い開発効率を実現できています。

高効率で開発が進められることに加えて、AWS上で提供されているサービスを利用して、継続的な機能の強化も進めることが容易になり、COBOL/RPGを前提とした仕組みでは実現が難しかった機能の追加も進んでいます。

また、お客様はハイブリッドクラウド環境の採用によって、インフラ運用負荷の増加について不安を持たれていましたが、OpenShiftが提供する運用系機能の活用、AWSのログ監視機能との連携などを行うことで、インフラ運用負荷の増加を最小限に抑えることで、問題なく運用を行われています。

適用のポイント

コンテナ技術やCI/CDを活用してモダナイズを実施するにあたっては、以下の点が特に重要です。

  • ビジネス効果/目的に合わせた技術、方式の選定
  • 採用技術に合わせたプロセスの見直し

このお客様では、対象となるシステムは自社の業務を支えるものであり、継続的な機能追加/変更を迅速に実現できることが自社のビジネスにとって効果が高く、COBOL/RPG技術者確保の懸念を解消して業務継続性を確保できるという判断のもとに、コンテナ技術を採用されています。

この進め方は、モダナイゼーション手法の中では、アーキテクチャーの見直しと再構築(リアーキテクト/リビルド)という手法になりますが、自社のビジネスを支えるシステムで、継続的に機能追加/変更が求められるものは、新しい技術を活用したリビルドが適しています。逆に言えば、業務面での重要性が低く、保守頻度が年に1回などのシステムをモダナイズする場合には、コスト重視でプラットフォームを変更するリホストや言語変換ツールを使ったリライトを選択した方が良い場合もあります。

モダナイズを行う場合には、そのシステムのビジネス上の位置づけに基づいて方式や技術を選定することをお勧めします。

また、モダナイズにおいて今まで利用していなかった技術を採用する場合には、その技術を利用する効果を最大限に享受できるように、システムを利用するユーザーの役割や運用プロセスを見直すことが重要になります。

このお客様では、モダナイズすることを機会に、アプリケーション開発とインフラ運用の役割を見直し、アプリケーションのリリースや利用しているミドルウェアのバージョンアップ/リリースアップをアプリケーション開発側に移管し、開発プロセスの見直しを行っています。この見直しとCI/CD環境の利用により、高い開発効率を実現できています。

新しい技術を採用したものの、役割やプロセスの見直しを行わないことで、その効果を十分に享受できていないという例も散見されますが、そのほとんどが採用した技術を最大限に活用するための見直しを行っていないことに起因していますので、新しい技術を採用される際には、それに関わる役割分担やプロセスをあわせて見直しをされることをお勧めします。

まとめ

コンテナ技術は、ビジネス要件への対応スピード向上に寄与する柔軟なワークロードや優れた標準化を提供しますが、それを活用するために必要なユーザーの役割の見直し、プロセスの見直しといった要素が揃うことで、さらに大きな効果が期待できます。

ビジネス環境の変化、IT技術の変化は、確実に加速しつつあります。そういった変化に適応するための基盤としてコンテナ技術は有効な選択肢となると言えます。

コンテナ技術をどのように活用すべきか?どのようなユースケースに適用できるか?といったことにお悩みのお客様はぜひIBMにお声がけください。