11 Architecture
12-factor App
1. コードベース
バージョン管理される1つのコードベースと複数デプロイ
2. 依存関係
依存関係を明示的に宣言し分離する
3.設定
設定を環境変数に格納する
4.バックエンドサービス
バックエンドサービスをアタッチされたリソースとして扱う
5. ビルド、リリース、実行
ビルド、リリース、実行の3つのステージを厳密に分離する
6.プロセス
アプリを1つ又は複数のステートレスなプロセスとして実行
7.ポートバインディング
ポートバインディングを通してサービスを公開する
8.並行性
プロセスモデルによってスケールアウトする
9. 廃棄容易性
高速な起動とグレースフル停止で堅牢性を最大化する
10. 開発/本番一致
開発、ステージング、本番環境をできるだけ一致させた状態を保つ
11. ログ
ログをイベントストリームとして扱う
12.管理プロセス
管理タスクを1回限りのプロセスとして実行する
Integration styles
※他サイトを参照
★Enterprise Integration Patterns
http://camel.apache.org/enterprise-integration-patterns.html
※他サイトを参照