レガシーシステムリアーキテクチャの選定ポイント/選び方/種類

レガシーシステムのリアーキテクチャは、技術の流行ではなく、自社の技術的負債と制約から移行方法を決めます。まず依存関係を洗い出し、段階移行・フルスクラッチ・ハイブリッドを事業への影響と運用体制で比べます。

移行方針を固める担当者が、自社に合う進め方を絞り込む材料です。

▼全体ガイドの記事
・レガシーシステムリアーキテクチャの完全ガイド

判断を始める前に、発注側と開発会社が、現在の依存関係と移行後に必要な運用体制を同じ前提で確認します。

  • 負債の所在:機能間の依存と暗黙知を台帳にまとめる作業
  • 移行の段階:業務を止めずに切り出せる範囲の見極め
  • 運用の準備:新しいサービスを支える体制と、学習にあてられる余力の確認

リアーキテクチャ検討前に整理すべき技術的負債の状況

技術的負債の洗い出し対象を4枚のチェックカードで示した図
依存の所在を並べると、調査の抜けを見つけやすくなります。

移行手法を決める前に、自社システムのどこが密に結合しているかを洗い出しておく必要があります。結合の位置と強さが、分解の粒度と移行アプローチを左右するためです。

密結合の所在とビジネスロジックの暗黙知の洗い出し

密結合は、複数の機能から参照されるデータベース、複数機能の前提になるバッチ、担当者だけが知る例外処理などに表れます。また、静的解析に加えて改修時の影響範囲を聞き取ると、依存関係を具体的につかめます。

依存関係は、機能ごとの依存先と影響度、想定リスクを台帳に残しておきます。台帳を更新し続けると、分解パターンの選定もPoC対象の優先順位も、同じ情報をもとに判断できます。

開発体制の規模とトラフィック量

マイクロサービス化の効果は、トラフィック量や開発体制の規模とは切り離せません。まず現在の人数と数年先の事業規模を並べ、サービス間の運用負荷を担えるかを確かめます。そのうえで、分割の粒度を仮説として立てます。

ポイント

依存が強く影響範囲の広い機能ほど、分解の単位と移行の順序を左右します。移行方法を比べる前に、依存関係と開発体制、トラフィック量を同じ台帳で押さえておくと、判断がぶれにくくなります。

レガシーシステムリアーキテクチャの主な種類

リアーキテクチャは、分解の粒度と移行方法の2つの観点で整理できます。実際には両方を組み合わせて使うため、名称よりも、自社の制約に合う組み合わせを選ぶことになります。

分解の粒度によるモジュラーモノリス型とマイクロサービス型

モジュラーモノリス型は、単一のアプリケーション内で境界を保ち、将来の分割余地を残します。一方、マイクロサービス型は、境界づけられたコンテキストごとに独立して運用します。

マイクロサービス型は、規模に見合わないと複雑さが先に立ちます。そのため、開発体制とトラフィック量に照らして選ぶことになります。

移行方法によるStrangler Fig型とフルスクラッチ型

Strangler Fig型は、旧システムを動かしたまま段階的に切り出します。一方、フルスクラッチ型は新しい構成を作り、ある時点で一度に切り替えます。

共通化しやすい領域だけを先に移すハイブリッド型も含めて、制約に応じて組み合わせます。

ポイント

分割の細かさは、体制とトラフィック量に見合うかどうかで決めます。移行方法は、旧システムを動かしたまま進めるか、一時点で切り替えるかで考えます。

移行アプローチを比較する評価軸

段階移行とフルスクラッチ型を投資回収、事業への影響、運用体制で比べる図
同じ観点を横に追うと、移行方法ごとの負荷が見えてきます。

移行アプローチは、期間と投資回収、事業への影響、運用体制を同じ基準で比べます。同じ表で並べると、自社で優先すべき条件が明確になります。

スケジュールとROI回収のタイミング

段階移行は、パイロットから主要ドメイン、本番移行へと進み、区切りごとに価値を示しやすい方法です。一方、フルスクラッチ型は稼働するまで投資回収を示しにくいため、経営層には回収時期の前提を明確に伝えておきます。

各フェーズの達成内容をマイルストーンにし、投資額と業務上の効果を対応づけます。加えて、技術的な進捗に加えてどの業務課題が解消されたかも共有すると、判断の材料がそろいます。

事業中断リスクと運用学習曲線

段階移行は切り替えの範囲を抑えられ、運用チームが新しい要素へ順に慣れていけます。一方、フルスクラッチ型では必要な運用スキルが一度に増えるため、現在のスキルと学習時間も比べる項目に加えます。

ポイント

事業を止められない業務では、中断リスクと運用の学習負荷を先に比べます。投資回収の時期は、経営層に前提を示したうえで判断します。

Strangler Fig型・フルスクラッチ型・ハイブリッド型の選び方

まず、事業を止められるか、既存システムを延命できるかを確かめます。ビッグバン型のフルスクラッチは、延命が難しい場合の最終手段として位置づけます。

事業を止められない場合のStrangler Fig型

停止が難しい業務基幹システムでは、旧システムと新サービスを並行して稼働できるStrangler Fig型が候補になります。業務の価値とリスクで切り出す順番を決め、最初のスライスで境界と手順を確かめてから範囲を広げます。

延命が困難な場合のフルスクラッチ型

言語やミドルウェアのサポート終了などで延命が難しい場合は、フルスクラッチ型を検討します。それでも全業務を一度に扱わず、コアドメインから範囲を区切ります。

また、共通化しやすい業務だけを新基盤へ寄せるハイブリッド型も選べます。

ポイント

判断の目安は、事業を止められるかどうかです。止められない業務では段階移行を中心に置き、延命が難しい場合に限ってフルスクラッチ型を検討します。

PoC・アーキテクチャスパイク・ADRの進め方

方向性を決めたら、PoCで技術的に実現できるかを確かめます。その段階では、ROIの確定よりも、境界設計と移行手順が機能するかの検証を優先します。

イベントストーミングとモックAPIによる境界仮説の検証

イベントストーミングで業務の流れを洗い出し、境界づけられたコンテキストの仮説を確かめます。

最初はコアドメインに絞り、OpenAPIやProtocol BuffersのスキーマとモックAPIで、利用側の並行開発を確かめます。さらに契約テストを組み込めば、統合時の仕様の差異も早く見つけられます。

アーキテクチャスパイクとADRによる判断根拠の記録

アーキテクチャスパイクでは、コンテナ運用や分散トレーシング、集中ログを検証します。CI/CD連携や複数サービスの処理も、検証の対象です。

最初のモジュールが独立して稼働できるかを目安にします。選択理由と前提は、ADR(Architecture Decision Record)に残します。

ADRには、決定の題名と状況、決定事項を書きます。さらに、採用しなかった案と理由、トレードオフも残します。PoCの段階で記録が残っていれば、移行中に設計を変えたときも、前提と差分をたどって説明できます。

ポイント

PoCでは、ROIの確定より、境界設計と移行手順が機能するかを優先して見ます。合格条件を数値で先に決め、判断根拠をADRに残しておくと、移行途中の説明がしやすくなります。

選定・移行で陥りやすい失敗

リアーキテクチャ移行で起こりやすい4つの失敗要因を並べた図
計画の膨張と境界の見誤りが、別々のつまずきにつながります。

移行方針が妥当でも、進め方を誤ると計画は停滞します。だからこそ、起こりやすい失敗を先に確かめ、計画に予防策を組み込んでおきます。

スコープクリープと基盤整備の遅れによる計画の遅延

小さく始めたスライスに改善要望を重ねていくと、スコープクリープが起きて見積もりを超えてしまいます。分散トレーシングや集中ログを後回しにすると障害の原因を追えないため、基盤整備は最初のスライスの前提として扱います。

暗黙のビジネスロジックと分散型モノリス化

未文書化の例外処理や経験則が途中で見つかると、境界設計のやり直しが必要です。境界を誤ると、複数サービスの同時改修が増え、分散型モノリスになります。

こうした事態を避けるため、PoCで境界の妥当性を確かめてから進めます。具体的な製品やプラットフォームの候補は、レガシーシステムリアーキテクチャのパッケージ・クラウド製品一覧で紹介しています。

レガシーシステムリアーキテクチャ導入前に確認しておきたいポイント

着手前に、体制、並行稼働の負荷、PoCの合格条件を確認しておきます。これらを先に決めておくと、移行の途中で判断がぶれにくくなります。

開発チームが小規模な場合のリアーキテクチャ

小規模なチームでも、モジュラーモノリスの境界を整理するところから始められます。無理にサービス化はせず、体制の拡大に応じて切り出せる設計にしておくと、将来の選択肢を残せます。

並行稼働期間のコストの事前見積もり

Strangler Fig型では、旧システムと新サービスの二重運用が発生します。並行稼働が長引く可能性も含めて、移行計画に運用コストと予算の余裕を織り込みます。

PoCの成功基準の数値による事前定義

PoCは印象で評価せず、独立稼働、契約テストの合格、CI/CDでのデグレなし移行などの合格条件を先に定義します。条件を満たしたかどうかで、本格移行の判断を客観的にできます。

まとめ

選定では、技術的負債と開発体制を洗い出し、分解の粒度と移行方法を整理します。そのうえで、期間、中断リスク、運用負荷を比べ、事業を止めにくいほど段階移行を中心に据えます。

PoCによる境界設計の検証から本格移行まで

本格移行の前に、境界仮説、モックAPIと契約テスト、技術要素の実現性を検証します。最初のモジュールの独立稼働と判断根拠の記録が、次へ進む条件になります。

自社だけで判断が難しい場合の外部の技術支援

DDDやクラウドネイティブ基盤の経験が不足する場合は、社外の技術支援も選択肢です。既存基幹システムとの連携を保ちながら移行する独自要件には、境界設計からPoC、段階構築まで一貫した支援が役立ちます。

riplaはフルスクラッチ開発の立場から支援しています。

▼全体ガイドの記事
・レガシーシステムリアーキテクチャの完全ガイド

会社紹介

株式会社riplaでは、お客様の事業・ユーザー・業務に最適化したオーダーメイド型システムを、構想策定・要件定義から開発・改善まで一気通貫で支援。事業会社でIT・DXを経験したプロフェッショナルによる高い要件定義力・システム設計力を活かし、事業成果の最大化に伴走します。

また、当社独自の開発テンプレート「Boxシリーズ」による標準機能の高速開発と、AI駆動開発の独自フレームワーク「GoDD」による独自機能のAI実装を組み合わせることで、低コスト・短期間で開発を実現いたします。

もし、システム開発やプロダクト開発に関するご要望がございましたら、お気軽にお問い合わせください。

・サービス概要資料のURLはこちら >>>
・お問合せページのURLはこちら >>>
・お役立ち資料のURLはこちら >>>

執筆者プロフィール
張田谷凌央
張田谷凌央

株式会社ripla 代表取締役CEOとして、システムパッケージ活用、システム開発、データ分析、生成AI活用、SaaS開発、アプリ開発、EC構築など、幅広い領域で企業のDX推進と事業成長を支援している。事業会社でIT・DXを経験したプロフェッショナルが集う株式会社riplaにおいて、お客様の事業・ユーザー・業務に最適化したオーダーメイド型システムを構想策定・要件定義から開発・改善まで一気通貫で支援し、単なるシステム納品にとどまらず、クライアントと同じ目線で事業成果の最大化に向けた伴走支援を行う。早稲田大学卒業後、ラクスル株式会社、LINEヤフー株式会社にて事業開発やDX推進などに従事した後、株式会社riplaを創業。