112件のフレームワーク
ADL(アーキテクチャ決定ログ)
ADRを時系列管理し設計判断を組織知に
イベントモデリング
時系列イベントでシステム全体の振る舞いを設計
インシデント・コミュニケーション
障害時の社内外への情報発信とステークホルダー管理の体系的手法
カオスゲームデー
計画的障害注入でシステム耐障害性を検証するイベント型演習
キャパシティプランニング
サービス成長予測とインフラリソースの事前確保で安定稼働を実現する手法
コントラクトファースト設計
API仕様を最初に定義してから実装する開発アプローチ
テクニカルデット象限
意図的/無意図×慎重/無謀の2軸で技術的負債を分類・管理する思考ツール
トイルバジェット
手作業の上限を設定し自動化投資の判断基準に
ブラストレディアス縮小
障害影響範囲を最小化する設計パターン集
モノレポ戦略
単一リポジトリで複数プロジェクトを管理する利点・課題と導入判断
ランブック
定型運用手順をドキュメント化し属人化排除
進化的アーキテクチャ
フィットネス関数で品質を守りつつ進化
APIゲートウェイパターン
クライアントとマイクロサービス群の間に玄関口を1つ置き、ルーティング・認証・レート制限などの横断的関心事を集約するアーキテクチャパターン。導入判断から設計手順までを解説。
BFF(Backends for Frontends)
フロントエンドごとに専用バックエンドAPIを用意
DORA指標(実践ガイド)
Googleが支援するDORAチームが定義した4つのソフトウェアデリバリー指標。デプロイ頻度・リードタイム・変更失敗率・復旧時間でチームの能力を測る
DX(開発者体験)
開発者の生産性と満足度を計測・改善する
STRIDE脅威モデリング
6分類で脅威を体系的に洗い出すセキュリティ
アーキテクチャ・フィットネス関数
パフォーマンス・セキュリティ・結合度などアーキテクチャの特性を数値で評価し、CI/CDで自動検証し続けるフレームワーク。コードにユニットテストがあるように設計にもテストを書く手順を解説。
サービスレベル目標(SLO)
SLI/SLO/SLAの設計と運用でサービス品質担保
バーティカルスライスアーキテクチャ
機能単位で全層を縦に切るアーキテクチャ
バーティカルスライス設計(詳細)
機能単位でレイヤーを縦断する設計手法
インシデント管理フレームワーク
障害対応の型を定め平均復旧時間を短縮
インフラ信頼性設計
冗長性・フェイルオーバー・自動修復を組み込んだ基盤
エラーバジェット
SLOから逆算した許容障害量でリリース速度と信頼性のバランス
データベースレプリケーション
読み取り性能と可用性を向上させるDB複製戦略
エンジニアリング・エフェクティブネス
開発組織全体の有効性を多角的に測定・改善
エンジニアリング・ロードマップ
技術投資の優先順位と時間軸を明示する計画手法
エンジニアリングメトリクス
DORA指標を超えた開発生産性の多角的測定
エンジニアリングラダー
技術職のキャリアパスと期待値を明文化
エンジニアリング生産性メトリクス
DORA・SPACE等の複合的生産性測定
エンジニアリング投資配分
新機能・改善・負債返済・インフラへの投資比率設計
ゴールデンシグナル
レイテンシ・トラフィック・エラー率・飽和度の4指標監視
オニオンアーキテクチャ
依存性を内向きに制限する同心円型設計
ポート&アダプター
外部依存を抽象化し交換可能にする設計手法
オンコール管理
障害対応当番制度の設計・ローテーション・燃え尽き防止
クラウドコスト最適化
クラウドインフラの無駄を削減しコスト効率最大化
コマンドクエリ分離原則(CQS)
副作用のある操作と問い合わせを分離する
システム設計レビュー
大規模変更前の体系的な設計審査プロセス
スロットリングパターン
リクエストレート制限でリソース消費を制御
ゼロトラスト・アーキテクチャ
全通信を検証する境界なきセキュリティ設計
テクニカルデット優先順位付け
技術的負債を影響度・利子率で定量評価し返済順序決定
テックレーダー
技術の採用・試用・評価・保留を4象限で管理
デプロイメント・ロールバック戦略
障害発生時に安全かつ迅速に前バージョンへ戻す手法
デプロイメント戦略比較
ローリング・カナリア・ブルーグリーン等の選択指針
パフォーマンスバジェット
読込速度の許容上限を設定し品質を維持
ビルド vs バイ判断フレームワーク
自前開発と外部導入の意思決定基準を体系化
プラットフォームチームモデル
内部プラットフォーム提供チームの構築・運営
プログレッシブ・デリバリー
カナリア→リング→GAの段階的リリース戦略
マイグレーション戦略
レガシーから新システムへの移行パターンと段階的実行
モジュラーモノリス
モジュール境界を明確にした単一デプロイ構成
リリースエンジニアリング
ビルド→テスト→デプロイの信頼性と速度を工学的に設計
リポジトリパターン(DDD)
永続化の詳細を隠蔽する集約のアクセス手法
開発者オンボーディング
新メンバーの立ち上がり時間短縮の仕組みと環境整備
境界づけられたコンテキストマッピング
ドメイン間の関係性を可視化するDDD手法
集約設計(DDD)
トランザクション整合性の境界を定めるDDD手法
ADR(アーキテクチャ決定記録)
アーキテクチャ上の重要な意思決定を構造化して記録し、将来のチームに「なぜその決定をしたか」を伝える手法
APIバージョニング
APIの後方互換性を維持しながら進化させるためのバージョン管理戦略
API設計原則
使いやすく、一貫性があり、拡張可能なAPIを設計するための原則とベストプラクティス
BFFパターン(Backend for Frontend)
フロントエンドごとに専用のバックエンドを設けることで、UIに最適化されたAPIを提供するパターン
CI/CD
コードの統合・テスト・デプロイを自動化し、高品質なソフトウェアを高頻度でリリースするプラクティス
CQRS(コマンドクエリ責務分離)
データの読み取りと書き込みのモデルを分離し、それぞれに最適化されたアーキテクチャを実現するパターン
DRY原則
Don't Repeat Yourself — 同じ知識やロジックを2箇所以上に書かず、一元管理するための原則
GitOps
Gitリポジトリを唯一の信頼源として、インフラやアプリケーションの宣言的な管理とデプロイを自動化する運用手法
Gitフロー
main/develop/feature/release/hotfixの5種類のブランチで、リリースサイクルを管理するブランチ戦略
GraphQL設計原則
クライアントが必要なデータだけを効率的に取得できるAPI設計のための原則とベストプラクティス
Infrastructure as Code
インフラ構成をコードとして管理し、再現性・自動化・バージョン管理を実現するプラクティス
KISS原則
Keep It Simple, Stupid — 不必要な複雑さを排除し、できるだけシンプルな設計を目指す原則
Sagaパターン
分散システムにおける長時間トランザクションを、補償アクションで一貫性を保ちながら実現する設計パターン
SOLID原則
オブジェクト指向設計の5つの基本原則で、変更に強く拡張しやすいコードを書くためのガイドライン
SRE原則
ソフトウェアエンジニアリングの手法で運用問題を解決し、信頼性をシステマティックに管理するGoogleの運用哲学
Twelve-Factor App
クラウドネイティブなSaaSアプリを構築するための12の方法論。移植性とスケーラビリティを高める
サーバーレスアーキテクチャ
サーバー管理を不要にし、イベント駆動で関数単位の実行とスケーリングを実現するアーキテクチャ
サーキットブレーカーパターン
障害の連鎖を防ぐために、呼び出し先の異常を検知して一時的に通信を遮断する耐障害パターン
サービスメッシュ
マイクロサービス間の通信をインフラ層で統一的に管理する通信制御アーキテクチャ
イベントソーシング
状態ではなくイベントの履歴を保存することで、システムの完全な変更履歴を保持するアーキテクチャパターン
イベント駆動アーキテクチャ
システム間の通信をイベント(出来事)の発行と購読で行い、疎結合で拡張性の高いシステムを構築するパターン
データベースマイグレーション
データベースのスキーマ変更をバージョン管理し、安全かつ再現可能にデプロイする手法
データベース設計
データの整合性、パフォーマンス、拡張性を兼ね備えたデータベースを設計するための原則と手法
データメッシュ
データの所有権をドメインチームに分散し、データをプロダクトとして扱う分散型データアーキテクチャ
レートリミティング
APIやサービスへのリクエスト数を制限し、過負荷やサービス乱用を防ぐ保護メカニズム
コードレビュー手法
他の開発者のコードを体系的にレビューし、品質向上・知識共有・バグ防止を実現するプラクティス
オブザーバビリティの3本柱
ログ・メトリクス・トレースの3つの信号で、システムの内部状態を外部から把握する手法
カオスエンジニアリング
本番環境に意図的に障害を注入し、システムの弱点を事前に発見・改善する実践手法
カナリアリリース
新バージョンを一部のユーザーにだけ先行公開し、段階的に展開範囲を広げるリリース戦略
キャッシング戦略
頻繁にアクセスされるデータを高速な記憶領域に保存し、レスポンスタイムとスケーラビリティを改善する手法
クリーンアーキテクチャ
依存関係を内側に向けることで、変更に強く保守しやすいシステムを設計するアーキテクチャパターン
グレースフルデグラデーション
システムの一部が障害を起こしても、機能を縮退させながらサービス全体を維持する設計手法
コンテナオーケストレーション
コンテナ化されたアプリケーションのデプロイ、スケーリング、運用を自動化する管理手法
コントラクトテスト
サービス間のAPI契約を自動テストで検証し、互換性の破壊を早期に検出する手法
シフトレフトテスト
テスト活動を開発プロセスの早期段階に前倒しし、品質を作り込むテスト戦略
ストラングラーフィグパターン
レガシーシステムを段階的に新システムへ移行する、リスクを最小化したモダナイゼーション手法
セキュリティバイデザイン
開発の最初からセキュリティを組み込み、後付けではなく設計段階で脆弱性を防ぐアプローチ
ゼロトラストアーキテクチャ
ネットワークの内外を問わず、すべてのアクセスを検証・認可するセキュリティモデル
ソフトウェアアーキテクチャパターン
システム全体の構造を決定する代表的なアーキテクチャパターンの概要と選定指針
テスト駆動開発(TDD)
テストを先に書き、テストが通るコードを後から書く開発手法。Red→Green→Refactorのサイクルで品質を担保する
ドメイン駆動設計(DDD)
ビジネスドメインの知識を中心にソフトウェアを設計し、ビジネスとコードの距離を縮める手法
トランクベース開発
全員が1つのメインブランチに頻繁にコミットし、長期ブランチを作らないブランチ戦略
バルクヘッドパターン
システムのリソースを区画化し、障害の影響範囲を限定する耐障害パターン
フィーチャートグル
コードのデプロイとリリースを分離し、設定変更だけで機能のON/OFFを制御する開発手法
フィーチャーブランチ戦略
機能ごとに独立したブランチを作成し、レビュー後にメインブランチにマージするGit運用戦略
ブルーグリーンデプロイメント
本番環境を2面用意し、切り替えるだけでリリースとロールバックを瞬時に行うデプロイ戦略
プラットフォームエンジニアリング
開発者が自律的に開発・デプロイできるセルフサービス基盤を構築し、開発者体験を向上させる手法
ペアプログラミング
2人1組でリアルタイムにコードを書く開発手法。コード品質と知識共有を同時に実現する
ヘキサゴナルアーキテクチャ
ポートとアダプターで外部依存を切り離し、ビジネスロジックを中心に据えるアーキテクチャ
マイクロサービスアーキテクチャ
システムを小さな独立したサービスに分割し、それぞれを独立してデプロイ・スケールできるアーキテクチャ
モニタリングとオブザーバビリティ
メトリクス・ログ・トレースの3本柱でシステムの状態を可視化し、障害の予防と迅速な対応を実現する
モブプログラミング
チーム全員で1台のパソコンに向かい、同じ問題を同時に解決する開発手法
リトライパターン
一時的な障害に対して自動的に再試行を行い、システムの回復力を高める耐障害パターン
技術的負債管理
短期的な速度を優先して蓄積した設計・実装上の妥協を可視化し、計画的に返済していくマネジメント手法
負荷テスト手法
本番想定のトラフィックをシミュレーションし、システムの性能限界と改善点を発見するテスト手法
分散トレーシング
マイクロサービスをまたぐリクエストの流れを追跡し、ボトルネックや障害の原因を特定する手法
冪等性パターン
同じ操作を何度実行しても結果が変わらないように設計し、リトライや重複リクエストに安全に対処するパターン