AIを活用したレガシーシステムの刷新【前編】
AIは「レガシーシステム」を救えるか? モダナイゼーションを阻む7つの課題
レガシーシステムの刷新にAI技術を活用することは有用だが、その能力を最大限に引き出すには準備が必要だ。刷新を阻む根深い課題と、それを乗り越えるための7つの基本アプローチを解説する。
レガシーシステムを抱える企業は、その維持にまとまった予算を費やすことを余儀なくされており、事業成長の機会を奪っている。レガシーシステムを扱う開発チームも、保守に時間を取られることで生産性に影響を受けているのが実情だ。
AI(人工知能)技術はこの問題を魔法のように解決するわけではないが、うまく活用すれば開発チームは恩恵を享受できる。チームの生産性を向上させるだけではなく、レガシーシステムの刷新のペースを加速させることも可能だ。
生成AIは、ソースコードやログの解析、安全なリファクタリング案の提示、テストコードの生成、システム移行の草案作成といった作業をこなす。もちろん、最終的な判断は人が下さなければならない。目標とするアーキテクチャを定め、システムの振る舞いを検証し、いつリリースするのかを決定するのは人の役割だ。本連載は、AI技術を活用してレガシーシステムの刷新を進めるための具体的な方法を紹介する。
レガシーシステムにありがちな7つの課題
レガシーシステムがもたらす問題は、ソースコード自体の問題と、それを取り巻く開発・実行環境の問題の2種類に大別できる。
改修を重ねた結果、レガシーシステムのソースコードは変更の影響範囲が分かりづらく、予期しない動作が発生しやすい状態になっている。1つの部品に役割を詰め込み過ぎていたり、古い技術に依存していたりすることもある。テストやドキュメントがほとんど整備されていない場合も珍しくない。
ソースコードを取り巻く開発・実行環境も問題の温床になりやすい。レガシーな開発環境の再現は難しく、デプロイ(本番環境への展開)作業が複雑で、失敗を招く。可観測性(オブザーバビリティ)に欠け、コンプライアンス(法令順守)やセキュリティ対策が遅れがちになる。これらの問題は、単にソースコードを修正するだけで解決できるほど単純ではない。適切な手法を選択しつつ、刷新プロジェクト中もSLA(サービス品質保証)を維持する必要がある。同時に潜在的なリスクを管理し、関係部門との連携を図ることが重要だ。
不安定なシステムを扱う上で難関な作業は、ソースコード、システム設定、データの変更を正しい順序で実行し、システムを常に稼働させ続けることだ。そのためには、システム刷新における明確な要件定義、変更前のテスト、作業の分割、確実なデータ移行が求められる。全てを作り直したいという誘惑に駆られてはならない。開発チームは、安全策(ガードレール)とロールバックの仕組みを用意した上で、事業に大きなリスクを負わせることなく、段階的に刷新作業を進めるべきだ。
レガシーコードを刷新する7つのアプローチ
レガシーシステムを動かすソースコードの刷新は、単なる書き換え計画にとどまらない。リスクを抑え、業務を改善し、新たな事業戦略を可能にするための経営判断に直結する。
まずは、既存のアプリケーションを仕分けることから始めるのが定石だ。現状のアプリケーションを棚卸しし、価値、維持費、技術、ビジネスリスクの観点から各アプリケーションを評価する。その上で、「刷新や機能強化を進める」「類似システムとまとめる」「現状を維持する」「廃止する」のいずれかに分類する。こうして整理したアプリケーション一覧を基に、開発チームは予算やスケジュール、システム移行の計画に合わせて、各アプリケーションに最適な刷新アプローチを決定する。
以下は、レガシーシステム刷新で用いられる代表的な7つのアプローチだ。
アプローチ1.カプセル化
安定したAPI(アプリケーションプログラミングインタフェース)やイベント(システム内部の出来事を通知する仕組み)でレガシーシステムを包み込み、レガシーシステムの中核部分に手を加えることなく、その周辺に新しい機能を構築できるようにする手法だ。これによって、新しいシステムや開発者は古いシステムに直接触れる必要がなくなり、より抜本的にレガシーシステムを変更するための計画を練る時間を稼ぐことができる。新機能は外部に実装し、古い機能は徐々に縮小させていく「ストラングラー(絞め殺し)パターン」を用いた移行と相性が良い。
アプローチ2.リホスト
ソースコードの変更を最小限に抑え、システムを新しいインフラに移行する(リフト&シフト)手法だ。データセンターで稼働している仮想マシン(VM)をクラウドサービスに移行するケースがこれに当たる。信頼性の向上、費用の透明化、定型業務の自動化といった効果をすぐに得られるが、レガシーなソースコードとアーキテクチャは古いまま残る。刷新のスピード優先で、大規模な変更が過度のリスクを伴う場合に有効な選択肢だ。
アプローチ3.リプラットフォーム
小規模で的を絞った変更を加え、コンテナやマネージドデータベースといった、よりモダンなサービスに移行する手法だ。アプリケーションの設計を大幅に変えることなく、運用性とスケーラビリティを改善できる。ソースコードの変更を最小限に抑えつつ、クラウドサービスの利点を迅速に享受できる中間策だと言える。
アプローチ4.リファクタリング
外部から見たシステムの振る舞いを変えずに、保守性を向上させるためにソースコードの内部構造を整理する手法だ。巨大なモジュール(プログラム部品のまとまり)の分割、テストの追加、不要なソースコードの削除、ライブラリの更新などがこれに当たる。ビジネスロジック自体には価値があるものの、ソースコードが古くなってしまった場合に効果を発揮する。
アプローチ5.リアーキテクト
スケーラビリティや回復力、開発速度といった新たな品質目標を達成するため、システムの設計思想そのものを変更する手法だ。モノリシック(巨大な一枚岩的)な構造から、それぞれの責任が明確なサービスの集合に移行したり、イベント駆動型アーキテクチャを採用したりすることが代表例だ。設計の観点からシステム刷新を主導するアプローチであり、長期的な俊敏性(アジリティ)を大きく引き出すことに期待できる。
アプローチ6.再構築
特定の範囲と中核的な振る舞いを維持したまま、アプリケーションを一から書き直す手法だ。技術の選定やテスト手法を白紙の状態から検討できるため、開発速度を大幅に向上させることができる可能性がある。現在の実装がシステム修正の妨げになっている一方で、根幹にあるビジネスロジックが業務の現状と合致している場合に適する。
アプローチ7.リプレース
自社開発のシステムを廃止し、市販の製品やSaaS(Software as a Service)を導入する手法だ。必要な機能を備える製品やサービスが存在する場合、自社開発システムを運用するよりも費用とリスクを継続的に削減できる。人事、財務、CRM(顧客関係管理)といった汎用(はんよう)的な業務を実施するシステムに適している。ただし、システムのカスタマイズは限定的になるため、導入前に機能の適合性や既存システムとの連携性を十分に検証する必要がある。
これらのアプローチは、互いに排他的なものではない。まずカプセル化を実施してリスクを分散し、次にリホストやリプラットフォームで運用を安定させる。その後、特定の範囲を対象にリファクタリングやリアーキテクトを実施する。準備が整った段階で、再構築やリプレースに移行する。どのアプローチをどの順序で進めるかは、リスク許容度、人材の有無、DXの緊急性によってさまざまだ。
次回は、AI技術を活用した具体的な刷新方法と、その際の注意点を紹介する。
Copyright © ITmedia, Inc. All Rights Reserved.
本記事は制作段階でChatGPT等の生成系AIサービスを利用していますが、文責は編集部に帰属します。
TechTarget グローバルインサイト
米国Informa TechTargetが発信する記事を翻訳し、国内向けに分かりやすく紹介します。最新の海外動向や先進事例を取り上げ、グローバルなITトレンドを把握できる連載です。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品レビュー
[ヴィーム・ソフトウェア株式会社] SCS評価制度を導入するだけで十分? 組織の防御力を高める活用方法とは -
技術文書・技術解説
[フォーティネットジャパン合同会社] AIランサムウェアに勝つ 自律型エンドポイント管理導入で確認すべき条件4つ -
技術文書・技術解説
[フォーティネットジャパン合同会社] LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント -
製品レビュー
[ネットアップ合同会社] 研究分野でAI活用が進まない? 真の成果につなげるデータ管理の在り方とは -
製品レビュー
[ヴィーム・ソフトウェア株式会社] SCS評価制度を導入するだけで十分? 組織の防御力を高める活用方法とは
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
2
VMware離れの決め手は“機能”以外だった 情シス109人が選んだ新基準と死角は
-
3
二極化する生成AI活用 「一部の社員しか使いこなせない」をどう解消すべきか
-
4
「Apple Watch」、読者の95%は「仕事で使える」、5%は何に不満?
-
5
「有線LAN環境」に関するアンケート
-
6
「クラウドDR」4大基礎用語 クラウドバックアップやDRaaSとの違いは?
-
7
Claude Codeでは「エージェントを作るな、スキルを作れ」 Anthropicが示すAI構築術
-
8
高機能化が進む“タブレット型電子カルテ”は次の段階へ
-
9
「Excel至上主義」と“謎マクロ”の限界 属人化リスクを断つ業務移行の勘所
-
10
ポストVMwareの新たな選択肢 NTTデータが示す国産仮想化基盤の全貌
ホワイトペーパーランキング PR
-
1
登録セキスぺが語る「SCS評価制度」の舞台裏 星を取得すべき理由と対応のコツ
-
2
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
3
OSSでは困難 100超のサービスを持つマネーフォワードが実践した統合監視術
-
4
「改正物流効率化法対策」徹底解説 総物流費を抑制するサプライチェーン戦略
-
5
月1000枚の紙を削減 9年動けなかった組織が、業務改革のその先に得たもの
-
6
ネットワーク遅延の原因、「パケットロス」の基礎知識と効果的な解決策
-
7
ドラマで分かる、標的型攻撃メールの被害を受ける企業と回避できる企業の分岐点
-
8
Windows PCとMacの選択制で生産性向上 LINEヤフーが実践する運用管理方法とは
-
9
「Google Workspace」活用事例34選、先進の生成AIによる組織変革の全貌
-
10
ソフトウェア開発の属人化と手戻りをどう防ぐ? 速さと品質を両立させる方法
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー