コンテンツにスキップ

SaaS Architecture Review Navigator

なぜこれが存在するのか?: Read the Manifesto

分散システム設計における思考の盲点を減らすための、設計観点ナビゲーター 実務でよく聞かれる質問・盲点も交えながら、設計品質を上げる観点を体系的にまとめる試みです 50+ perspectives / 12 categories / 2 structural levels — all mapped and linked.


🧭 これは何?

このドキュメントは、SaaSの現場で必要と思われる設計観点を体系化したものです

イベント駆動・非同期設計・マルチテナント対応・分散トランザクション・災害対策など、現代的な分散型SaaSに求められる領域を概ねカバーしていると思います

  • ドメインモデル
  • データ構造 & 整合性
  • API 設計 & スキーマ
  • イベント駆動
  • パフォーマンス & スケーラビリティ
  • 認証認可 & セキュリティ
  • テスト & リリース
  • 可用性 & 障害対応
  • 非機能 & 運用要件

各観点は「背景・概要」「例」「よくある失敗例」「FAQ」「関連観点」によって構成されており、現実の実務に耐えるよう設計しています

  • 🔍 背景・概要
  • ✅ 例
  • ⚠️ よくある失敗例
  • ❓ FAQ
  • 🔗 関連観点

🧠 Human カテゴリって?

純粋な技術観点から一歩踏み出し、それを支えるもの

  • 個人の成長を “システム” として設計する
  • 自律的な改善ループを回す
  • メンター/リーダー育成を仕組み化する

といった 人間面の設計フレームワーク を設計しました 技術チェックリストとは少し毛色が違いますが、「エンジニアの長期的成長を加速する足場」としてご活用ください


🚀 使い方 3 パターン

1. 設計や実装フェーズで

  • ナビゲーションマップ から関連カテゴリを開き、設計やコードを書く前に問いをチェック
  • .md ファイルの質問や例を設計資料に引用しながら活用する

2. レビュー中に

  • PR やレビュー用テンプレに、該当 .md へのリンクを貼って共通チェックリストに
  • チェックリストとしてレビュアーと著者間の共通言語にする

3.障害やインシデント後に

availability/non-functional/ を参照して、復旧戦略や監視の観点を洗い直す


📂 カテゴリ一覧

  • 🧩 Common — design reasoning, tradeoff clarity
  • 🏷️ Domain — abstraction, constraints, permissions
  • 📦 Data — schema lifecycle, migration, indexing
  • 🌐 API — contract design, versioning, authz
  • 🔁 Event — async design, retries, fallout zones
  • 📊 Performance — latency, scale, resource limits
  • 🎨 UI — rendering cost, notification design
  • 🧪 Test — boundary tests, load, acceptance
  • 🚀 Release — rollout strategy, rollback design
  • 🔰 Availability — failure response, backup, recovery
  • 🛡 Non-functional — monitoring, security, ops
  • 🔐 Security — authn/authz, sensitive data
  • 🧠 Human — growth systems, reflection, mentorship

🧩 Structural Levels

  • Structure: 設計の基本構造や責務分離、原則的判断を扱います
  • DeepDive: パフォーマンス、非同期、障害系などの高難度・境界領域を扱います

🧠 設計哲学

これはチュートリアルではなく「問いのカタログ」です
書く前に “いい質問” を投げる ための道具です 初心者からアーキテクトクラスでも学びがあるよう設計しているので、ぜひ有効活用してください


💬 Meta

  • Created by Kanaria
  • 日本語で執筆 → AI と二人三脚で英訳
  • Licensed under MIT
  • Contributions welcome (see CONTRIBUTING.md)