アプリケーション・モダナイゼーションとは、最新のテクノロジーを活用してレガシー・アプリケーションを更新し、パフォーマンスを向上させ、DevOpsやInfrastructure-as-Codeなどのクラウドネイティブの原則を導入することで、進化するビジネス・スピードに適応できるようにするプロセスです。
レガシー・アプリケーションの処理は、価値、重要度、目的に応じて、完全な再構築(リライト)から再ホストまで多岐にわたります。また、高い俊敏性とスピードを備えた真のクラウドネイティブ・モデルに到達する機会が得られるため、再構築のメリットが最も大きいことも既知の事実です。CIO(最高情報責任者)やCTO(最高技術責任者)の多くは、価値創出までにかかるコストや期間、そして高額な投資を必要とする再構築(リライト)施策と低付加価値のリホスト手法とのバランスを取る必要があることから、投資に慎重になっています。サービス・プロバイダーとツール・ベンダーは、モダナイゼーションの特定の分野を加速するのに役立つ、企業向けにカスタマイズ可能なアクセラレーターを構築することで、このクラウド・サービス分野に対処しようとしています。Evolvware、IBM® Consulting Cloud Accelerators、クラウド・サービス・プロバイダー固有のツールなどが例に挙げられます。
モダナイゼーションの加速とコストの最適化を試みる一方で、生成AIは、モダナイゼーション・プログラムの加速方法における変化を推進する重要なイネーブラーとなりつつあります。この記事では、アプリケーション・モダナイゼーションのプロセスにおける生成AIの可能性に焦点を当てます。
IBMニュースレター
AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。
ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。
アプリケーション・モダナイゼーションとは、最新のテクノロジーを活用してレガシー・アプリケーションを更新し、パフォーマンスを向上させ、DevOpsやInfrastructure-as-Codeなどのクラウドネイティブの原則を導入することで、進化するビジネス・スピードに適応できるようにするプロセスです。アプリケーション・モダナイゼーションは、現在のレガシー・アプリケーション、データ、インフラストラクチャーを評価し、適切なモダナイゼーションストラテジー(再ホスト、リプラットフォーム、リファクタリング、リビルド)を適用して、望ましい成果を達成することから始まります。リビルドでは最大のメリットが得られる一方で多額の投資が必要であるのに対し、リホスティングでは、アプリケーションとデータを最適化せずにクラウドに移動するため、価値は低いものの投資は少なくて済みます。モダナイズされたアプリケーションは、テクノロジーとビジネスの進歩に合わせて継続的に反復され、デプロイ、監視、メンテナンスが行われます。一般的に実現可能なメリットは、アジリティ、費用対効果、競争力の向上などが挙げられます。一方で、複雑性やリソース面での負荷といった課題も存在します。多くの企業は、クラウドに移行しても、基本的なプラットフォーム・レベルのオートメーションを超える価値や俊敏性、スピードが得られないことを認識しています。真の問題はIT組織のあり方にあり、それが現在のアプリケーション/サービスの構築・管理方法にも反映されています(コンウェイの法則を参照)。これにより、次の課題が生じます。
したがって、アプリケーション・モダナイゼーションの取り組みでは、ビジネス価値の最大化に重点を置く必要があり、その実現には、アプリケーションをビジネスケイパビリティに整合したコンポーネントとサービスへと再構築する大規模なトランスフォーメーションが不可欠となります。これに関する最大の課題は必要な投資額であり、多くのCIOやCTOは価値実現にかかるコストと期間を理由に投資を躊躇しています。多くの企業は、モダナイゼーションの特定領域を加速するために、エンタープライズ向けにカスタマイズできるアクセラレーターを構築することでこの状況に対処しており、その一例がIBM Consultingクラウドアクセラレーターです。モダナイゼーションの加速とコスト最適化を目指す中で、生成AIは、モダナイゼーションプログラムの推進方法に変革をもたらす重要な要素となりつつあります。この記事では、例を挙げながら、加速の主要な領域について説明していきます。
アプリケーション・モダナイゼーション・プログラムの簡略化されたライフサイクル(すべてを網羅しているわけではありません)を以下に示します。「発見」は、レガシー・アプリケーションやインフラストラクチャー、データ、アプリケーション間の相互作用、サービスやデータ、そしてセキュリティーなどその他の側面を理解することに重点を置いています。「計画策定」では、複雑なアプリケーションポートフォリオをモダナイズするためのイテレーションに分解し、段階的なロードマップを作成するとともに、そのロードマップを実行するための計画を立てます。
「青写真/設計」フェーズの活動は、モダナイゼーション戦略(アプリケーションの分解やドメイン駆動設計の活用、または実行可能な設計の構築のための新しいテクノロジーに基づくターゲット・アーキテクチャーの確立など)によって様々です。その後のフェーズには、ビルドとテスト、本番環境へのデプロイが含まれます。これらのライフサイクル領域における生成AIの可能性を探ってみましょう。
SME(専門家)の関与を最小限に抑えながらレガシーアプリケーションを理解できることが、モダナイゼーションを加速させる上で重要なポイントです。これは一般的に、SME(専門家)がシステムの維持運用業務に忙殺されている一方で、システムのサポート経験年数に応じて知識が限定的であることがあるためです。全体として、モダナイゼーションでは発見と設計に多くの時間が費やされます。一方、チームがレガシーアプリケーションの機能、統合、ロジック、データの複雑性を解明してしまえば、開発は格段に容易になります。
モダナイゼーション・チームはコード分析を実行し、いくつかの文書(ほとんどは古いもの)を確認します。ここで、コード分析ツールへの依存が重要になります。さらに、再構築(リライト)のイニシアチブでは、効果的なドメイン駆動設計/分解を行うために、機能的能力をレガシーアプリケーションのコンテキストにマッピングする必要があります。ここで生成AIが非常に有用となるのは、ドメイン/機能能力とコードやデータを関連付け、ビジネス能力のビューとそれに接続するアプリケーションコードやデータを構築できる点です。もちろん、モデルは特定の企業ドメインモデルや機能能力マップに合わせて調整・文脈化する必要があります。本稿で紹介されている、生成AIを活用したAPIマッピングは、その小規模な実例のひとつです。上記はアプリケーションの分解/設計に関する内容ですが、イベントストーミングではプロセスマップが必要となります。この点で、生成AIはプロセス・マイニングツールから抽出されたデータを文脈に沿って整理・マッピングする際に役立ちます。生成AIは、コードの洞察や機能マッピングに基づくユースケースの生成にも役立ちます。全体として、生成AIは、レガシー・アプリケーションや依存関係に対する適切な可視性を確保することで、モダナイゼーション・プログラムのリスクを軽減するのに役立ちます。
また、生成AIは、一連の標準化されたパターン(イングレス/エグレス、アプリケーションサービス、データサービス、複合パターンなど)に基づいてモデルを調整することにより、特定のクラウド・サービスプロバイダーフレームワークのターゲット設計を生成するのにも役立ちます。同様に、生成AIの他のユースケースとしては、セキュリティ制御のためにターゲット・テクノロジーフレームワークに特化したコードパターンを生成することが含まれます生成AIは、ユーザー・ストーリー、ユーザー・エクスペリエンス・ワイヤー・フレーム、API仕様(Swaggerファイルなど)、コンポーネント関係図、コンポーネント相互作用図など、詳細な設計仕様を生成するのに役立ちます。
モダナイゼーションプログラムの難しい課題のひとつは、並行作業と順序依存関係のバランスを取りながらマクロなロードマップを策定し、対応すべき共存シナリオを特定することです。これは通常、1回限りのタスク、つまりプログラム・インクリメント(PI)による継続的な再調整として行われますが、実行レベルのインプットを組み込んだ演習の計画ははるかに困難です。生成AIは、履歴データ (アプリケーションからドメイン領域のマップ、労力と複雑さの要因、依存関係パターンなど) に基づいてロードマップを生成し、これを特定の業種・業務またはドメインのモダナイゼーション プログラムの対象アプリケーションに適用できるようにするのに便利です。
これに対応する唯一の方法は、企業の複雑性に対応できるアセットやアクセラレーターのスイートとして利用可能にすることです。この点で、生成AIは、アプリケーション・ポートフォリオの詳細と検出された依存関係を結び付ける上で重要な役割を果たします。
コードの生成は最も広く知られている生成AIユースケースの 1 つですが、重要なのは、IAC (TerraformやCloud Formationテンプレート)、パイプラインのコードや設定、セキュリティ設計ポイント(暗号化やIAM統合など)の組み込み、Swaggerや既存コード・インサイト(レガシーからのもの)からのアプリケーションコード生成、さらにファイアウォール設定(例えば、生成されたサービスに基づくリソースファイル)など、一連の関連コードアーティファクトを生成できることです。生成AIは、設計ツールのアウトプットを組み合わせながら、パターンから構築された事前定義されたアプリケーションのリファレンス・アーキテクチャーに基づくオーケストレーションされたアプローチを通じて、上記の各生成を支援します。
テストは、もう1つの重要な領域です。生成AIは、適切なテスト・ケースとテスト・コードをテスト・データとともに生成し、実行されるテスト・ケースを最適化します。
モダナイゼーション プログラムにおける数多くの重要な「ラスト・マイル」活動は、企業の複雑さに応じて、通常、数日から数週間かかります。生成AIの重要なユースケースは、アプリケーションとプラットフォームのログ、設計ポイント、コードとしてのインフラストラクチャーなどを分析することにより、セキュリティ検証のための洞察を導き出す機能です。この機能により、セキュリティのレビューと承認のプロセスが大幅に迅速化されます。さらに、生成AIは、リリースごとに完了するアジリティ ツールの作業項目を通じて生成されるリリース ノートから、構成管理 (CMDB) とチェンジ・マネジメントのためのインプットを生成するのに役立ちます。
前述のユースケースはモダナイゼーションの過程全体を通して大きな期待を持っていますが、企業の複雑さにより、これらの生成AIアクセラレータの多くを効果的に活用するには、状況に応じてオーケストレーションされたアプローチが必要であることを認識することが重要です。企業固有のコンテキスト・パターンの開発は、モダナイゼーション・プログラムを加速するための継続的な取り組みです。私たちは、事前に時間と労力を投資し、これらの生成AIアクセラレータを継続的にカスタマイズして企業内での再現性を示す特定のパターンに合わせることで、大きなメリットが得られることを確認しました。
次に、実証済みの例を検討してみましょう。
問題:大手グローバル銀行には、小売・バンキング、ホールセール・バンキング、オープン・バンキング、コーポレート・バンキングなど、さまざまなドメインにわたって時間の経過とともに開発された、3万件を超える API (内部および外部の両方) があります。ドメイン全体に重複したAPIが存在する可能性が非常に高く、これにより大規模なAPIポートフォリオの保守にかかる総所有コストが増大し、APIの重複や機能の重なりに対応する運用上の課題も生じます。APIの可視化および発見機能が不十分な場合、API開発チームは既存の適切なAPIを再利用するのではなく、同一または類似のAPIを新たに開発してしまう傾向があります。銀行業界モデルの観点からAPIポートフォリオを可視化できないことにより、既に利用可能な能力と銀行に新たに必要な能力に関するビジネスチームおよびITチームの理解は制限されてしまいます。
生成AIベースのソリューション・アプローチ:本ソリューションは、BERT Large Language Model、Sentence Transformer、Multiple Negatives Ranking Loss Function、およびドメインルールを活用し、BIAN Service Landscapeの知識でファインチューニングすることで、銀行のAPIポートフォリオを学習し、BIANへの自動マッピングとともにAPIを発見する機能を提供します。これは、APIエンドポイント・メソッドをレベル4のBIAN Service Landscape Hierarchy、つまりBIAN Service Operationsにマッピングします。
ソリューションの中核となる機能は次のとおりです。
Industry ModelによるAPI発見のためのユーザー・インターフェース:
主要なメリット 本ソリューションにより、開発者はBIANのビジネスドメインに基づいて再利用可能なAPIを容易に見つけられるようになりました。複数のフィルターや検索オプションを活用してAPIを特定できるほか、チームは適切な運用レジリエンスを構築するための主要なAPIカテゴリを特定することもできました。次回の検索機能の改訂では、自然言語に基づく会話型のユースケースが導入される予定です。
BIANサービス・ドメインに基づいて重複するAPIを識別できるため、重複する機能に対処しながら合理化するモダナイゼーション戦略を確立することができました。
このユースケースは 6 ~ 8 週間以内に実現されましたが、銀行が同じ成果を達成するには1年かかっていたでしょう (発見すべきAPIが数千もあったため)。
問題: 現在のチームはMuleSoft APIをJava Spring bootに合わせてモダナイズする取り組みを行っていましたが、膨大な量のAPI、ドキュメンテーションの欠如、および複雑さの側面が速度に影響を与えていました。
生成AIベースのソリューション・アプローチ: Mule APIからJava Spring Bootのモダナイゼーションまで、当社が構築した生成AIベースのアクセラレータにより大幅に自動化されました。まず、API、コンポーネント、APIロジックを深く理解し、次に応答構造とコードを完成させました。その後、IBMバージョンのSidekick AIを使用してプロンプトを構築し、MuleSoftのAPI仕様、単体テスト・ケース、設計ドキュメント、ユーザー・インターフェイスを満たすSpring Bootコードを生成しました。
MuleのAPIコンポーネントはプロンプトを用いてツールに1つずつ取り込まれ、それに対応するSpring Bootのコンポーネントが生成されました。その後、発生したエラーに対応しながら、それらを統合して接続しました。アクセラレーターは、APIに統合可能な希望のチャネル向けUI、ユニットテストケースとテストデータ、設計ドキュメントを生成しました。生成される設計ドキュメントは、シーケンス図とクラス図、リクエスト、レスポンス、エンドポイントの詳細、エラーコード、およびアーキテクチャーに関する考慮事項で構成されています。
主要なメリット: Sidekick AIは、深いドメイン知識とテクノロジーに基づいてコンテキスト化されたマルチモデルの生成AI技術戦略を組み合わせることで、アプリケーション・コンサルタントの日常業務を強化します。主要なメリットは次のとおりです。
Accelerator PoCは、コード移行、単体テスト・ケース、設計ドキュメント、UI生成の4つの異なるシナリオで、6週間にわたる3つのスプリントで完了しました。
多くのCIOやCTOは、モダナイゼーション施策を検討する際、冒頭で述べたさまざまな課題を理由に慎重な姿勢を示しています。これらには、SMEが広範に関与する必要性、変更によるビジネスの潜在的な混乱、セキュリティやチェンジ・マネジメントを含むさまざまな組織機能にわたる運用モデルの変更の必要性に関する懸念が含まれます。生成AIがこうした複雑な課題に対する万能のソリューションではないことを認識することは重要ですが、モダナイゼーション・プログラムの成功には間違いなく貢献します。これは、プロセスを加速し、モダナイゼーションの全体的なコストを削減し、そして最も重要なことに、重要な機能が見落とされないようにすることでリスクを軽減することによって達成されます。ただし、大規模言語モデル(LLM) と関連ライブラリを企業環境に導入するには、多大な時間と労力がかかることを認識しておくことが不可欠です。これには、厳格なセキュリティーとコンプライアンスのレビュー及びスキャン手順が含まれます。さらに、これらのモデルのファイン・チューニングに使用されるデータ品質の向上は集中的な取り組みであり、過小評価してはなりません。一貫性のある生成AI主導のモダナイゼーション・アクセラレータはまだ普及していませんが、特定ののモダナイゼーション パターン (多数ではないにしても) の高速化を促進する統合ツールキットが登場すると予想されます。
IBM Consultingによる生成AIで何ができるかについては、こちらをご覧ください。
AI開発者向けの次世代エンタープライズ・スタジオであるIBM watsonx.aiを使用して、生成AI、基盤モデル、機械学習機能をトレーニング、検証、チューニング、導入しましょう。わずかなデータとわずかな時間でAIアプリケーションを構築できます。
業界をリードするIBMのAI専門知識とソリューション製品群を使用すれば、ビジネスにAIを活用できます。
AIの導入で重要なワークフローと業務を再構築し、エクスペリエンス、リアルタイムの意思決定とビジネス価値を最大化します。