レガシー・アプリケーションのモダナイズを徹底解説
現代においても、レガシー・アプリケーション(過去の技術や仕組みで構築されたシステム)は多くの組織の基幹システムとして稼働しています。つまり、今も様々な業界の企業で、古いソフトウェア・システムが重要なビジネス・プロセスを実行し続けているということです。レガシー・アプリケーションは安定性や信頼性に優れる一方、アジリティ(環境の変化に素早く適応できる柔軟性)に欠け、メンテナンス・コストの増大やシステム統合の制限といった問題もあり、ビジネスの足かせとなる可能性があります。
このブログでは、このレガシー・アプリケーションのモダナイズの全体像を説明していきます。モダナイズを行う適切な時期やその内容、またプロセス全体の過程について考えていきます。さらに、レガシー・アプリケーションをモダナイズするための 7 つの戦略を紹介することで、お客様のビジネスに適したアプローチを選択できるようになっています。
レガシー・システム
レガシー・システムは、組織内で現在も使用されている旧式のソフトウェアを指すことが多いです。このようなシステムは、何年もしくは何十年も運用されてきており、多くの場合、古いテクノロジー、プログラミング言語、アーキテクチャに依存しています。次々と新しい技術が登場しているにもかかわらず、レガシー・システムは多くの業界で未だに重要な役割を担い続けているのです。
IBM iアプリケーションはレガシー・システムの一例ですが、そのプラットフォームの堅牢性と信頼性・拡張性の高さで、かつて人気を博しました。製造、金融、流通、ヘルスケアなどの業界で、重要なビジネス・プロセスを支える処理がこのIBM iアプリケーションに大きく依存しています。この事実は、アプリケーションの安定性の証明でもあり、中には何十年も前のシステムが未だに組織に価値を提供し続けているのです。
レガシー・アプリケーションのモダナイズ
レガシー・アプリケーションのモダナイズとは、レガシー・アプリケーションを最新のアーキテクチャ、テクノロジー、プラットフォームに変換し、更新するプロセスのことです。このモダナイズの目的は、コストを削減し、リスクを最小限に抑えつつ、アプリケーションの機能性、パフォーマンス、ユーザー・エクスペリエンスを向上させることです。
レガシー・システムは、数年時には数十年のサービスを通じその信頼性が証明されてはいるものの、以下のような多くの課題を抱えています。
複雑な構造:多くのレガシー・システムでは、特定のビジネス・ニーズを満たすための大幅なカスタマイズや拡張が行われています。このようなカスタマイズにおいて、特に十分な配慮がなされず導入された場合などは、非常に複雑になっている可能性があります。
ドキュメントの欠如:時間の経過とともに、経験豊富な開発者が退職したり、別のプロジェクトに異動になったりする場合があり、アプリケーションやその複雑な構成に関する知識が失われてしまう可能性があります。結果、新しい開発者は限られた情報をもとに複雑なシステムを理解し、保守しなければならないといった問題に直面します。
専門技術者の不足:一般的にレガシー・アプリケーションでは、現在は広範に使用されていない、古いプログラミング言語、フレームワーク、テクノロジーを使って構築されています。そのため、このような技術に精通した専門の開発者を見つけるのが難しくなっています。
コスト:レガシー・システムの保守・サポートには、専門知識を持つ人材の確保が必要となり、交換部品の調達も含め、ハードウェアとソフトウェアの様々な問題に対処する必要があり、コストが高くなる可能性があります。長期的に見ると、モダナイズのコストよりもはるかに高い場合もあります。
レガシー・アプリケーションをモダナイズする理由
レガシー・アプリケーションのモダナイズとは、レガシー・アプリケーションを完全に置換することを意味するのではないと理解することが重要です。レガシー・アプリケーションの置換は、リスクも高く、コストや時間がかかる可能性もあります。レガシー・アプリケーションのモダナイズは、既存のビジネス・ロジックやデータを活用しつつ、システムの機能を拡張し、使い勝手の良いモダンなシステムに変換します。
レガシー・アプリケーションを完全に置き換えるのではなく、モダナイズを行う価値があるシステムのひとつにIBM iが挙げられます。IBM i アプリケーションは、安定性・信頼性が高く、幅広い機能がサポートされているため、現在も多くの企業において幅広く活用されています。IBM i アプリケーションをモダナイズすることで、以下のような利点があります。
- グリーンス・クリーンをモダンなUIに置換することで、ユーザー・エクスペリエンスが向上します。
- 最新のAPIやマイクロサービスを使用する別システムとの統合を簡単に実行できます。
- クラウド・コンピューティング、人工知能 (AI)、モバイル・デバイスなどの新しいテクノロジーへのアクセスが提供されます。
モダナイズのタイミング
レガシー・システムをモダナイズした方がよい時期として、以下のような状況にある場合が挙げられます。
- レガシー・システムの制限により、新たなビジネス要件に対応できない。
- 保守コストが高くなっている。
- レガシー・テクノロジーを管理する適切なスキルを持つスタッフが確保できない。
- 別の最新システムとの統合が必要である。
- アジリティやユーザー・エクスペリエンスを向上させ、競合他社に対して優位な立場に立ちたい。
- 今後の成長のために必要な拡張機能が、現在の古いインフラでは不可能である。
- パッチ未適用の古いシステムのため、セキュリティやコンプライアンスの問題が発生するリスクがある。
一般的には、レガシー・システムがビジネスを発展させるのではなく、阻害するような状況に陥った場合は、明らかにシステムのモダナイズを優先的に検討すべき時です。このような状況にある場合は、モダナイズの労力やシステムの一時中断のコストよりも、モダナイズを実行しないことで発生するコストの方が上回っていると考えられます。
レガシー・アプリケーションのモダナイズのメリットと効果
レガシー・システムのモダナイズは、ビジネスに具体的な成果をもたらしてくれます。以下はその例です。
コスト削減:IBMの調査によると、レガシー・アプリケーションをモダナイズした組織は、インフラにかかるコストを年間15~35%削減、アプリケーションの保守・運用コストを30~50%削減、また、ハードウェア、ソフトウェア、人件費のコストを74%削減できるとしています。 [1]
効率化:レガシー・アプリケーションをモダナイズすることで、パフォーマンス、スケーラビリティ、信頼性が向上します。ですから、作業量の増加への対応も可能で、データをより速く処理し、障害復旧も迅速に行えるようになります。
セキュリティ強化:レガシー・アプリケーションのモダナイズにより、サイバー攻撃、データ漏洩、不正アクセスからデータやトランザクションを守ることができます。同時にGDPR、PCI、HIPAAなどの規制に対応することも可能です。
アジリティとイノベーションの強化:時代遅れとなった技術を最新の柔軟なアーキテクチャに置き換えることで、企業の反復型プロセスをより迅速に実行でき、新機能の拡張や、顧客需要への迅速な対応が可能になります。
さらなる統合とコラボレーション:DSI社は、EDIやその他の最新テクノロジーを使ってレガシー・アプリケーションをモダナイズし、サプライチェーンを可視化し、協力体制の強化を図りました。
レガシー・モダナイゼーションの技術
レガシー・アプリケーションのモダナイズにおいては、既存システムの変換・強化にさまざまな新しいテクノロジーを活用します。ここでは、レガシー・アプリケーションのモダナイズで重要な役割を果たす、主なテクノロジーを紹介します
クラウド
レガシー・システムをプライベートまたはパブリックのクラウド環境に移行することで、スケーラビリティや柔軟性が向上します。また、オンプレミスのインフラ保守が不要となるため、コストも削減できる可能性があります。さらにクラウド・ネイティブの機能を追加することで、モバイルやWeb向けのサービスも公開可能です。また、クラウドの利用により、レガシー・システムの障害復旧も容易になります。
コンテナ
コンテナ技術を使って、レガシーのコードベースをコンテナ化し、最新のコンテナ・オーケストレーション・プラットフォームに配布することができます。この技術により、レガシー・アプリケーションのコードベースのリソース使用率が向上し、作業量を自動的に調節したり、負荷を分散する機能も提供されます。
マイクロサービス
モノリシックの (1つのコードベースを使用して複数のビジネス機能を実行する) レガシー・アプリケーションは、正しく定義された複数のインターフェイスにより構成されるモジュラー・コンポーネントに整理(リファクタリング)することで、複数の個別マイクロサービスに分解することができます。レガシー・システムに接続する新しいマイクロサービスを構築、分解することで、モダナイゼーションを段階的に行うことが可能です。マイクロサービスの活用により、レガシー・アプリケーションはより回復力の高いスケーラブルなアプリケーションとなるので、保守も容易になります。
オーケストレーションとオートメーション
オーケストレーション・ツールを使ってITプロセスをオートメーション (自動化) することで、レガシー・システムのアップグレード、構成、新機能の配布を簡素化できます。プロセスの自動化により、ITチームは付加価値の大きい別のタスクにより多くの時間を費やし、集中できるようになります。
DevOps
DevOpsの手法や継続的デリバリー(CD)のパイプラインを採用することで、レガシー・システムの変更にも素早く適応できるようになります。手作業のためエラーが発生しやすかったソフトウェア・リリースは、継続的インテグレーションと自動化されたテストに置き換わるため、信頼性の高いレガシー・アプリケーションのアップデートをより迅速にリリースできるようになります。
API
APIを利用することで、最新のアプリケーション、デバイス、クラウド・サービスとレガシー・システムとの統合が簡単になります。APIによって複雑なレガシーが抽象化され、標準的な統合メカニズムが提供されます。
.NET ソリューション
LANSA Open for .NETなどのソリューションを利用することで、Windows開発者は.NETアプリケーションからIBM iのデータやソフトウェアに直接アクセスでき、IBM iと.NETの統合が簡単に行えます。
レガシー・アプリケーションのモダナイズ:APIの役割
APIを利用することで最新テクノロジーとの統合が可能となります。ですから、レガシー・システムのモダナイナイズにおいて、APIは非常に重要な役割を果たします。APIは橋渡しの役割を担い、レガシー・ソフトウェアが別のアプリケーションやデバイスに機能やデータを安全に公開できるようにします。例えば、IBM i のレガシー・システムにREST APIを追加することで、モバイルアプリの開発、クラウド・サービスの活用、マイクロサービス・アーキテクチャの採用が可能となるのです。
APIは複雑なレガシー・コードを抽象化して、他システムが利用できる標準的な最新インターフェイスを提供します。適切にAPIを設計することで、リファクタリングの必要性を最小限に抑えることができます。API主導の統合を活用して、レガシー環境にイノベーション (IoT、AI/ML、リアルタイム分析など) を組み込む企業もあります。APIを利用することで、セキュリティや信頼性を失うことなく、レガシー・システムの機能を有効活用できるのです。
レガシーのモダナイズ手順
レガシー・アプリケーションのモダナイズは複雑なプロセスであり、成功させるためには、重要な必須の手順があります。モダナイズの細かい作業は異なっていたとしても、ハイレベルにおける手順はたいてい同じです。
<手順1>レガシー・システムの評価
既存のレガシー・システムの長所、短所、制限事項を評価し、ベースとなるテクノロジー、依存関係、複雑性を理解します。この評価プロセスを経ることで、改善が必要な領域の重要な情報を把握でき、モダナイズ戦略の指針することができます。
<手順2>課題の定義
レガシー・アプリケーションが現在直面している具体的な問題点や課題を特定します。パフォーマンスのボトルネック、スケーラビリティの問題、時代遅れとなったユーザー・インターフェイス等を洗い出し、モダナイズにより解決したい問題を定義します。この手順を踏むことで、モダナイズの最適なアプローチを決定でき、適切な技術やツールを選択するための基盤が構築できます。
<手順3>レガシー・アプリケーションの適切なモダナイズ戦略を選択
レガシー・アプリケーションのモダナイズには非常に多くの戦略が存在します。それぞれの戦略には、既存システム変換の独自のアプローチがあります。次の戦略を検討し、ビジネスの目標や要件に合致するものを選んでください。
保持/カプセル化
カプセル化は、レガシー・アプリケーションを最新のフレームワークまたは環境でラッピングすることで、基盤となるコードに大きな変更はなされません。このアプローチによるモダナイズのメリットは限定的ではありますが、ユーザー・エクスペリエンスやアクセシビリティの向上という面においては、短期間で成果を上げることができます。
リプラットフォーム
リプラットフォームは、レガシー・アプリケーションの変更を最小限にとどめ、最新のプラットフォームやテクノロジーを活用することです。この作業には、オペレーティング・システム、データベース、開発フレームワークの新しいバージョンへの移行が含まれています。リプラットフォームはモダナイズの利点も享受でき、費用対効果もあるバランスの取れた戦略です。
リホスト
アプリケーションのリホストとは、アプリケーションに大きな変更を加えずに、新しい環境に移行することです。多くの場合、より迅速に安価で行えるモダナイズのオプションの1つです。アプリケーション移行後は、より効率的で柔軟なインフラを利用することができます。
リファクタリング
リファクタリングでは、レガシー・アプリケーションの構造、設計、パフォーマンスを改善するために、コード・レベルの大幅な変更が必要となります。このアプローチは、保守性、スケーラビリティ、拡張性の強化に重点が置かれますが、コアとなるビジネス機能は維持されます。
リプレース
アプリケーションのリプレースでは、レガシー・アプリケーションを完全に破棄し、まったく新しいソリューションを構築します。ビジネスで必要な重要なソフトウェアやシステムとレガシー・アプリケーションとの互換性がないという理由から、リプレースせざるを得ない場合もあります。
リアーキテクト
リアーキテクトでは、アプリケーションのアーキテクチャ全体を設計しなおし、マイクロサービスやサービス指向アーキテクチャといった最新のアーキテクチャ・パターンを適用する必要があります。企業はこの戦略を採用することで、社内アプリケーション全体において、より高い柔軟性、スケーラビリティ、アジリティを実現することができます。
再構築
再構築は、コア機能やビジネス・ロジックは保持しつつ、レガシー・アプリケーションをイチから書き直す方法です。このアプローチでは、最高レベルのモダナイズ効果を得ることができますが、多大なリソースや時間が必要となります。
詳細は、アプリケーションのモダナイズ戦略に関するガイドをご覧ください。
<手順4>未来の成長に備える
レガシー・アプリケーションをモダナイズする際は、将来のことも考え、システムをどの程度成長、拡張するつもりなのかの計画を立てることが重要です。モダナイズの取り組みがビジネスの長期的な目標に合致し、進化する技術のトレンドにも対応できるようにします。要件の変化に容易に対応できるように、モジュール化された柔軟なアプリケーションを設計することで、将来性を確保します。
<手順5>適切なモダナイズ・ソリューションの選択
レガシー・アプリケーション移行の成功させるためには、適切なモダナイズのソリューションを選択することが重要な鍵となります。レガシー・システムの複雑性、希望するモダナイズのレベル、利用可能なリソース、開発チームのスキルなどの点を考慮してください。モダナイズのツール、フレームワーク、プラットフォームを評価し、ビジネス要件に最適なものを探し出します。
<手順6>監視と最適化
モダナイズのプロセスが完了したら、モダナイズしたアプリケーションを監視し、最適化の作業を継続します。ユーザーや関係者からフィードバックを収集し、改善できる領域を特定します。新しいインフラのパフォーマンス、スケーラビリティ、セキュリティを定期的に評価し、期待どおりに動作していることを確認してください。
最適なモダナイゼーション・アプローチの選択方法
レガシー・アプリケーションをモダナイズする最適な方法を決定することは容易ではなく、1つのアプローチですべてが解決されるという訳ではありません。モダナイズ戦略を決定する際は以下の点に考慮してください。
リスク:レガシー・アプリケーションのモダナイズに伴うビジネス・リスクを評価し、リスクを最小限に抑えられるアプローチを選択します。
スコープ:現在のシステムでモダナイズが必要な機能を事前に特定することで、その機能追加に適切なアプローチがどうかの判断ができます。
アーキテクチャ:現在のインフラと新機能のアーキテクチャの両方の要素を考慮に入れて、最適な戦略を決定します。
運用:モダナイズされたシステムを利用する際に必要となる新たなスキルとその習得のためのトレーニングと現在のプロセスを比較します。
セキュリティ:モダナイズのプロセスの前後でデータ損失が発生しないように注意し、政府や業界の規制に準拠したアプローチを選択する必要があります。
コスト:予算を考慮し、賢明な使い方をする必要があります。どのアプローチを取るべきかを決定する最大の要因の1つが予算です。
レガシー・モダナイズの課題
レガシー・アプリケーションのモダナイズは、単純明快なプロセスというわけではありません。その過程には、組織が直面する多くの課題があります。ここでは、一般的な課題と、克服のためのヒントをご紹介します。
変更に対する抵抗:モダナイズのメリットや目標を明確に何度も伝えることが大切です。モダナイズのプロセスにユーザーも参画してもらうと同時に、適切なトレーニングやサポートを提供します。
スキル不足:モダナイズに必要なスキルを獲得するためのトレーニング、新規雇用もしくはアウトソーシングに投資します。レガシー・システムに関する貴重な知識や経験を持つ既存のスタッフを維持すると同時に報酬も検討します。
高いコスト:モダナイズの投資収益率 (ROI) を計算します。モダナイズの様々なアプローチのコストとメリットを比較し、最適なアプローチを選択します。
複雑性:レガシー・アプリケーションのアーキテクチャ評価を実施し、リファクタリングやコード修正の支援ツールを活用します。モダナイズのプロセスを管理がしやすいよう小規模のタスクに分割し、修正を段階的に行います。
モダナイズ前のチェック項目
レガシー・モダナイゼーションを開始する前に、以下のチェック項目を確認し、重要な考慮事項を評価することが大切です。
- レガシー・アプリケーションでビジネスや顧客が抱えている問題点は何か?
- モダナイズされたアプリケーションで、現在や未来のニーズにどう応えるのか?
- モダナイズで最優先するのはどの機能(モビリティ、クラウド、分析など)か?
- ビジネスの推進力にするために、どのようなタイムラインが望ましいのか?
- 他システムとの統合機能で必要なのは何か?
- 準拠の必要がある、規制やコンプライアンス要件は何か?
- 社内で利用できるスキルセット、および外部パートナーの協力が必要なスキルセットは何か?
- リスク軽減のための戦略として何が必要か?
成功事例
あらゆる業界の多くの組織にとって、レガシー・ソフトウェアのモダイナイズが有益であることは証明されています。ここでは、モダナイズの目標を達成し、ビジネスで功績をあげた成功例の一部をご紹介します
近代美術館 – 会員管理およびチケット認証のモダナイズ
ニューヨーク近代美術館 (The Museum of Modern Art) では、LANSAによるレガシー・システムのモダナイズで成功を納めました。この美術館は、統合されたWindowsのWebベース会員管理システムと、ワイヤレスPDAを使ったチケット認証POSソリューションを導入しました。この変更により、ニューヨーク近代美術館は業務を合理化でき、生産性も向上し、来館者のユーザー・エクスペリエンスを改善することができました。
カワサキ – 倉庫管理に革命
二輪車・重機のトップ・メーカーであるカワサキモータースは、倉庫管理システムのモダナイズにLANSAを活用しました。カワサキでは、企業のERPシステムに統合させ、外部スキャナーにもアクセスできるiPad用のモバイルアプリが必要でした。LANSAのLongRangeを使用し、社内でアプリ開発を行うことで1日あたり3,500ドルの人件費を削減でき、より安全な組立ラインが実現されました。
Braum’s Ice Cream and Dairy Store – モバイルアプリの機能強化
Braum社は、世界最大級の乳製品の製造会社で、LANSAを使ってモバイルアプリ機能を強化しました。同社の地区担当およびエリア担当のマネージャーは、リアルタイムで重要なビジネス・レポートへのアクセスが可能になり、外出先でも必要な情報に基づいた意思決定ができるようになりました。さらに、Braum社はLANSAを使って管理システムの刷新も推進し、在庫管理の合理化およびコスト削減を実現しました。
レガシー・アプリケーション・モダナイズの最新トレンド
デジタル時代の需要に応えるために、レガシー・アプリケーションのモダナイズは絶えず進化を遂げています。組織はデジタル・トランスフォーメーションやアジリティの向上に努める一方で、将来のモダナイズの取り組みに貢献する、以下のような新たなトレンドやテクノロジーがあります。
クラウド・ネイティブのアーキテクチャ:サーバーレス等のクラウド技術がモダナイゼーションでも人気を集めており、スケーラビリティや柔軟性が提供されます。
ローコード/ノーコード開発:この開発プラットフォームでは、複雑なコーディング作業を抽象化することで、深いプログラミング知識がなくても高速なアプリケーション開発が可能になります。
AI/ML:人工知能(AI)や機械学習(ML)により、コード分析、依存マッピング、影響評価といったレガシー・アプリケーションのモダナイズに関係する多くのタスクが自動化されます。
DevOps:最新のDevOpsのプラクティス(コンテナ化やオーケストレーションなど)を活用することで、レガシー・アプリケーションをよりスケーラブルで回復力の高いものにできます。
先延ばしせず、まずは始めましょう!
モダナイズすることで、レガシー・システムがデジタル時代の需要に応えられるようになります。ビジネス・ソフトウェアのパフォーマンス、スケーラビリティ、セキュリティ、ユーザー・エクスペリエンスが向上するとともに、新たなデジタルのビジネスモデルが実現され、業界や政府の規制に対するコンプライアンスも改善されます。
組織にとっては、レガシー・ソフトウェアが負担となる可能性もあるため、長期的な成功を目指すにはモダナイズが重要です。レガシー・アプリケーションは、維持コストも高く、他のシステムとの統合が難しく、セキュリティの脅威に対しても脆弱である可能性があります。適切なモダナイズのアプローチを採用すれば、レガシー・システムをビジネスの成長を阻害するシステムではなく、促進させるシステムにすることができるのです。
LANSAの包括的なモダナイズ・ツールを活用することで、企業はIBM iアプリケーションを効率的に予算内で刷新することが可能です。LANSAのIBM iモダナイズ・ソリューションの詳細については、IBM iモダナイズのページをご覧ください。モダナイズのプロセスの準備が整っている、またはご不明な点がある場合は、ランサ・ジャパンまでお問い合わせください。
参考文献
[1] https://www.ibm.com/blog/four-steps-to-app-modernization-success/