ストーリー
テーマ選択
以下の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分)
選択したテーマについて、以下を作成してください。
- ステークホルダー一覧とその関心事
- 品質属性シナリオ(トップ5)
- 制約条件と前提
解答例(テーマ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分)
- C4モデル Level 1-2の設計
- サービス分解とデータアーキテクチャ
- インフラ構成(マルチリージョン)
解答例(テーマ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分)
- セキュリティ設計(認証、データ保護、コンプライアンス)
- 可観測性設計(メトリクス、ログ、トレース)
- 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分)
- 技術スタック選定(ADR 2つ以上)
- 移行ロードマップ(18ヶ月)
- コスト見積もりとROI
- リスクレジスター(トップ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分