アーキテクチャ Katas — 設計力を鍛える演習
実際の要件から最適なアーキテクチャを導く思考プロセスを実践で身につける
プロローグ — アーキテクチャ道場へようこそ
Katasとは何か、設計力を鍛える演習の学び方と心構えを学ぶ
Kata: ブログプラットフォーム — モノリスで始める
CRUD基本設計とRails scaffoldを使ったモノリスアーキテクチャの判断
Kata: ECサイト — 在庫と決済を分離する
サービス分割の判断基準と境界設計、在庫管理と決済処理の分離戦略
Kata: リアルタイムチャット — WebSocket と非同期
Action CableとElastiCacheを使ったリアルタイム通信アーキテクチャの設計
Kata: 予約システム — 排他制御と整合性
楽観ロック・悲観ロックの使い分けとRDSを使った予約システムの整合性設計
Kata: 通知基盤 — マルチチャネル配信
Email/Push/SMSをSNS/SQS/SESで実現するマルチチャネル通知アーキテクチャ
Kata: ファイルアップロード — 大容量データの扱い
S3直接アップロードとLambdaを使った大容量ファイル処理アーキテクチャ
Kata: 検索エンジン — 全文検索の実装
ElasticsearchとOpenSearch Serviceを使った全文検索アーキテクチャの設計
Kata: マルチテナントSaaS — テナント分離戦略
スキーマ分離と行レベル分離の選択判断、RailsでのマルチテナントSaaS設計
エピローグ — 自分だけのKataを作る
アーキテクチャ思考の習慣化と、自分だけのKataを作り続けるための方法論