EXERCISE 90分

ストーリー

佐藤CTO
これがL3の集大成だ
佐藤CTO
10ヶ月間で学んだすべて — システムアーキテクチャ設計、セキュリティ、SRE、AI/ML、データエンジニアリング、パフォーマンス、クラウドネイティブ、技術戦略 — これらを統合した、プロのアーキテクトとしての設計書を作成してほしい
佐藤CTO
3つのテーマから1つを選び、エンドツーエンドのアーキテクチャ設計書を完成させよう

テーマ選択

以下の3つのテーマから1つを選んでください(Month 10ではNexPayを扱いましたが、ここでは別のテーマにも挑戦できます)。

テーマA: 次世代フィンテックプラットフォーム(NexPay)

月間取引額1,000億円、PCI DSS準拠の決済・送金・投資プラットフォーム。
Month 10で設計した内容を完成版に仕上げる。

テーマB: グローバルECマーケットプレイス

企業: GlobalMart(100万出品者、1,000万商品、10カ国展開)
売上: 年間GMV 5,000億円
要件:
  - マルチリージョン(東京、シンガポール、フランクフルト)
  - マルチ通貨(10通貨)、多言語(8言語)
  - 検索 p99 < 200ms、注文確定 p99 < 500ms
  - ブラックフライデー: 通常の20倍トラフィック
  - 出品者ダッシュボード、リアルタイム在庫同期

テーマC: IoTプラットフォーム

企業: SensorFlow(スマートファクトリー向けIoTプラットフォーム)
規模: 100万デバイス接続、毎秒100万イベント
要件:
  - エッジコンピューティング(工場内での即時処理)
  - リアルタイム異常検知(5秒以内にアラート)
  - 時系列データの長期保管(5年間、ペタバイト規模)
  - デバイス管理(OTAアップデート、リモート診断)
  - マルチテナント(100社の工場を同一プラットフォームで)

Part 1: 要件分析(15分)

選択したテーマについて、以下を作成してください。

  1. ステークホルダー一覧とその関心事
  2. 品質属性シナリオ(トップ5)
  3. 制約条件と前提
解答例(テーマB: GlobalMart)
■ ステークホルダーと関心事

| ステークホルダー | 関心事 |
|----------------|--------|
| エンドユーザー(購入者) | 高速な検索、安全な決済、迅速な配送追跡 |
| 出品者 | 出品の容易さ、売上分析、在庫管理 |
| カスタマーサポート | 問い合わせ対応ツール、注文状況の可視化 |
| 経営層 | GMVの成長、利益率、新規国展開速度 |
| SRE | 可用性、パフォーマンス、インシデント対応 |
| 法務 | GDPR、各国EC規制、消費者保護法 |

■ 品質属性シナリオ(トップ5)

1. [可用性] ブラックフライデー中の注文APIが99.99%の可用性を維持
2. [パフォーマンス] 商品検索が通常時p99 < 200msで応答
3. [スケーラビリティ] ブラックフライデー時に通常の20倍のトラフィックを処理
4. [データ整合性] 在庫の二重販売が発生しない(強整合性)
5. [セキュリティ] 各国の個人情報保護法(GDPR等)に準拠

■ 制約条件

- 既存のモノリスECシステム(PHP)からの段階的移行
- 予算: 年間インフラ費¥5億以内
- 各国のデータレジデンシー要件(EUデータはEU内に保管)
- 18ヶ月で10カ国展開を完了

Part 2: アーキテクチャ設計(25分)

  1. C4モデル Level 1-2の設計
  2. サービス分解とデータアーキテクチャ
  3. インフラ構成(マルチリージョン)
解答例(テーマB: GlobalMart)

C4 Level 1: System Context

graph TD
    BUYER["購入者"]
    SELLER["出品者"]
    GM["GlobalMart Platform"]
    PAY["決済プロバイダー"]
    SHIP["配送パートナー"]
    SEARCH["検索エンジン"]

    BUYER --> GM
    SELLER --> GM
    GM --> PAY
    GM --> SHIP
    GM --> SEARCH

    style GM fill:#e3f2fd,stroke:#1565c0,stroke-width:2px
    style BUYER fill:#e8f5e9,stroke:#2e7d32
    style SELLER fill:#e8f5e9,stroke:#2e7d32
    style PAY fill:#fff3e0,stroke:#e65100
    style SHIP fill:#fff3e0,stroke:#e65100
    style SEARCH fill:#fff3e0,stroke:#e65100

サービス分解:

  • Catalog Service: 商品情報管理、検索インデックス更新
  • Search Service: Elasticsearch、ファセット検索、多言語対応
  • Order Service: 注文管理、Saga Orchestrator
  • Inventory Service: 在庫管理(強整合性)、予約ロック
  • Payment Service: 決済処理、マルチ通貨対応
  • Seller Service: 出品者管理、ダッシュボード
  • Shipping Service: 配送追跡、パートナーAPI連携
  • User Service: ユーザー認証、プロフィール
  • Notification Service: メール、プッシュ通知、多言語テンプレート

インフラ構成:

リージョン配置:

  • 東京: アジア圏のプライマリ(日本、韓国、台湾、タイ)
  • シンガポール: 東南アジア(インドネシア、マレーシア、ベトナム)
  • フランクフルト: EU圏(ドイツ、フランス、イタリア)

データストア:

  • Aurora Global DB: ユーザー、注文(マルチリージョンレプリケーション)
  • DynamoDB Global Tables: 商品カタログ、在庫(グローバルレプリケーション)
  • Elasticsearch: 商品検索(各リージョンにクラスター)
  • Redis: セッション、カート(各リージョンにクラスター)

Part 3: 横断的関心事(20分)

  1. セキュリティ設計(認証、データ保護、コンプライアンス)
  2. 可観測性設計(メトリクス、ログ、トレース)
  3. DR/BCP設計(RPO/RTO、フェイルオーバー)
解答例(テーマB: GlobalMart)
■ セキュリティ

認証: Auth0 + Social Login(Google, Apple, LINE等)
決済: Stripe/Adyen(PCI DSSスコープを外部に委託)
データ保護:
  - GDPR: EU圏のデータはフランクフルトに保管
  - データ削除リクエスト: 30日以内に完全削除
  - 暗号化: 転送時TLS 1.3、保管時AES-256

■ 可観測性

メトリクス: GMV/時間、注文成功率、検索レイテンシ、カート放棄率
ログ: 構造化JSON、CloudWatch Logs + OpenSearch
トレース: OpenTelemetry + Jaeger(注文フロー全体の可視化)
ダッシュボード: リージョン別のリアルタイム監視

■ DR/BCP

| サービス | RPO | RTO | 構成 |
|---------|-----|-----|------|
| 注文・決済 | 0 | < 5分 | Active-Active(マルチリージョン) |
| 検索・カタログ | < 1分 | < 10分 | 各リージョンに独立クラスター |
| 出品者ダッシュボード | < 5分 | < 30分 | Warm Standby |
| 分析 | < 1時間 | < 4時間 | Backup & Restore |

Part 4: 実装計画とレビュー(30分)

  1. 技術スタック選定(ADR 2つ以上)
  2. 移行ロードマップ(18ヶ月)
  3. コスト見積もりとROI
  4. リスクレジスター(トップ5)
  5. Executive Summary(1ページ)
解答例(テーマB: GlobalMart)
■ ADR例

ADR-001: 検索エンジンにElasticsearchを採用
  理由: ファセット検索、多言語対応、日本語形態素解析(kuromoji)
  代替案: Algolia(コスト高)、Solr(コミュニティ縮小)

ADR-002: 在庫管理にDynamoDB + 楽観的ロックを採用
  理由: グローバルレプリケーション、ミリ秒レイテンシ、条件付き更新
  代替案: Aurora(グローバル書き込みの制約)、Redis(永続性の懸念)

■ コスト見積もり

初期構築: ¥12億(18ヶ月、チーム25名)
年間運用: ¥5億(インフラ¥3億 + 人件費¥1.5億 + ライセンス¥0.5億)
年間効果: ¥30億(GMV 5,000億 × テイクレート6% = 手数料収入¥300億の10%改善)
ROI: 350%(3年間)

■ Executive Summary

GlobalMart技術投資提案:
  投資¥12億 → 年間¥30億の効果(ROI 350%)
  18ヶ月で10カ国展開、ブラックフライデー20倍対応
  Phase 0(¥1.5億)の承認を依頼。3ヶ月後に報告。

達成度チェック

Partテーマ完了
Part 1要件分析(ステークホルダー、品質属性、制約)
Part 2アーキテクチャ設計(C4、サービス分解、インフラ)
Part 3横断的関心事(セキュリティ、可観測性、DR)
Part 4実装計画とレビュー(ADR、ロードマップ、コスト)

L3卒業条件の確認

条件状態
全10ヶ月の卒業クイズに合格(80%以上)
総合プロジェクトの設計書を完成
5つ以上のADRを作成
アーキテクチャレビュー(セルフレビュー)を実施

次のステップへ

最後はL3卒業クイズです。10ヶ月間の総まとめとして、全範囲から出題されます。


推定読了時間: 90分