WMSのリアーキテクチャとは?|考え方/特徴/仕組み/目的を解説

WMSのリアーキテクチャとは、業務の責務と機器連携を整理し、既存の業務ロジックや運用ノウハウを保ったまま、モノリシックな内部構造をクラウドネイティブなアーキテクチャへ段階的に作り替える取り組みです。長く運用したWMSでは、機能追加の影響調査に時間がかかり、連携要件が増えるたびに全体が重くなると感じる情報システム部門も少なくありません。

  • 位置づけ:近接概念と技術的アプローチの違い
  • 設計:DDDによる業務境界と責務の確認
  • 連携:マテハン機器とのリアルタイム連携条件

本テーマの全体像は、次の記事でまとめています。

▼全体ガイドの記事
・WMSのリアーキテクチャの完全ガイド

WMSのリアーキテクチャの定義と全体像

WMSのリアーキテクチャの全体像を検討するアーキテクト

WMSのリアーキテクチャは、古いサーバーを新しいクラウド環境へ載せ替える作業とは別の取り組みです。具体的には、在庫、ロケーション、ピッキング、入出庫といった業務ドメインの境界を見直します。そのうえで、密結合したモノリシックな構造を、独立してデプロイ・スケールできる単位へ分解し直します。

クラウド移行にとどまらない技術選択

サーバーやミドルウェアをクラウド環境へそのまま移すリホストや、稼働環境だけを更新するリプラットフォームでは、内部のコード構造や業務ロジックの結合度は変わりません。一方で、WMSのリアーキテクチャは環境の移行にとどまりません。モノリシックなコードベースを機能単位のサービスへ分割し、サービス間の通信方式やデータの持ち方まで作り替えるため、技術的な難易度が高くなります。

AWSが整理する7Rsモデルでは、環境だけを変えるリホストやリプラットフォームと、コードそのものを作り替えるリファクタリングやリアーキテクトが明確に区別されています。WMSのリアーキテクチャが主に対象とするのは後者です。実装の複雑度は高いものの、業務の成長やマテハン機器の高度化に合わせて、システムを柔軟に拡張できる状態をつくることが目的になります。

モダナイゼーションのうち、アーキテクチャ変更に踏み込む取り組み

システムのモダナイゼーションという言葉は、言語のバージョンアップからクラウド移行、UIの刷新まで幅広い取り組みを含みます。WMSのリアーキテクチャは、そのなかでも特にアーキテクチャパターンそのものを変える取り組みに焦点を当てた概念で、モダナイゼーション全体の一部を構成します。

WMSのリアーキテクチャを検討する企業は、老朽化対応や表面的な機能追加が目的なのか、将来のスケーラビリティや拡張性を見据えてアーキテクチャの根本から見直すのかを、社内で明確に切り分けておく必要があります。

ポイント

社内の取り組みが、環境を載せ替えるだけか、業務の境界を見直して内部構造を作り替えるものかを区別すると、目的の整理が進みます。

モダナイゼーションや更改との違いを整理する担当者

WMSに関する取り組みには、モダナイゼーション、システム刷新、更改、リニューアルなど似た言葉が数多くあります。それぞれ着手のきっかけや扱う範囲が異なります。そのため、リアーキテクチャという言葉が指す範囲を正しく理解しておくことが、要件定義やベンダー選定の前提になります。

モダナイゼーション・システム刷新との扱う粒度の違い

モダナイゼーションは、レガシー言語からの移行やクラウド化、UI刷新などを含む包括的な概念です。一方、システム刷新は、システム全体を作り替える経営判断そのものを指すことが多い言葉です。

どちらも、リアーキテクチャより扱う範囲が広いか、経営的な文脈で語られる言葉です。WMSのリアーキテクチャは、採用する技術的なアーキテクチャパターンに焦点を当てた、より具体的な取り組みとして位置づけられます。

そのため、経営層への説明ではシステム刷新やモダナイゼーションという大きな枠組みで投資判断を仰ぎ、実装フェーズではリアーキテクチャという技術選択の妥当性をアーキテクトが検証します。階層の異なるこれらの議論は、分けて進めることが重要です。

更改・リニューアルとの着手のきっかけの違い

更改は、保守サポート終了(EOS)や契約満了といった外部要因を起点に、システムを置き換える取り組みを指すことが一般的です。リニューアルは、現場の操作性やユーザー体験の改善を主目的とする取り組みとして語られることが多いです。いずれも、着手のきっかけはビジネス上の期限や利用者の不満にあります。

これに対してWMSのリアーキテクチャは、着手のきっかけがシステムの技術的な限界そのものにある点が異なります。たとえば、リクエスト量の増加やマテハン機器とのリアルタイム連携要求がこれに当たります。

更改やリニューアルのタイミングに合わせてリアーキテクチャを実施するケースもあります。ただし、目的が異なる取り組みだと認識しておくと、要件定義の優先順位を誤りにくくなります。

ポイント

経営層とは刷新やモダナイゼーションの枠組みで投資を話し、実装の場ではリアーキテクチャの妥当性を話すと、議論の階層が混ざりにくくなります。

リファクタリングとリビルド/リアーキテクトの違い

リファクタリングとリアーキテクトの違いを比較するエンジニア

WMSのアーキテクチャを見直す際、最初の技術的な分岐点は、リファクタリングとリビルド/リアーキテクトのどちらを選ぶかです。両者は、外部の挙動を変えずに内部を整理するか、分散システムの基盤から作り直すかで性格が異なります。

リファクタリングの中心はモジュラーモノリス化

リファクタリングは、システムの外部から見た挙動を変えずに、内部のコード構造をモジュール単位に整理し直すアプローチです。WMSの場合は、在庫、ピッキング、入出庫といった機能をモジュールとして明確に分けます。一方で、デプロイの単位は一つのアプリケーションにまとめる「モジュラーモノリス」という形を取ることが多くなります。

この方法は、複雑度が比較的抑えられ、インフラ構築のオーバーヘッドが少なく、手戻りのリスクも小さいという特徴があります。実装期間の面でも、初期の技術検証を含むMVPフェーズの範囲で価値を提供しやすい方法です。特にエンジニア体制が15〜20名に満たないチームにとっては、現実的な選択肢になります。

リビルド/リアーキテクトはマイクロサービス化が前提

リビルド/リアーキテクトは、Kubernetesによるコンテナオーケストレーション、サービスメッシュ、分散トレーシングといった分散システムの基盤をゼロから構築するアプローチです。そのうえで、機能ごとに独立してデプロイ・スケールできるマイクロサービスへ分解します。

実装の複雑度は非常に高く、初期投資もモジュラーモノリス化と比べて大きくなる傾向があります。この投資に見合う効果が出やすいのは、1日あたりのリクエスト数が非常に多く、エンジニア体制も一定規模を超えている場合です。

目安として、1日100万リクエスト以上の処理量と、エンジニア50名以上の開発体制が、完全なマイクロサービス化を正当化するラインとして語られることが多いです。これに満たない場合は、まずモジュラーモノリスを目指し、マテハン連携基盤など負荷の高い部分だけをピンポイントで切り出す方が安全だとされています。

ポイント

1日100万リクエスト以上かつエンジニア50名以上を満たすかが、マイクロサービス化に進む目安です。満たさなければ、モジュラーモノリスから始めるのが安全です。

DDDによるドメイン境界設計の仕組み

DDDによるドメイン境界設計を検討するチーム

マイクロサービス化を進めるうえで最も難易度が高いのが、サービスの境界をどこに引くかという設計判断です。そこで、WMSのリアーキテクチャでは、ドメイン駆動設計(DDD)の考え方を用いて、業務ドメインの境界を実装前に明確にすることが標準的なアプローチです。

ロケーション管理・ピッキング・入出庫の境界づけられたコンテキスト

DDDでは、業務上の意味が閉じたまとまりを「境界づけられたコンテキスト」として定義します。WMSであれば、ロケーション管理、ピッキング、入出庫といった業務領域が、それぞれ独立したコンテキストの候補になります。各コンテキストは「Database per Service」の原則に沿って、自分自身のデータベースを持つように設計されます。

この境界設計を誤ると、サービスとしては分割されていても、内部では相互に密接に依存し合う「分散モノリス」の状態に陥ります。分散モノリスは、マイクロサービス化のメリットを得られないまま複雑さだけが増える、最悪のアンチパターンとされています。そのため、境界設計の妥当性は、実装前の段階で十分な時間をかけて検証する必要があります。

イベントストーミングによるユビキタス言語の現場との共有

境界を適切に引くには、開発者だけでなく倉庫の現場担当者も含めたワークショップ形式の「イベントストーミング」が有効とされています。業務上のイベントを時系列で洗い出し、開発者と現場が共通で使う「ユビキタス言語」を定義します。こうすることで、システムの構造と現場の業務認識のずれを防げます。

こうしたドメイン境界のマッピング作業には、数週間から1.5ヶ月程度の期間がかかることが一般的です。近年は、生成AIを使ってレガシーコードの依存関係を分析し、境界設計の初期案を作る取り組みも進んでいます。また、分析フェーズの工数を大きく圧縮できた事例も報告されています。

ポイント

境界に迷ったら、現場を交えたイベントストーミングで業務の言葉を揃え、分散モノリスに陥っていないかを実装前に確かめます。

マテハン機器とのリアルタイム連携基盤

マテハン機器とのリアルタイム連携基盤を確認する現場

自動倉庫やピッキングロボットといったマテハン機器と連携するWMSでは、ミリ秒単位の応答性能が求められる場面があります。そこで、リアーキテクチャでは、こうした高負荷なリアルタイム連携を支えるエッジコンピューティングとイベント駆動型のメッセージング基盤を、業務ロジックの中核とは切り分けて設計する必要があります。

エッジコンピューティングによるロボット制御の遅延回避

クラウド上のサーバーとロボット制御システムの間で毎回すべての処理をやり取りすると、ネットワークの往復にかかる時間が現場の作業速度を左右してしまいます。エッジコンピューティングを使い、倉庫内のフィルタリングやリアルタイム処理を現場に近い場所で完結させます。これにより、レイテンシの影響を抑えられます。

この基盤の構築には、おおむね3〜6ヶ月程度のパイロット〜MVPフェーズが充てられることが多いです。実際の搬送ロボットやピッキング機器を使った検証を通じて、通信方式やデータ量を調整していきます。

イベント駆動型メッセージングとオフライン耐性の両立

マテハン機器から発生するイベントは突発的に大量発生することがあるため、Kafkaに代表されるイベント駆動型のメッセージング基盤で、サービス間の連携を非同期でつなぐ設計が多く採用されています。安定して処理できるロケーション管理や在庫のようなドメインは、コンテナ上で稼働させます。

一方、突発的なイベントの処理には、サーバーレス(FaaS)を組み合わせるハイブリッドな構成も有効とされています。また、倉庫内のネットワークが一時的に切断された場合でも、現場のピッキングや搬送指示を最低限継続できるよう、エッジ側でのオフラインフォールバックを設計しておくことも欠かせません。

WMSの耐障害性は、カオスエンジニアリングのような手法で、意図的に障害を発生させながら検証されることが一般的です。

API-first設計とストラングラーフィグパターン

API-first設計とストラングラーフィグパターンを図解するホワイトボード

大規模なWMSをいきなり全面的に置き換えるビッグバンリリースは、業務停止のリスクが大きく、避けるべきとされています。そこで、WMSのリアーキテクチャでは、API-first設計で並行開発を可能にしつつ、ストラングラーフィグパターンで旧システムを段階的に置き換えていく進め方が標準的です。

API-first設計による並行開発

API-first設計とは、実装よりも先にAPIの仕様を確定させ、その仕様に基づいて各チームが並行して開発を進める考え方です。Prismのようなモックサーバーを使えば、実際のバックエンド実装が完了する前からAPIの契約(コントラクト)に基づいた開発とテストを進められるのが特徴です。

この進め方を徹底すると、バックエンドの完成を待たずに、マテハン制御側やUI側の開発を同時に進められます。その結果、統合や仕様変更にかかる時間を大きく短縮できるとされています。

ベンダーやパートナーを選ぶ際は、コントラクト駆動開発の実績と、モックサーバーを使ったテスト体制の有無を比べる必要があります。

ストラングラーフィグパターンによる段階的な移行

ストラングラーフィグパターンは、旧システムを稼働させたまま、新しいサービスを機能単位で少しずつ立ち上げていく進め方です。APIゲートウェイでトラフィックを段階的に新サービス側へ切り替えていきます。木に絡みつきながら成長し、最終的に宿主を覆い尽くす植物になぞらえて名付けられています。

まず、重要なモジュールを絞ったパイロットを行い、次に初期のAPI連携を稼働させるMVPへ進みます。その後、プラットフォーム全体の移行を完了させる本番移行、そして独立したサービスとしてさらにスケールさせる段階へと続きます。

各段階でCI/CDが確立し、デプロイ頻度が向上したかどうかを、次のフェーズへ進む判断材料にできます。

WMSリアーキテクチャ着手前の確認ポイント

WMSリアーキテクチャ着手前の確認ポイントを整理する担当者

WMSのリアーキテクチャは、技術的な理想を追求すれば必ず成果が出る取り組みではありません。そのため、自社の規模や体制に見合った選択をしているか、コスト構造を正しく理解しているかを、着手前に確かめておく必要があります。

完全なマイクロサービス化の判断材料となる組織規模とリクエスト量

1日あたりのリクエスト数がそれほど多くなく、エンジニア体制も15〜20名に満たない段階では、完全なマイクロサービス化とDDDによる物理的なサービス分割が負担になります。それを性急に進めると、投資に見合う効果を得られないまま、運用の複雑さだけが増えることがあります。

まずはモジュラーモノリスとして内部構造を整理します。そのうえで、マテハン連携基盤のように負荷が集中する部分だけを、個別のサービスとして切り出す進め方が安全とされています。

境界設計の誤りが招く分散モノリス

サービスを分割したにもかかわらず、内部では強く依存し合っている状態は「分散モノリス」と呼ばれ、監視やデプロイの複雑さだけが増えるアンチパターンです。動画配信サービスを提供する大手企業が、複雑化した監視の仕組みを一つのアプリケーションへ再統合し、インフラコストを大幅に削減した事例も知られています。

この事例のように、マイクロサービス化そのものが目的化しないよう注意する必要があります。サービスメッシュを構成するIstioのようなプロキシは、1インスタンスあたり50〜100MB程度のメモリと100〜200mCPU程度を消費するとされています。さらに、コントロールプレーン自体も1〜2GB程度のメモリを必要とします。

数百単位のサービスを稼働させる規模になると、こうした基盤そのものの運用コストが無視できない金額になります。このため、監視やサービスメッシュの継続コストも含めた投資判断が欠かせません。

自社がどちらのアプローチを選ぶかや、開発体制・ベンダーをどの軸で比べるかは、判断材料が多岐にわたります。具体的な評価軸やPoCの進め方は、WMSのリアーキテクチャの選定ポイントで整理していますので、あわせてご覧ください。

ポイント

技術的な理想より、自社の規模や体制に合っているか、コスト構造を正しく把握できているかを先に見極めることが、着手判断の出発点です。

まとめ

WMSのリアーキテクチャの要点をまとめるチーム

WMSのリアーキテクチャは、既存の業務ロジックを保ちながら、モノリシックな内部構造をマイクロサービスなどのクラウドネイティブなアーキテクチャへ作り替える技術的な取り組みです。モダナイゼーションや刷新、更改、リニューアルといった近接概念とは、着手のきっかけと扱う粒度が異なります。

業務ロジックを守りながら基盤を作り替えるWMSリアーキテクチャ

リファクタリングによるモジュラーモノリス化と、リビルド/リアーキテクトによるマイクロサービス化のどちらを選ぶかは、組織の規模とリクエスト量、マテハン機器とのリアルタイム連携要求の強さから判断すべき事項です。DDDによる境界設計、API-first設計、ストラングラーフィグパターンといった手法は、いずれもこの技術的な移行を安全に進めるための手段です。

現状のアーキテクチャと負荷実態の可視化

まずは、現在のWMSがどこで密結合になっていて、どの業務でマテハン機器との連携遅延が問題になっているかを洗い出してください。既製のクラウド型WMSへの乗り換えで十分か、それとも自社の業務ロジックを活かしたフルスクラッチのリアーキテクチャが必要かによって、取るべき選択肢は変わります。

riplaはフルスクラッチ開発の立場から、既存WMSの構造分析、ドメイン境界の設計支援、マテハン機器との連携基盤構築まで、要件定義の段階から支援しています。

▼全体ガイドの記事
・WMSのリアーキテクチャの完全ガイド

会社紹介

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

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

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

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

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

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