generated at
Twelve-Factor App

いい感じのwebアプリになる設計手法のまとめ

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