LESSON 30分

ストーリー

10ヶ月目 — L3の最終月。ここまであなたは、アーキテクチャ設計の基礎からスケーラビリティ、データアーキテクチャ、クラウドネイティブ、マイクロサービス、SRE、セキュリティ、パフォーマンス、技術戦略まで、9ヶ月間にわたって学び続けてきました。

佐藤CTO
CAPSTONE
佐藤CTO
ついに最終月だ。ここで君には、9ヶ月間のすべてを統合した総合アーキテクチャ設計に挑んでもらう
あなた
総合…ですか?
佐藤CTO
そう。これまでの月では個別のスキルを深掘りしてきた。でも実際のプロジェクトでは、すべてが同時に求められる。セキュリティと性能の両立、スケーラビリティとコストのバランス、組織とアーキテクチャの整合 — すべてを統合する力が問われる

佐藤CTOが画面を見せました。そこには、あるフィンテック企業のプロジェクト概要が表示されています。

佐藤CTO
テーマは次世代フィンテックスーパーアプリ。決済・送金・投資を統合したプラットフォームだ。1,000万ユーザー規模、PCI DSS準拠、マルチリージョン — L3で学んだすべてが必要になる

プロジェクト概要

ビジネスコンテキスト

あなたは、急成長中のフィンテック企業「NexPay(ネクスペイ)」のリードアーキテクトに任命されました。NexPayは現在、QRコード決済サービスを単独で提供していますが、経営戦略として次世代のフィンテックスーパーアプリへの進化を決定しました。

NexPayの現状と目標:

現在(2025年):
  - QRコード決済アプリ(月間アクティブユーザー300万人)
  - 加盟店数: 50万店舗
  - 月間取引件数: 2億件
  - 技術スタック: モノリスアプリケーション(Java/Spring Boot)
  - インフラ: AWS東京リージョン単一

目標(2027年末):
  - 決済・送金・投資を統合したスーパーアプリ
  - 月間アクティブユーザー: 1,000万人
  - 加盟店数: 200万店舗
  - 月間取引件数: 10億件
  - PCI DSS Level 1準拠
  - マルチリージョン対応(国内2リージョン + 海外展開準備)

ビジネス要件

カテゴリ要件優先度
決済QRコード決済、NFC決済、オンライン決済必須
決済加盟店リアルタイム売上管理ダッシュボード必須
送金個人間送金(P2P)、割り勘機能必須
送金銀行口座連携、ATM入出金必須
投資株式・投資信託の購入・売却重要
投資つみたて投資(定期自動購入)重要
投資ポイント投資(決済ポイントで投資)重要
共通KYC(本人確認)、AML(マネーロンダリング対策)必須
共通プッシュ通知、取引履歴必須
共通カスタマーサポート(チャット、FAQ)重要

機能間の統合シナリオ

スーパーアプリの価値は、個別機能ではなく機能間の統合にあります。

// スーパーアプリの統合シナリオ例
interface SuperAppIntegrationScenarios {
  // 決済→投資: お釣り投資
  changeInvestment: {
    description: "決済時のお釣りを自動的に投資に回す";
    flow: "決済完了 → お釣り計算 → 投資口座に自動入金 → 投資信託購入";
    involvedServices: ["Payment", "Investment", "Account"];
  };

  // 送金→決済: 割り勘→決済
  splitPayment: {
    description: "グループ決済後、参加者に自動で割り勘請求";
    flow: "決済完了 → 割り勘計算 → 参加者に送金リクエスト → 自動引落";
    involvedServices: ["Payment", "Transfer", "Notification"];
  };

  // 投資→決済: ポイント投資
  pointInvestment: {
    description: "決済で貯まったポイントで投資信託を購入";
    flow: "ポイント残高確認 → 投資注文 → ポイント消費 → 約定";
    involvedServices: ["Point", "Investment", "Account"];
  };
}

「スーパーアプリの難しさは、単に複数の機能を1つのアプリに入れることじゃない。機能間の連携がシームレスであることが価値の源泉だ。そしてそれは、アーキテクチャが正しくなければ実現できない」 — 佐藤CTO


プロジェクトの技術的チャレンジ

チャレンジマップ

このプロジェクトで直面する技術的課題は、L3の各月で学んだ内容に直結します。

チャレンジ関連する学び(Month)難易度
サービス分割とAPI設計Month 5: マイクロサービス★★★★
トランザクション整合性Month 3: データアーキテクチャ★★★★★
10億件/月のスケーラビリティMonth 2: スケーラブルシステム★★★★
PCI DSS準拠のセキュリティMonth 7: セキュリティアーキテクチャ★★★★★
マルチリージョンインフラMonth 4: クラウドネイティブ★★★★
99.99%可用性の決済基盤Month 6: SRE★★★★★
レイテンシ最適化Month 8: パフォーマンス★★★★
技術選定とチーム設計Month 9: 技術戦略★★★★
要件分析とトレードオフMonth 1: アーキテクチャ基礎★★★★

規模感の理解

トラフィック推計:

ピーク時のリクエスト量:
  - 決済API: 10,000 TPS(Transactions Per Second)
  - 残高照会: 50,000 RPS(Requests Per Second)
  - 通知配信: 100万通/分(キャンペーン時)
  - 投資注文: 1,000 TPS(マーケット開場時)

データ量:
  - 取引データ: 10億件/月 × 平均1KB = 約1TB/月
  - ユーザーデータ: 1,000万人 × 平均10KB = 約100GB
  - 監査ログ: 約5TB/月(PCI DSS要件)
  - 分析データ: 約10TB/月

キャップストーンの進め方

6つのステップ

Stepテーマ時間内容
Step 1プロジェクト要件分析3hステークホルダー分析、品質属性、制約の整理
Step 2アーキテクチャ設計4hC4図、サービス分解、データ設計、インフラ設計
Step 3横断的関心事の設計4hセキュリティ、可観測性、性能、DR
Step 4実装・運用計画4h技術選定、CI/CD、移行計画、コスト
Step 5アーキテクチャレビュー3hATAM、リスク分析、ADR、レビュー準備
Step 6L3卒業2h最終演習、卒業クイズ

成果物一覧

最終的に作成するドキュメント群です。

graph TD
    ROOT["NexPay Architecture Document"]
    ROOT --- S1["1. 要件分析"]
    ROOT --- S2["2. アーキテクチャ設計"]
    ROOT --- S3["3. 横断的関心事"]
    ROOT --- S4["4. 実装・運用計画"]
    ROOT --- S5["5. レビュー資料"]
    S1 --- S1A["ステークホルダーマップ"]
    S1 --- S1B["品質属性シナリオ
10件以上"] S1 --- S1C["制約一覧"] S2 --- S2A["C4 System Context Diagram"] S2 --- S2B["C4 Container Diagram"] S2 --- S2C["サービス一覧と境界"] S2 --- S2D["データアーキテクチャ"] S2 --- S2E["インフラストラクチャ設計"] S3 --- S3A["セキュリティ設計書"] S3 --- S3B["可観測性設計書"] S3 --- S3C["パフォーマンス計画"] S3 --- S3D["DR計画"] S4 --- S4A["技術スタック選定書"] S4 --- S4B["CI/CDパイプライン設計"] S4 --- S4C["移行ロードマップ"] S4 --- S4D["コスト・ROI分析"] S5 --- S5A["ATAM分析結果"] S5 --- S5B["リスク分析表"] S5 --- S5C["ADR(5件)"] style ROOT fill:#1e293b,stroke:#475569,color:#f8fafc style S1 fill:#dbeafe,stroke:#2563eb,stroke-width:2px,color:#1e40af style S2 fill:#d1fae5,stroke:#059669,color:#065f46 style S3 fill:#fef3c7,stroke:#d97706,stroke-width:2px,color:#92400e style S4 fill:#f3e8ff,stroke:#7c3aed,color:#5b21b6 style S5 fill:#fee2e2,stroke:#dc2626,color:#991b1b style S1A fill:#f3f4f6,stroke:#9ca3af,color:#374151 style S1B fill:#f3f4f6,stroke:#9ca3af,color:#374151 style S1C fill:#f3f4f6,stroke:#9ca3af,color:#374151 style S2A fill:#f3f4f6,stroke:#9ca3af,color:#374151 style S2B fill:#f3f4f6,stroke:#9ca3af,color:#374151 style S2C fill:#f3f4f6,stroke:#9ca3af,color:#374151 style S2D fill:#f3f4f6,stroke:#9ca3af,color:#374151 style S2E fill:#f3f4f6,stroke:#9ca3af,color:#374151 style S3A fill:#f3f4f6,stroke:#9ca3af,color:#374151 style S3B fill:#f3f4f6,stroke:#9ca3af,color:#374151 style S3C fill:#f3f4f6,stroke:#9ca3af,color:#374151 style S3D fill:#f3f4f6,stroke:#9ca3af,color:#374151 style S4A fill:#f3f4f6,stroke:#9ca3af,color:#374151 style S4B fill:#f3f4f6,stroke:#9ca3af,color:#374151 style S4C fill:#f3f4f6,stroke:#9ca3af,color:#374151 style S4D fill:#f3f4f6,stroke:#9ca3af,color:#374151 style S5A fill:#f3f4f6,stroke:#9ca3af,color:#374151 style S5B fill:#f3f4f6,stroke:#9ca3af,color:#374151 style S5C fill:#f3f4f6,stroke:#9ca3af,color:#374151

評価基準

キャップストーンプロジェクトの評価基準は以下の通りです。

評価軸配点基準
要件の網羅性20%ステークホルダーの関心事を漏れなく捉えているか
設計の一貫性25%要件→設計→実装が論理的に一貫しているか
トレードオフの明確さ25%各判断の根拠とトレードオフが明示されているか
実現可能性15%技術的に実現可能で、チームが実装できる設計か
文書の品質15%他のエンジニアが理解・レビューできる品質か

「アーキテクトの仕事は”正解を出すこと”ではなく、“なぜその判断をしたのかを説明できること”だ。このキャップストーンでは、君の判断力と説明力を最大限に発揮してほしい」 — 佐藤CTO


まとめ

ポイント内容
プロジェクトNexPay: 次世代フィンテックスーパーアプリ
規模1,000万ユーザー、10億件/月、マルチリージョン
統合要素決済・送金・投資を統合、機能間シームレス連携
期間6 Steps(20時間)
評価設計の一貫性とトレードオフの明確さが最重要

チェックリスト

  • NexPayのビジネスコンテキストと目標を理解した
  • 決済・送金・投資の統合シナリオを把握した
  • プロジェクトの規模感(トラフィック、データ量)を理解した
  • 6つのステップと成果物一覧を確認した
  • 評価基準を理解した

次のステップへ

次は「ステークホルダー分析とアーキテクチャドライバー」に進みます。NexPayプロジェクトに関わるすべてのステークホルダーを特定し、彼らの関心事からアーキテクチャドライバーを抽出しましょう。


推定読了時間: 30分