![見出し画像](https://assets.st-note.com/production/uploads/images/147069451/rectangle_large_type_2_3ae4f23509c46c1a921cece8d67ffc0b.png?width=1200)
クラウド環境で動作するWebアプリケーションを開発するためのベストプラクティス集:Twelve-Factor Appとは?
概要
Twelve-Factor Appとは、クラウド環境で動作する現代的なWebアプリケーションを開発する際のベストプラクティスをまとめたガイドラインです
2011年にHeroku社の開発者によって提唱されました
このガイドラインは12の要素で構成されており、これらに従うことでスケーラブルで保守性の高いアプリケーションを開発できるとされています。
簡単に各要素を説明します:
コードベース:一つのコードベースを複数の環境にデプロイ
依存関係:明示的に依存関係を宣言し分離する
設定:環境変数に設定を格納する
バックエンドサービス:バックエンドサービスをアタッチされたリソースとして扱う
ビルド、リリース、実行:ビルド、リリース、実行の3つのステージを厳密に分離
プロセス:アプリケーションを1つもしくは複数のステートレスなプロセスとして実行
ポートバインディング:ポートバインディングを通じてサービスを公開
並行性:プロセスモデルによってスケールアウト
廃棄容易性:高速な起動と安全なシャットダウンで堅牢性を最大化
開発/本番一致:開発、ステージング、本番環境をできるだけ一致させる
ログ:ログをイベントストリームとして扱う
管理プロセス:管理/メンテナンスタスクを1回限りのプロセスとして実行
え、チップくれるん? ありがとうなぁ! この恩は3日ぐらい忘れへんから🫡