Twelve-Factor App
クラウドネイティブなアプリのための12の原則。2011年にHerokuの共同創業者アダム・ウィギンズが示した。
ステートレスなプロセス、設定は環境変数に、開発環境と本番環境の一致など、現代のWebアプリ設計の聖典とされる。12項目は、コードベース、依存関係、設定、バックエンドサービス、ビルド/リリース/実行、プロセス、ポートバインディング、並行性、廃棄容易性、開発/本番の一致、ログ、管理プロセス。Heroku時代に作られたが色あせず、コンテナやKubernetesのベストプラクティスはほぼこれに沿う。拡張版にPivotal/VMwareの15ファクター(API ファースト、テレメトリ、認証を追加)がある。一方、「ステートレスなプロセス」はWebSocketやリアルタイム通信に合わず、「ログはイベントストリーム」という考えはOpenTelemetry以前のものだ。