Twelve-Factor App (スケーラブルなアプリケーションのための12の設計原則)

Architecting

本家はこちら

アプリケーションのソフトウエアアーキテクチャを考えるうえで、非常に重要な点なので、めもめも…

  • I. コードベース
    • バージョン管理されている1つのコードベースと複数のデプロイ
  • II. 依存関係
    • 依存関係を明示的に宣言し分離する
  • III. 設定
    • 設定を環境変数に格納する
  • IV. バックエンドサービス
    • バックエンドサービスをアタッチされたリソースとして扱う
  • V. ビルド、リリース、実行
    • ビルド、リリース、実行の3つのステージを厳密に分離する
  • VI. プロセス
    • アプリケーションを1つもしくは複数のステートレスなプロセスとして実行する
  • VII. ポートバインディング
    • ポートバインディングを通してサービスを公開する
  • VIII. 並行性
    • プロセスモデルによってスケールアウトする
  • IX. 廃棄容易性
    • 高速な起動とグレースフルシャットダウンで堅牢性を最大化する
  • X. 開発/本番一致
    • 開発、ステージング、本番環境をできるだけ一致させた状態を保つ
  • XI. ログ
    • ログをイベントストリームとして扱う
  • XII. 管理プロセス
    • 管理タスクを1回限りのプロセスとして実行する
タイトルとURLをコピーしました