アプリリアーキテクチャのPoC・プロトタイプ・モックアップ開発について

アプリリアーキテクチャのPoC・プロトタイプ・モックアップ開発は、既存アプリの構造を作り直す前に、新しい設計が技術的に成り立つかを確かめる工程です。

検証の重心は、ドメイン境界の切り方、API契約の妥当性、段階移行の安全性です。本開発で設計ミスに気づくことを避けたい方の判断材料になります。

アプリケーションのモダナイゼーションは、技術手法の全体像を扱う総論で、リホスト、リプラットフォーム、リファクタリング、リビルド、リプレースの5つのアプローチを並べています。本記事群が扱うアプリリアーキテクチャは、そのリファクタリングとリビルドをさらに深掘りした専門記事です。

モノリスの分解、DDD、API-first設計、クラウドネイティブパターンという、アーキテクチャ設計そのものを1テーマとして扱います。

アプリリアーキテクチャ全体の流れは、次の完全ガイドで扱っています。

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

  • 他の取り組みとの違いから見るPoCの位置づけ
  • ドメイン境界・API-first設計の検証手法
  • マイクロフロントエンド・BFFのプロトタイプ検証

アプリリアーキテクチャにおけるPoCの位置づけ(他の4つの取り組みとの違い)

PoCの目的は、扱うキーワードによって変わります。「アプリ刷新」のPoCは、経営層へ投資対効果を説明する材料集めが中心です。「アプリリニューアル」のPoCは、新しいUI/UXが実際に使いやすいかというユーザー体験の検証が中心です。

一方で、アプリリアーキテクチャのPoC・プロトタイプ・モックアップ開発は、新しいアーキテクチャが技術的に実現可能か、意図した運用上の安全性を満たせるかという仮説を検証します。検証するのは、ドメイン境界の切り方、API契約の妥当性、段階移行の安全性という、アーキテクチャ設計そのものの正しさです。その正しさを示すことがゴールで、これが他の取り組みとの最大の違いです。

モダナイゼーション・刷新・更改・リニューアルのPoCとの目的の違い

モダナイゼーションのPoCは、技術検証とビジネス価値の実証を並べて扱う総論的なものです。これに対し、アプリリアーキテクチャのPoCは、技術検証だけに範囲を絞ります。

アプリ更改のPoCは、「新環境でも既存機能が正常に動くか」という現行機能の踏襲を前提にします。アプリリアーキテクチャのPoCは、ドメイン境界そのものを再定義します。そのため、「そもそもこの境界の切り方でよいのか」というゼロベースの仮説から検証します。

この違いを押さえずに検証範囲を決めると、アーキテクチャの妥当性が曖昧なまま本開発に進むリスクがあります。

アプリリアーキテクチャのPoCで検証する4つの技術的仮説

検証すべき技術的仮説は、大きく4つに整理できます。1つ目は、ドメイン境界(境界づけられたコンテキスト)が、コードとデータの両面で分離できるかどうかです。2つ目は、API-first設計で定めた契約(コントラクト)が、フロントエンドとバックエンドの並行開発で機能するかどうかです。

3つ目は、マイクロフロントエンド・BFFへの分解が運用上破綻しないかどうかです。4つ目は、マイクロサービスへの段階移行(Strangler Figパターン)が、ビジネスを止めずに安全に進められるかどうかです。

これら4つを1つのPoCで一度に検証しようとすると論点が拡散するため、対象を絞って優先順位をつけることが成功の鍵になります。

ポイント

迷ったときは、そのPoCが技術的な仮説の検証を目的にしているか、刷新やリニューアルのような投資判断やUI/UX検証を目的にしているかを先に分けて考えてください。

ドメイン境界・API-first設計の検証手法

EventStorming、モックサーバー、契約テストを並べたドメイン境界とAPI契約の検証手法の図解
境界の整理から契約の確認まで、検証手段を段階ごとに使い分けます。

ドメイン境界とAPI契約は、アーキテクチャ設計の土台となる要素です。PoC段階で特に入念に検証すべきで、ここで検証が甘いと、本開発に入ってから境界を引き直すという大きな手戻りが起きます。

EventStormingとドメイン境界の妥当性検証

ドメイン境界の妥当性は、ビジネス部門とエンジニアが共同で参加する「EventStorming」というワークショップ形式で進めるのが一般的です。

EventStormingで定めた3〜5つのコアビジネスドメインの境界が、コードやデータの面で適切に分けられるかを、PoCで検証します。境界の設定を誤ると、サービス間で過度な同期通信が生じ、独立してデプロイできない「分散型モノリス(Distributed Monolith)」に陥るおそれがあります。

PoCでは、決済や在庫などの特定のドメインを切り出し、他のサービスへの影響(波及効果)が最小限に抑えられているかを重点的に確認します。

OpenAPI契約テスト・モックサーバーによる並行開発の実証

API-first設計では、コードを書く前にOpenAPIなどの仕様でサービス間の「契約(コントラクト)」を定め、それが有効に機能するかをPoCで検証します。具体的には、PrismやMockoonなどのツールでAPIのモックサーバーを生成し、フロントエンドチームとバックエンドチームが互いの完成を待たずに並行開発できるかを実証します。

さらに、CI/CDパイプラインにPactなどを用いた契約テスト(Contract Testing)を組み込みます。APIの変更がコンシューマー側を壊さないことを検証しておけば、本開発でのフロントとバックの待ち時間や手戻りを大幅に減らせます。

ポイント

境界の切り方に迷うときは、決済や在庫などのドメインを切り出して、他のサービスへの波及が小さいかを確かめてください。API契約は、フロントとバックが並行して進められるかで判断できます。

マイクロフロントエンド・BFFのプロトタイプ検証

画面単位分割、共有モジュール、疎結合な通信、オーバーフェッチを確認項目として並べた図解
分割・共有・通信・データ取得の観点を事前に洗い出せます。

マイクロフロントエンドとBFFは、アプリ特有の技術要素です。本開発の前に、プロトタイプで技術的な実現可能性を確かめておくことが重要です。検証の主眼は、統合方式とデータ集約方式が実際に機能するかという技術面にあります。

Module Federation等での画面単位分割プロトタイプ

マイクロフロントエンドのプロトタイプでは、Module Federation(Webpack/Rspack)などを使って対象画面の一部を実際に分割し、ブラウザの実行時に動的に読み込んで結合できるかを検証します。

特に注意したいのは、各マイクロフロントエンドが独自にライブラリを読み込んでバンドルサイズが肥大化し、パフォーマンスが劣化しないかです。共有モジュールの設定で重複読み込みを避けられるかも、プロトタイプ段階で実測値を取って確かめておくべき検証項目です。

異なるチームが作るコンポーネント同士が、グローバルステートを共有せずに、URLやWeb Storage、カスタムイベントを用いた疎結合な通信で成立するかも検証します。

BFF層のオーバーフェッチ防止・API集約の実証

BFF(Backend for Frontend)のプロトタイプでは、ユーザーAPI・商品API・決済APIなどの複数のマイクロサービスからデータを集めて結合する処理を、実際に実装します。そのうえで、モバイルアプリとWebブラウザのそれぞれに必要なデータだけを整形して返せているか、つまりオーバーフェッチを防げているかを検証します。

REST APIによる集約層とGraphQL(Apollo Serverなど)のどちらが自社のユースケースに適しているかも、この段階で比べておくと、本開発時の手戻りを防げます。

あわせて、BFFに決済計算などのビジネスロジックが漏れ出していないか(BFFのファット化アンチパターンに陥っていないか)も、プロトタイプのレビューで確認すべき点です。

ポイント

マイクロフロントエンドでは、バンドルサイズの肥大化や重複読み込みを実測して確かめてください。BFFでは、オーバーフェッチとビジネスロジックの漏れ出しがないかを見てください。

マイクロサービス分割・段階移行(Strangler Fig)の技術検証

パラレルラン、カナリアリリース、ロールバック、カオスエンジニアリングを段階移行の防御要素として示す図解
切り替え時の差分確認と障害時の封じ込めを別の手段で確かめます。

本番稼働中のサービスを止めずに、新旧のアーキテクチャを切り替える段階移行では、PoC段階で安全性を検証することが最も重要です。ここで検証を怠ると、本番移行時にユーザーへの影響を伴う致命的な障害を招くおそれがあります。

カナリアリリース・パラレルランの安全性検証

レガシーシステムと新しいマイクロサービスを並行稼働させて出力を比べる「パラレルラン」や、一部のユーザーにだけ新機能を提供する「カナリアリリース」を、PoC段階で小規模に実施します。APIゲートウェイを介したトラフィックルーティングが、意図どおりに機能するかも検証します。

PoC段階では、新旧システムの出力に差分が生じないか、切り戻し(ロールバック)が問題なく行えるかまで検証しておくと、本番移行時の切替リスクを大幅に減らせます。

カオスエンジニアリングによるレジリエンス実証

分散システム特有の障害耐性は、意図的にネットワーク遅延やポッドの停止を起こすカオスエンジニアリング(Chaos Mesh等の活用)で、PoC段階から検証します。

具体的には、サーキットブレーカーが正しく開いて、障害が他のサービスへ波及するのを防げているか(フォールト・アイソレーション)を確かめます。

また、データベースの内部モデルを直接APIで公開せず、DTO(Data Transfer Object)を介して通信することで、内部の変更が外部クライアントを壊さないかも確かめます。こうした依存関係の分離とレジリエンスの実証も、この段階で行っておくべき検証項目です。

ポイント

段階移行では、パラレルランやカナリアリリースで出力の差分と切り戻しを確かめ、障害の波及はカオスエンジニアリングで見てください。

PoC・プロトタイプ開発の期間・費用の目安と依頼先選定

アーキテクチャ設計特有の検証観点を押さえてPoCを計画したら、次に期間・費用の目安と、それを任せる依頼先の選び方を検討します。

期間・費用の相場とマイルストーン

PoC・プロトタイプの期間は、一般的に3〜6ヶ月が目安です。最初の四半期(約3ヶ月)のマイルストーンとしては、1つの主要ビジネスドメインのAPI/サービスへの分解が完了していることが挙げられます。加えて、自動化されたCI/CDパイプラインの構築と、移行された最初のコンポーネントがレガシーシステムにデグレを起こさず独立して稼働していることも目安に含まれます。

費用はプロジェクトの複雑さによって変わりますが、パイロットフェーズのインフラ構築・データ準備・初期モデル開発で、1,500万円〜7,500万円程度の予算を見込む必要があります。この段階の期待ROIは0%〜マイナス100%です。

この投資の目的は、アーキテクチャが技術的に実現可能だと実証し、本格投資を経営陣に正当化するための土台を作ることです。特に、社内の予算承認の場では、金銭的な回収を得るものではないと、この目的を明確に説明しておくことが大切です。

依頼先に求められるアーキテクト・DDDの実績

依頼先を選ぶ際は、実装力に加えて、ドメイン駆動設計のワークショップ(EventStormingなど)を進められるアーキテクトが在籍しているかを確認します。あわせて、マイクロサービス・API-first設計・クラウドネイティブ基盤の構築実績が、具体的な事例とともに示せるかも見ておきます。

PoCの成否は、「ドメイン境界の切り方」というビジネス理解と技術理解の両方を要する工程に大きく左右されます。そのため、契約前の提案段階で、この工程をどう進めるかを具体的に確かめておくことをお勧めします。

ポイント

PoCの費用は、金銭的な回収ではなく本格投資の土台を作る投資として社内に説明できるかで判断してください。依頼先は、EventStormingを進められるアーキテクトがいるかで選んでください。

まとめ

ここまで、アプリリアーキテクチャのPoC・プロトタイプ・モックアップ開発について、他の取り組みとの違いから、検証の観点、期間・費用の目安、依頼先の選び方までを整理してきました。

PoCのゴールは、ドメイン境界の妥当性、API契約の実現性、段階移行の安全性という技術的仮説を検証することです。マイクロフロントエンドとBFFでは、バンドルサイズや重複読み込み、オーバーフェッチ、ビジネスロジックの漏れ出しを確かめ、段階移行では、パラレルランとカナリアリリースで差分と切り戻しを確かめます。期間は3〜6ヶ月、費用は1,500万円〜7,500万円程度が目安です。

期待ROIは0%〜マイナス100%です。マイナスの数字を許容しつつ、本格投資への正当性を積み上げる位置づけとして捉える必要があります。

ドメイン駆動設計のファシリテーション実績と、マイクロサービス・クラウドネイティブの構築実績を兼ね備えた信頼できるパートナーに、早めに相談することをお勧めします。

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

会社紹介

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

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

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

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

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

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