EXERCISE 60分

ストーリー

佐藤CTO
分析は十分だ。いよいよ設計書としてまとめる時が来た
佐藤CTO
レビューに耐える設計書を書くことが、アーキテクトとしての腕の見せどころだ

ミッション概要

ミッションテーマ目安時間
Mission 1C4図の作成(Context + Container)15分
Mission 2技術スタック選定と根拠15分
Mission 3デプロイメントビューの作成15分
Mission 4レビュー可能なドキュメント統合15分

前提シナリオ

Step 2-4で分析してきたECプラットフォームのアーキテクチャ設計書を完成させます。


Mission 1: C4図の作成(15分)

要件

ECプラットフォームのLevel 1(System Context)とLevel 2(Container)図を作成してください。

解答例

Level 1: System Context

外部アクター:
  - 一般ユーザー(Web/モバイル)
  - 店舗管理者
  - システム管理者

外部システム:
  - Stripe(決済)
  - SendGrid(メール)
  - AWS S3(画像ストレージ)
  - 配送パートナーAPI

Level 2: Container

フロントエンド:
  - Next.js SPA(ユーザー向け)
  - React Admin(管理画面)
  - Flutter(モバイルアプリ)

バックエンド:
  - BFF Gateway(Node.js/Express)
  - 商品サービス(Node.js)
  - 注文サービス(Node.js)
  - ユーザーサービス(Node.js)
  - 検索サービス(Node.js)

データストア:
  - PostgreSQL(商品、注文、ユーザー)
  - Redis(キャッシュ、セッション)
  - Elasticsearch(商品検索)

メッセージング:
  - Apache Kafka(イベント)

インフラ:
  - AWS EKS(コンテナオーケストレーション)
  - CloudFront(CDN)

Mission 2: 技術スタック選定と根拠(15分)

要件

主要技術の選定理由をテーブル形式で記述してください。

解答例
カテゴリ技術選定理由代替候補不採用理由
言語TypeScriptフルスタック統一、型安全Goチームスキル不足
FW(FE)Next.jsSSR/SSG、SEO対応Nuxt.jsReactエコシステム優先
FW(BE)NestJSDI、モジュール構造Express大規模開発の構造化
DBPostgreSQLJSONB、信頼性MySQLJSON対応の柔軟性
検索Elasticsearch全文検索、ファセットAlgoliaコスト、カスタマイズ性
キャッシュRedis高速、Pub/SubMemcachedデータ構造の豊富さ
MQKafka耐久性、スループットRabbitMQログベースの永続化
IaCTerraformマルチクラウドCDK学習コスト
CI/CDGitHub ActionsGitHub統合CircleCIリポジトリ統合

Mission 3: デプロイメントビュー(15分)

要件

本番環境のデプロイメント構成を図とテーブルで記述してください。

解答例
AWS構成:

Route 53 → CloudFront → ALB → EKS Cluster
                                  ├── 商品サービス Pod (3)
                                  ├── 注文サービス Pod (3)
                                  ├── ユーザーサービス Pod (3)
                                  └── BFF Pod (3)

データ層:
  RDS PostgreSQL (Multi-AZ)
  ElastiCache Redis (Cluster)
  Amazon Elasticsearch Service
  Amazon MSK (Kafka)

ストレージ:
  S3 (商品画像、静的アセット)
コンポーネントインスタンススペック冗長化
EKS Worker3-10台m5.xlargeマルチAZ
RDSPrimary + Replicar5.xlargeマルチAZ
ElastiCache3ノードr5.largeCluster
MSK3ブローカーkafka.m5.large3AZ

Mission 4: レビュー可能なドキュメント統合(15分)

要件

arc42テンプレートに沿って、設計書の目次と各セクションの要約(1-2行)を作成してください。

解答例
# ECプラットフォーム アーキテクチャ設計書

## 1. はじめに
BtoC向けECプラットフォーム。初年度10万→3年後100万ユーザー。

## 2. 制約条件
PCI DSS準拠、AWS環境、TypeScript統一。

## 3. コンテキストと範囲
ユーザー・管理者・外部決済・配送パートナーとの連携。

## 4. ソリューション戦略
モジュラーモノリス→段階的マイクロサービス。CQRS+イベント駆動。

## 5. ビルディングブロック
BFF + 4サービス(商品・注文・ユーザー・検索)。

## 6. ランタイムビュー
注文フロー、検索フロー、決済フローのシーケンス。

## 7. デプロイメントビュー
AWS EKS、マルチAZ、CI/CDパイプライン。

## 8. 横断的関心事
認証(JWT)、ログ(構造化)、エラー処理、ヘルスチェック。

## 9. アーキテクチャ決定
ADR-001〜005(DB、通信、キャッシュ、MQ、IaC)。

## 10. 品質要件
可用性99.95%、p95レスポンス500ms、セキュリティ要件。

## 11. リスク
Kafka運用スキル不足、スケーリング戦略の検証不足。

## 12. 用語集
BFF、CQRS、SLI/SLO等の用語定義。

まとめ

ポイント内容
C4図読者に応じたレベルで図を作成する
技術選定選定理由と不採用理由を明記する
デプロイ本番構成を具体的に記述する
統合arc42テンプレートで体系的にまとめる

チェックリスト

  • C4のContext図とContainer図を作成できた
  • 技術スタックの選定根拠を記述できた
  • デプロイメント構成を記述できた
  • 設計書全体の構造を組み立てられた

次のステップへ

次はチェックポイントクイズで設計書作成の理解度を確認します。


推定読了時間: 60分