11 Architecture

12-factor App

1. コードベース

バージョン管理される1つのコードベースと複数デプロイ

2. 依存関係

依存関係を明示的に宣言し分離する

3.設定

設定を環境変数に格納する

4.バックエンドサービス

バックエンドサービスをアタッチされたリソースとして扱う

5. ビルド、リリース、実行

ビルド、リリース、実行の3つのステージを厳密に分離する

6.プロセス

アプリを1つ又は複数のステートレスなプロセスとして実行

7.ポートバインディング

ポートバインディングを通してサービスを公開する

8.並行性

プロセスモデルによってスケールアウトする

9. 廃棄容易性

高速な起動とグレースフル停止で堅牢性を最大化する

10. 開発/本番一致

開発、ステージング、本番環境をできるだけ一致させた状態を保つ

11. ログ

ログをイベントストリームとして扱う

12.管理プロセス

管理タスクを1回限りのプロセスとして実行する

Integration styles

※他サイトを参照

※他サイトを参照