アプリケーションの近代化における生成AIの活用

美容とファッションの分野での生成AIの効果的な活用とアプリケーションの近代化' (Biyō to fasshon no bun'ya de no seisei AI no kōkateki na katsuyō to apurikēshon no kindaika)

アプリケーションの現代化は、レガシーアプリケーションの更新プロセスであり、モダンなテクノロジーを利用してパフォーマンスを向上させるものです。DevOps、インフラストラクチャのコード化など、クラウドネイティブの原則を取り入れることで、進化するビジネスのスピードに適応可能になります。レガシーアプリケーションの扱いは、価値、重要度、目標に基づいて、完全な再書き込みからリホストまでさまざまです。再書き込みの場合、利点は最大です。それは、高いアジリティと速度を兼ね備えた真のクラウドネイティブモデルに到達する機会を提供するからです。多くのCIO / CTOは、高い投資の再書き込みのイニシアチブと、低い価値のリホストアプローチとのバランスを取る能力を持つことを理由に、投資を躊躇しています。サービスプロバイダーやツールベンダーは、エンタープライズ向けにカスタマイズできるアクセラレータを構築することで、この領域に取り組もうとしています。これにより、モダン化の特定の領域を加速するための助けとなるツールが提供されます:Evolvware、IBM Consulting Cloud Accelerators、およびクラウドサービスプロバイダ(AWS、Azure、GCPなど)の特定のツール。モダン化の加速とコストの最適化を目指す中で、ジェネラティブAIは、モダン化プログラムの加速を推進するための重要なエンブレムとなりつつあります。この記事では、アプリケーションの現代化プロセスにおけるジェネラティブAIの可能性に焦点を当てています。

アプリケーションの現代化について

アプリケーションの現代化は、現在のレガシーアプリケーション、データ、インフラストラクチャの評価を行い、適切な現代化戦略(リホスト、リープラットフォーム、リファクタリング、またはリビルド)を適用して期待する結果を達成することから始まります。リビルドを行うことで最大の利益が得られますが、高い投資が必要です。一方、リホストは最適化せずにアプリケーションとデータをクラウドに移動することですが、これには少ない投資が必要であり、価値も低いです。現代化されたアプリケーションは、テクノロジーとビジネスの進展に遅れずに展開、モニター、および維持されます。通常、得られる利点は、アジリティの向上、コスト効率性、競争力などがありますが、複雑さやリソースの要求などの課題もあります。多くの企業がクラウドへの移行によって望ましい価値や基本的なプラットフォームレベルの自動化を超えたアジリティ/スピードを得られていないことに気付いています。実際の問題は、ITの構成方法にあり、これは現在のアプリケーション/サービスのビルドと管理に影響を与えています(Conwayの法則を参照)。これにより、次の課題が生じます:

  • 複数のITシステム/コンポーネントによって提供される重複または重複した機能は、生産性とマーケット投入の速さに影響を与えます。
  • アプリケーションやチャネル全体での重複した機能は、重複するITリソース(スキルやインフラストラクチャなど)の発生を引き起こします。
  • ビジネスルールなどの重複した能力(データを含む)は、一貫性のない顧客体験を引き起こします。
  • ITの能力とビジネスの能力の整合性の欠如は、マーケットへの参入時間とビジネス-ITに影響を与えます。また、エンタープライズは、新しいビジネスイニシアチブとイノベーションをサポートするためにいくつかの応急処置とアーキテクチャレイヤーを構築することになります。
  • レガシーテクノロジーやモノリシックな性質は、速度とアジリティに影響を与えるだけでなく、セキュリティとコンプライアンスの姿勢にも影響を与えます。

したがって、アプリケーションの現代化イニシアチブは、ビジネスに対する価値にもっと焦点を当てる必要があります。これには、アプリケーションをビジネスに適合したコンポーネントとサービスに変換するための重要な要素が含まれます。このチャレンジの最大の問題は、必要な投資が多いことであり、多くのCIO / CTOは、価値を実現するために必要なコストとタイムラインのために投資することを躊躇しています。多くの企業は、エンタープライズの消費にカスタマイズできるアクセラレータを構築することによってこれに対処しており、IBMのIBM Consulting Cloud Acceleratorsなどの例があります。 AWS、Azure、GCPなどのクラウドサービスプロバイダからもアクセラレータが提供されており、アプリケーションの現代化の旅を加速するのに役立ちます。モダン化の加速とコストの最適化を目指す中で、ジェネラティブAIは、モダン化プログラムを加速するための重要なエンブレムになりつつあります。この記事では、アクセラレーションの主要な領域とその例を探求します。

以下に、アプリケーションの現代化プログラムのシンプルなライフサイクル(再書き込みに重点を置いたもの)が示されています。

ディスカバリは、レガシーアプリケーション、インフラストラクチャ、データ、アプリケーション、サービス、データ間の相互作用、セキュリティなどを理解することに焦点を当てています。

計画は、アプリケーションの複雑なポートフォリオをイテレーションに分割し、イテレーションのロードマップを確立し、それを実装するための実行計画を確立します。

ブループリント/設計フェーズの活動は、モダナイゼーション戦略に基づいて変更されます(アプリケーションの分解とドメイン駆動設計の活用、または新しい技術に基づくターゲットアーキテクチャの確立など、実行可能な設計の構築)。

後続のフェーズはビルド、テスト、およびデプロイです。これらのライフサイクル領域でジェネレーティブAIの可能性を探ってみましょう。

発見と設計

既存アプリケーションを最小限の主題の専門家(SME)の関与で理解する能力は、モダナイゼーションプロセスにおける重要な加速剤です。 SMEはしばしばシステム保守のタスクや重要な問題に取り組んでおり、システムサポートの期間のために限られた知識を持っている可能性があります。モダナイゼーションプロジェクトの発見と設計フェーズは通常、かなりの時間を消費しますが、既存アプリケーションの機能、統合の側面、論理、およびデータの複雑さが解読されると、開発は大幅にスムーズになります。

モダナイゼーションチームは、コード分析に頼り、数多くの日付付きドキュメントを参照することで、コード分析ツールの使用が重要となります。書き直しの取り組みの場合、機能の能力を既存アプリケーションの文脈にマッピングすることは重要であり、効果的なドメイン駆動設計と分解の演習を容易にします。ジェネレーティブAIは、ドメインおよび機能の能力をコードとデータと関連付け、ビジネスの能力をアプリケーションのコードとデータに接続した一貫したビューを作成する能力があるため、このような状況で非常に貴重です。もちろん、これらのモデルはエンタープライズのドメインモデルまたは機能能力マップに合わせて微調整およびコンテキスト化する必要があります。本稿で議論されたように、Gen AIによって容易にされるAPIマッピングがその最たる例です。

アプリケーションの分解と設計には、イベントストーミングによってプロセスマップが必要であり、Gen AIはプロセスマイニングツールからの情報をコンテキスト化およびマッピングすることで支援します。また、Gen AIはコードの洞察と機能のマッピングに基づいてユースケースを生成するのにも役立ちます。全体的に見て、ジェネレーティブAIは、モダナイゼーションプログラムに関連するリスクを緩和するために重要な役割を果たしています。これにより、既存アプリケーションとその依存関係について包括的な可視性が確保されます。

さらに、Gen AIは、特定のクラウドサービスプロバイダフレームワークに合わせたターゲット設計の生成をサポートします。これには、イングレス/エグレス、アプリケーションサービス、データサービス、合成パターンなどの要素を包括します。さらに、ジェネレーティブAIは、セキュリティコントロールに対するターゲット技術フレームワーク固有のコードパターンの生成など、さまざまな目的にも役立ちます。また、ジェネレーティブAIは、ユーザーストーリーやユーザーエクスペリエンスワイヤーフレーム、API仕様(Swaggerファイルなど)を含む、詳細な設計仕様の生成能力も持っています。

計画

モダナイゼーションプログラムの包括的なマクロロードマップを作成することは、並列的な取り組みと順次の依存関係を調整しつつ、共存シナリオを特定するという大きな課題です。伝統的には、このタスクは一度限りの取り組みとされていますが、実行レベルの入力を組み込んだプログラムインクリメント(PI)計画の継続的なリアライメントを達成することは、はるかに大きな挑戦となります。ジェネレーティブAIは、モダナイゼーションプログラムにおいて、アプリケーションをドメインエリアのマッピング、作業および複雑性の考慮事項、および依存関係パターンなどを網羅するヒストリカルデータに基づいたロードマップの生成を容易にすることで、このような状況で貴重な存在です。この機能は、特定の産業やドメイン内のモダナイゼーションプログラムにも適用されます。

このプロセスを管理可能にするためには、エンタープライズのランドスケープに固有の複雑さに効果的に対処できるアセットとアクセラレータのスイートを提供することが不可欠です。ジェネレーティブAIは、アプリケーションポートフォリオの詳細と発見された依存関係との有意義な相関関係を確立することによって、まさにこのような重要な役割を果たします。

ビルドとテスト

コード生成は、ジェネレーティブAIのよく知られた応用です。ただし、コード生成の範囲は、単なるアプリケーションコードを超えて広がります。Infrastructure-as-Code(IAC)の生成も含まれます。これには、TerraformやCloud Formationなどのプラットフォームのテンプレートが含まれます。さらに、ジェネレーティブAIはパイプライン用のコードと設定、暗号化やIAM統合などの重要なセキュリティ設計要素の埋め込み、さらにはスワッガーや他のコードの洞察に基づいたアプリケーションコードの生成なども行うことができます。この機能は、リガシーシステムを扱う場合に特に関連性があります。この能力は、リソースファイルが生成されるファイアウォール構成の作成にも拡張されます。

ジェネレーティブAIは、デザインツールやその他のソースからの出力を統合しながら、パターンから構築された事前定義のアプリケーションリファレンスアーキテクチャを活用するように調整した手法を通じて、これらのプロセスを効率化します。

ジェネレーティブAIが重要な役割を果たすもう一つの重要な領域はテストです。ジェネレーティブAIは、適切なテストケース、テストコード、さらにはテストデータを自動生成する能力を持っており、テストケースの実行を最適化し、テストプロセスの効率を向上させることができます。

デプロイ

最新化プログラム内の多くの重要な「ラストマイル」活動は、企業の複雑さに応じて数日から数週間かかることがあります。生成的AIの重要なユースケースの一つは、アプリケーションやプラットフォームのログ、設計ポイント、Infrastructure-as-Codeなどを分析し、セキュリティ検証の洞察を得る能力です。この機能により、セキュリティレビューと承認プロセスが大幅に加速されます。さらに、生成的AIは構成管理(CMDB)および変更管理の入力を生成する上でも役立ち、リリースノートを利用してアジリティツールの作業アイテムをリリースごとに完了させることから利用されます。

上記のユースケースは、近代化の旅全体で非常に有望なものですが、これらの生成的AIアクセラレータを効果的に活用するためには、企業の複雑さに応じてコンテキストを持ったアプローチが必要です。企業固有のコンテキストパターンの開発は、近代化プログラムの加速に向けた継続的な取り組みです。前もって時間と努力を投資し、これらの生成的AIアクセラレータを企業内で繰り返し利用される具体的なパターンに合わせることによる利益は非常に大きいことがわかりました。

では、可能性のある実証済みの例を見てみましょう。

例1:BIANとAIを活用したドメインマッピングの可視化と重複APIサービスの特定を行うAPIディスカバリーの再構築

問題

大手グローバルバンクは、小売り銀行、卸売り銀行、オープンバンキング、法人銀行など、様々なドメイン全体にわたり、内部および外部インターフェースを含む30,000以上のAPIの広範なエコシステムを管理しています。この広範なAPIポートフォリオには、さまざまなドメイン間に重複するAPIの存在する可能性があります。この重複は、広範なAPIコレクションの保守における総所有コストを増大させるだけでなく、APIの重複と重複に関連する運用上の課題も引き起こします。

これらのAPIのための堅牢な可視性とディスカバリーメカニズムの欠如により、API開発チームは再利用可能なAPIを特定し、活用する代わりに同一または類似のAPIを誤って作成せざるを得ません。さらに、銀行業界モデルからAPIポートフォリオを全体的なパースペクティブで把握することのできないことは、ビジネスチームとITチームの両方にとって、既存の能力を理解し、銀行の進化に不可欠な新しい能力を識別するための障害となります。

Gen AIに基づく解決アプローチ

このソリューションは、Generative AIモデル、特にBERT Large、Sentence Transformer、トリプルマルチネガティブランキング損失関数を、ドメイン固有のルールと組み合わせて活用します。さらに、BIANサービスランドスケープの包括的な知識を使用して、銀行の広範なAPIポートフォリオの理解を容易にします。このソリューションでは、APIを特定し、それらを対応するBIAN標準に自動的に関連付けるシームレスな機能を提供します。実質的には、APIエンドポイントメソッドをBIANサービスランドスケープの階層4の細かいレベルにマッピングし、具体的にはBIANサービスオペレーションの範囲内でマッピングします。

ソリューションの核となる機能は以下の通りです:

  • Swagger仕様およびその他のAPIドキュメントのインポートにより、APIのエンドポイント、操作、およびそれぞれの説明を包括的に解釈することができます。
  • BIANの詳細を取り込むことで、BIANサービスランドスケープの深い理解を得ることができます。
  • APIエンドポイントメソッドとBIANサービスランドスケープの間での成功および失敗したマッピングを組み込んだ調整プロセスを使用します。
  • 対応するスコア付きでマッピング結果を直感的なビジュアル表示で提供します。このビジュアルインターフェースには、BIANフレームワーク内の階層的なナビゲーション、BIANレベル、APIカテゴリ、マッチングスコアのフィルタが含まれており、ユーザーにアクセスしやすく情報量のあるデータビューを提供します。

以下は、ソリューションの表示例です:

主な利点

このソリューションでは、開発者が使いやすい形で再利用可能なAPIをBIANビジネスドメインで組織化して見つけるプロセスを大幅に簡素化しました。複数のフィルタや検索オプションを提供し、チームが効率的に必要なAPIを見つけることができるようにしました。さらに、オペレーショナルの柔軟性を高めるために重要なAPIカテゴリを特定することができるようにしました。次のイテレーションでは、検索機能が自然言語処理を統合し、対話型のユースケースをサポートするように進化します。

BIANサービスドメインのコンテキストにおける重複APIの特定により、このソリューションは冗長性の解消と能力の合理化を目指す近代化戦略を形成する上で重要な役割を果たしました。

なお、このユースケースはわずか6〜8週間で成功裏に実施され、バンクが発見と管理が必要な大量のAPIを実現するために通常は1年かかるところを短縮しました。

例2:MuleSoft APIからJava Spring Boot APIへの自動近代化

問題

現在、MuleSoftのAPIをJava Spring Bootに近代化する取り組みは、著しい困難に直面しています。APIの膨大な数と、限られたドキュメンテーションと内在的な複雑さが、プロジェクトの進捗と効率に明らかな影響を与えています。

Gen AIに基づく解決アプローチ

Mule APIをJava Spring Bootに近代化するプロセスは、社内で開発されたジェネレーティブAIパワードアクセラレーターの実装によって効率化されました。この取り組みは、API、そのコンポーネント、および基礎となるロジックを十分に理解し、応答構造とコードの仕様を最終的に確定することから始まりました。その後、IBMのバージョンであるSidekick AIを使用して、オリジナルのMuleSoftで設計されたAPIの仕様に厳密に準拠するSpring Bootコードを、LLMタイプのOpen AI GPTを活用して生成しました。このコード生成プロセスには、ユニットテストケース、設計文書、ユーザーインターフェース要素の作成も含まれています。

Mule APIコンポーネントをSpring Bootに相当する要素に変換する作業は、段階的に実行され、各コンポーネントが一つずつツールに統合されました。アクセラレータは、それに応じたSpring Bootコンポーネントを生成し、遭遇したエラーを対処しながらこれらを相互に結び付けました。さらに、望ましいチャネル向けのユーザーインターフェースを生成し、ユニットテストケース、テストデータ、詳細な設計文書と共に提供しました。この設計文書には、シーケンス図やクラス図、リクエストとレスポンスの詳細、エンドポイントの仕様、エラーコード、全体的なアーキテクチャに関する考慮事項など、さまざまな重要な要素が含まれています。

主な利点

OpenAI GPTを活用したSidekick AIは、マルチモデルのジェネレーティブAI技術戦略を深いドメイン知識と技術によってコンテキスト化し、アプリケーションコンサルタントの日常業務を補完します。主な利点は以下の通りです:

  • 最適化された、保守性の高いSpring Bootコードとテストケースを自動生成し、ベストプラクティスに沿って繰り返し可能な開発を保証します。
  • APIをフロントエンドのチャネルレイヤーと簡単に統合し、全体的な開発プロセスを向上させます。
  • 開発者に理解しやすいコードを提供し、効率的なデバッグに役立つ貴重なインサイトを提供します。

アクセラレータのPoCは、コードの移行、ユニットテストケース、設計文書、UI生成の4つの異なるシナリオを、6週間の3つのスプリントで完成させました。

結論

多くのCIOやCTOは、近代化の取り組みを検討する際に懸念を表明しており、最初に概説されたさまざまな課題が挙げられています。これには、広範なSME(専門知識を持つ人)の関与が必要とされること、変化によるビジネスへの潜在的な損害があること、セキュリティや変更管理を含むさまざまな組織機能の運営モデルの変更が必要なことなどが含まれます。これらの複雑な課題に対して、ジェネレーティブAIが一括適用の解決策ではないことを認識することは重要ですが、間違いなく近代化プログラムの成功に寄与します。これはプロセスを加速し、近代化の全体的なコストを削減し、最も重要なのは、重要な機能を見落とさないようにリスクを軽減することで達成されます。ただし、企業環境にLarge Language Models(LLM)や関連するライブラリを導入することは、時間と労力のかなりの投資が必要です。これには、厳格なセキュリティとコンプライアンスのレビューやスキャン手順が含まれます。さらに、これらのモデルの微調整に使用されるデータ品質の向上は、過小評価すべきではない努力が必要です。一体化したツールキットによる緊密なジェネレーティブAI駆動の近代化アクセラレータはまだ普及していませんが、時間の経過とともに特定の近代化パターンの加速化、もしくはそれらのパターンの範囲をサポートするツールキットが出現すると予想されています。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

AIニュース

OpenAI GPT(ジェネラル プロダクト トランスフォーマー):自分自身で作るChatGPTを活用した対話型AI

私たちの詳細な記事でカスタムGPTについて学びましょうその中では、あなたのニーズに合わせたAIチャットボットを簡単に作成す...

データサイエンス

「ソフトウェア開発におけるAIの活用:ソリューション戦略と実装」

この記事では、プロセス、ツールの選択、課題の克服について触れながら、ソフトウェア開発にAIをシームレスに統合するための...

AI研究

トヨタのAIにより、電気自動車の設計がより迅速になりました

トヨタ研究所(TRI)は、車両設計の世界で発表を行いました。彼らは、画期的な生成型人工知能(AI)技術を発表し、電気自動車...

機械学習

悪質なコンテンツ検出のためのLLM:利点と欠点

この投稿では、インターネット上の有害なコンテンツを特定するための2つの異なる方法を評価しますそれは、教師あり分類器のト...

機械学習

AIの脅威:自動化された世界における見えない課題

この記事では、2023年に現れるAIの脅威、AIシステムのセキュリティーの複雑さ、そしてAI駆動の防御、規制、教育の重要性につ...

人工知能

洪水予測により、より多くの人々が安全に過ごせるよう支援する

AIを活用した洪水ハブは、世界約80カ国に拡大しています