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

業務システムのリアーキテクチャは、モジュラーモノリス化、マイクロサービス化、イベント駆動基盤への刷新の3つに大きく分けられます。選ぶ際は、流行の方式ではなく、自社の課題と運用体制に合うかどうかで判断します。

全体像は、次の全体ガイドでも確認できます。

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

リアーキテクチャ選定前に整理すべき自社の技術的負債

最初に行うのは、自社のモノリスのどこで、どのような困りごとが起きているかを言葉にすることです。マイクロサービスの解説記事を読み集める前に、症状と業務への影響を結び付けておきます。

課題を具体的に説明できれば、必要なアプローチの重さも判断しやすくなります。

密結合・デプロイ遅延の症状

一つの機能を修正するたびに、関係のなさそうな別の画面や帳票で不具合が出たり、デプロイのたびにシステム全体の回帰テストに数日かかったりする状態が続いているなら、モジュール間の密結合が主な課題です。この場合は、必ずしもサービスを物理的に分割するマイクロサービス化まで進まなくても、コードベース内の依存関係を整理するだけで大きく改善する可能性があります。

症状は、印象ではなく実際の記録で確かめておくことが大切です。たとえば、直近数か月分のデプロイ履歴を振り返り、リリースにかかった所要時間、差し戻しの回数、関連して修正が必要になった箇所の数を洗い出します。こうすると、密結合の深刻さを具体的な数字で関係者に説明できます。

感覚的な「作りにくい」という訴えだけでは、経営層への説明や投資判断の根拠として弱く、リアーキテクチャの必要性が伝わらないまま議論が止まりがちです。

チーム規模拡大に伴う症状

開発チームの人数は増えたのに、同じコードベースに複数チームが同時に変更を加えるため競合が頻発し、開発者一人あたりの生産性がかえって下がっていると感じることがあります。こうした状況は、組織の拡大に構造が追いついていない可能性を示しています。

そのような場合は、社内ルールを整理するだけでは解決しにくく、業務ドメインごとにチームとコードの両方を分割するマイクロサービス化の検討価値が高まります。反対に、開発チームの人数がまだ少数にとどまっている場合は、後述するように分割そのものが目的化しないよう注意が必要です。

ポイント

症状が密結合とチーム規模のどちらに当たるかを、実際の記録で確かめられるかが判断の目安です。感覚だけの課題は、方式を選ぶ根拠として弱くなります。

業務システムリアーキテクチャの3つのアプローチ

モジュラーモノリス化、マイクロサービス分割、イベント駆動基盤への刷新を特徴とともに並べた図解。
一つのデプロイ単位から非同期のイベント連携まで、変える対象が異なります。

リアーキテクチャの進め方は、大きく3つの方向性に分けられます。モジュラーモノリス化、マイクロサービス化、イベント駆動基盤への刷新です。

実際のプロジェクトでは、これらを組み合わせることも多いため、名称にとらわれず、自社が最も重視する課題に直結するアプローチはどれかで考えます。

モジュラーモノリス化:デプロイは一つのまま、内部構造の整理

アプリケーションは一つのデプロイ単位のまま、コード上のモジュール境界をドメインごとに明確にするアプローチです。分散システム特有の運用負荷を増やさずに、密結合による開発速度の低下を緩和できる点が利点です。

モジュラーモノリス化は、開発チームの規模がまだ大きくない企業や、まずは境界設計の妥当性を検証したい企業にとって、現実的な出発点になります。

マイクロサービス分割:ドメインごとの開発・デプロイの独立

業務ドメインごとにサービスを分割し、それぞれに独自のデータベースを持たせて、開発とデプロイを独立させるアプローチです。

複数チームが並行して開発を進めやすくなり、特定のサービスだけを個別にスケールさせられる利点があります。一方で、サービスメッシュや分散トレーシングといった実行基盤の整備と、SRE・プラットフォームエンジニアの確保が前提になります。

マイクロサービス分割では、開発組織の規模とアクセス量がある程度大きい企業でなければ、運用負荷がメリットを上回りやすい点に注意が必要です。

イベント駆動基盤への刷新:通信方式の非同期への組み替え

サービスの分割方法そのものより、サービス間の通信を同期的なAPI呼び出しから、Kafkaなどを介した非同期のイベント連携へ組み替えることに重点を置くアプローチです。

一部のサービスが一時的に止まっても全体が止まりにくくなる耐障害性と、負荷が一時的に集中しても後続処理を非同期に吸収できる柔軟性が利点です。一方で、Sagaパターンによる補償トランザクションの設計や、イベントの重複・欠落を防ぐ仕組みの構築が新たに必要になります。

ポイント

判断の目安は、自社がいちばん重視する課題に、どの方式が直結するかです。名称より課題との結び付きで比べる方が、組み合わせて進める場合も考えやすいです。

移行パターンの選び方:段階移行が基本

ビッグバン方式の一斉切り替えと、ストラングラーフィグパターンの段階的な振り分けを対比した図解。
段階移行では対象を一つの業務ドメインに絞って始められます。

どのアプローチを選ぶにしても、既存システムを一度に置き換えるか、段階的に置き換えるかという移行パターンの選択は避けて通れません。業務システムでは、一度に置き換える方式のリスクが特に大きくなります。

ビッグバン移行:失敗時の影響範囲の大きさ

ビッグバン方式は、既存システムを稼働させたまま新システムを裏側で作り込み、ある時点で一斉に切り替えます。切り替え後に問題が見つかった場合は切り戻しが難しく、業務が長時間停止するリスクを抱えます。

基幹業務のように止められない処理を含むシステムでは、検証環境でどれだけテストを重ねても、本番データや本番トラフィックでしか表面化しない不具合をゼロにはできません。

ストラングラーフィグパターン:一つの業務ドメインからの開始

ストラングラーフィグパターンでは、既存システムを稼働させたまま、新しい構造を周囲に少しずつ構築します。APIゲートウェイでトラフィックを段階的に振り分けていくため、問題が起きても旧来の処理へすぐ切り戻せる状態を保てます。

最初に対象とするのは、全業務ではなく、重要度が高く境界も比較的明確な一つの業務ドメインに絞るのが定石です。この一つのドメインを抽出から本番稼働まで通しで経験すると、以降のドメインに応用できる進め方や、つまずきやすい点が見えてきます。

評価軸(1):境界設計・API・イベント基盤の技術的妥当性

アプローチと移行パターンの方向性が決まったら、次は実際の設計内容が技術的に妥当かどうかを評価します。その際に見るのは、流行の技術を使っているかどうかではなく、自社の業務にとって理にかなっているかどうかです。

境界(Bounded Context)と業務の変更頻度の一致

境界が技術的な都合(既存のテーブル単位やクラス構成)だけで決まっていないかを確認します。業務担当者を交えたEventStormingなどのワークショップを経て決まっているかも、あわせて見ます。境界をまたぐ呼び出しの回数が想定より多い設計は、分散型モノリスに陥っている兆候です。

境界内で完結する変更が全体の大部分を占めているかどうかは、実際の業務シナリオに当てはめて検証します。具体的には、直近1年間で発生した主要な機能変更の依頼を10件ほど選び、それぞれがどの境界に収まるか、複数の境界にまたがっていないかを一つずつ突き合わせる作業が有効です。

この作業を通じて、書類上は妥当に見える境界設計が、実際の変更要求の傾向とずれていることに気づけるケースは少なくありません。境界の見直しは、実装に着手する前ほど手戻りが小さく済むため、評価の段階で時間をかける価値があります。

API契約とイベント基盤の障害対応設計

API-first設計を採用する場合は、契約(OpenAPIなどの仕様)が先に固まっているかを確認します。また、コンシューマ駆動契約テストで破壊的変更を検知できる体制になっているかも見ます。

イベント駆動の構成を採用する場合は、Sagaパターンの補償トランザクションが、注文成立後の在庫確保失敗など具体的な業務シナリオで設計されているかを確認します。加えて、イベントの取りこぼしに備えたリトライやデッドレターキューが用意されているかも見ておきます。

API契約やイベント基盤の確認事項が仕様書の上だけにとどまり、実装や試験計画に落とし込まれていない場合は、評価を保留にして詳細設計を待つべきです。

ポイント

境界が業務の変更頻度と合っているか、障害時の設計が実装まで落ちているかが判断の目安です。欠けていれば、評価を保留にして詳細設計を待ちます。

評価軸(2):体制・人材・コストの現実性

技術設計が妥当であっても、それを回し続ける体制とコストの見通しが立たなければ、プロジェクトは移行の途中で立ち止まってしまいます。そこで、技術評価とあわせて、組織面の評価軸も必ず確認します。

開発チーム規模とアクセス量の損益分岐点

マイクロサービス化やイベント駆動基盤への刷新は、開発チームの規模とシステムへのアクセス量がある程度大きくなって初めて、運用コストに見合う取り組みです。そのため、現状の規模でこれらのメリットが本当に得られるのか、それとも数年先を見越した先行投資なのかを、経営層を含めて共有しておく必要があります。

見込みが立たない段階で分散を進めると、高度なスキルを持つエンジニアがインフラの維持そのものに時間を取られ、本来生み出すべきビジネス価値を後回しにしてしまいます。

投資回収のJカーブ

移行初期は、サービスごとにコンテナやデータベース、監視の仕組みが新たに必要になるため、インフラ費用は増えやすくなります。一方で、目に見える削減効果が表れるのは、境界設計が安定し、チームがサービスごとの運用に習熟した後の段階です。

この立ち上がりの遅さを事前に共有しておかないと、投資対効果が出ていないという理由でプロジェクトが道半ばで中断される事態にもつながりかねません。稟議や予算計画には、初期投資期間と効果発現までの時間差を明記しておくことが望まれます。

ポイント

判断の目安は、開発チームの規模とアクセス量が分散の運用コストに見合うかです。稼働後の運用を担う体制と、効果が出るまでの期間を、稟議の前に共有しておきます。

PoCの進め方とGo/No-Go基準

一つの垂直スライスを対象にしたPoCと、技術検証から本番稼働までの達成項目を並べた図解。
対象を小さく定め、完了した事実を積み上げて判断します。

評価軸に沿って方向性を絞り込んだら、限定した範囲のPoCを通じて、技術的な実現性と組織的な負担の両方を確かめます。いきなり全体に着手するのは避けます。

システム全体ではなく1つの垂直スライス

PoCの対象は、システム全体ではなく、EventStormingで特定した業務ドメインのうち一つに絞ります。

ユーザー認証や特定業務のマスタ管理など、比較的独立性の高いドメインを選ぶと、既存のモノリスへの影響を抑えながら、境界設計からAPI・イベント基盤の技術検証、本番デプロイまでを一通り経験できます。さらに、ストラングラーフィグパターンをPoCの段階から適用し、既存コードへすぐ戻せる状態を保つと、問題が起きても業務への影響を局所化できます。

Go/No-Go判断の基準:数値目標ではなく達成事実

PoCの合否は、達成事実によって判断します。確認するのは、抽出したモジュールが明確なAPI・サービスとして分解できたか、CI/CDパイプラインが自動化された状態で稼働しているかです。加えて、対象ドメインが既存機能を損なわずに独立して本番稼働できたか、開発チームが以前より速く変更をリリースできるようになったと実感できているかも、判断材料になります。

開発体制やアクセス量がまだ小さい段階では、これらを満たせないことがあります。そのため、無理にマイクロサービス化を進めず、モジュラーモノリスにとどめる判断も、正当なNo-Goの結論です。

ポイント

判断の目安は、1つの業務ドメインが既存機能を損なわず本番稼働できたかです。開発体制が小さい段階でそれを満たせなければ、モジュラーモノリスにとどめる判断も正当です。

選定にあたって確認しておきたいポイント

方針とPoCの進め方が固まったあとも、実務上の選択は残ります。そこで、次の観点を順番に確認すると、技術だけに偏らず判断できます。

  • 対象ドメインと境界の妥当性
  • 切り戻し方法と運用体制
  • 内製・外部支援の役割とPoCの達成条件

自社実施と外部パートナー活用の役割分担

境界設計やドメインの知識は、自社の業務担当者でなければ判断できません。一方で、サービスメッシュの構築やイベント基盤の運用設計、分散トレーシングの整備といった専門性の高い領域は、社内に経験者が少ない場合、外部パートナーの支援を受けた方が立ち上がりが早くなることがあります。

そこで、どこまでを自社の意思決定として残し、どこから技術支援を仰ぐかを、PoCの結果を踏まえて線引きしておくと、後工程での役割の重複や抜け漏れを防げます。外部パートナーに支援を依頼する場合も、丸ごと任せるのではなく、境界設計のレビューや技術的な妥当性の検証にとどめるのか、実装まで含めて委託するのかを、契約前に明確にしておく必要があります。

特に、PoCで得られた知見や境界設計の意図は、プロジェクトの節目ごとに自社側にドキュメントとして残しておく必要があります。残しておかないと、パートナーの体制が変わった際に判断の背景が引き継がれず、後続フェーズで同じ検討を繰り返すことになりかねません。

「分割しない」という選択の位置づけ

マイクロサービス化やイベント駆動化を検討した結果、現状の規模ではモジュラーモノリスにとどめるほうが合理的だと判断することは珍しくありません。分割を見送ったこと自体は、運用に見合わない複雑さを事前に避けられたという意味で、正しいリアーキテクチャの成果と言えます。

実際に採用する基盤やツールの候補を確認したい場合は、業務システムリアーキテクチャのパッケージ・クラウド製品一覧を参照すると、コンテナ基盤やイベント基盤など各カテゴリの製品を比較しやすくなります。

まとめ

業務システムリアーキテクチャを選ぶ際は、まず自社のモノリスに起きている症状を具体的に言葉にします。そのうえで、モジュラーモノリス化、マイクロサービス分割、イベント駆動基盤への刷新という3つのアプローチから方向性を絞り込みます。

移行は、ビッグバンではなく段階移行を基本とします。さらに、境界設計やAPI・イベント基盤の技術的な妥当性と、体制・人材・コストの現実性という2種類の評価軸で候補を比べます。最後に、1つの業務ドメインに絞ったPoCとGo/No-Go基準で判断することが重要です。

技術評価と組織評価の併用

境界設計やAPI・イベント基盤の技術的な妥当性だけで判断すると、実際に運用を回す体制やコストの見通しが抜け落ちます。逆に、体制論だけで判断すると、技術的に破綻した設計のまま移行を進めてしまうリスクがあります。

技術評価と組織評価を同じ重みで確認し、PoCという小さな実証実験を経てから本格着手するのが、遠回りに見えて最も確実な進め方です。

自社の症状の言語化から始める選定

まずは、自社のモノリスで起きている具体的な症状を書き出し、どのアプローチが最も直結するかを整理してください。

境界設計、移行パターンの計画、体制構築は、個別の事情を踏まえて判断する領域です。既製のフレームワークをそのまま当てはめると、対応しきれない部分が残ります。

riplaはフルスクラッチ開発の立場から、技術的負債の診断からPoC設計、段階移行の計画・実装までを一貫して支援しています。

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

会社紹介

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

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

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

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

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

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