リリース承認プロセス
1)責任の目的と領域
リリース承認プロセスは、SLO、収益、コンプライアンスに違反することなく、予測可能で安全なプラットフォーム変更を保証します。プルリクエストから完全プロモーション、prodおよびpost-monitoringまで、パス全体をカバーします。
2)原則
1.SLO-first: green SLI/no burn-rateでのみ許可されます。
2.小さいロットおよび可逆性:カナリア/進歩的な配達、速いロールバック。
3.Policy-as-Code:ゲート、SoD、フリーズウィンドウ、リスククラスが自動的に検証されます。
4.真実の単一のソース:artifacts/configs/flags-Gitでは、環境はGitOps-reconcilerによって与えられます。
5.監査と証明:WORMログ、意思決定トレイル、明確な所有者。
6.デフォルトでのセキュリティ:秘密、最小限の特権、ジオゲート。
7.驚きのないコミュニケーション:内部/外部アップデート用のテンプレートを用意しました。
3)役割とRACI
Release Manager (RM)-パイプラインの所有者、カレンダー、ゲート。A/R
サービスオーナー(SO)-ドメイン所有者、リスクを受け入れ、アーティファクトを準備します。A/R
SRE/プラットフォーム-SLOゲート、ロールアウト、自動ロールバック。R (R)
QAリード-検査戦略、テスト結果。R (R)
セキュリティ/コンプライアンス-スキャン、SoD、規制。C/A
CAB (Change Advisory Board)-通常クラスのソリューション。A (A)
通話中のIC/CL-インシデントと通信の準備ができています。R/C
ステークホルダー(Biz/Support/Partners)-お知らせ。私は、
4)クラスと承認パスの変更
アップグレード-リスク境界を越えた場合(支払い、RG、 PII、制限)。
5)解放のパイプラインおよびゲート(エンド・ツー・エンドの流れ)
ステージ0。スケジュールとカレンダー
フリーズウィンドウ(休日/試合)、スロットオンコールとCL、ステータステータステンプレートの準備ができています。
ステージ1。PR→ビルド
Linters/licenses、 SBOM、単位/契約テスト、秘密スキャン。
ステージ2。統合/セキュリティ
E2E(仮想PSP/KYCプロバイダ)、SAST/DAST、依存性レビュー。
ステージ3。ステージング/リハーサル
売上とのパリティ、可逆性のある移行、フィッシュフラグ5-25%、チェックリスト「リリースドリル」。
ゲートA-品質と安全性(必須)
+すべてのテスト/スキャン緑色
+schemes/configsは有効で、「red」 SLIステージングはありません
+リスクの高い変更のSoD/4-eyes
ステージ4。プリプロダクション(カナリア配送)
セグメント(テナント/ジオバンク)、ランタイムバリデータ、ガードレールによる1-5%のトラフィック。
ゲートB-SLO/ビジネスゲート
+SLO/KRI劣化なし(レイテンシ/エラー/ペイ)
+実験メトリックにSRM/異常はありません
+Comms ready: ドラフトのステータス/パートナー
ステージ5。ランプアップ→25%→100%(地域/テナント)
ポストモニタリングタイマーによるターンベースのプロモーション。
ステージ6。ポストモニタリング(30〜60分)
ダッシュボードの解放、燃焼率、苦情/チケット、違反の場合の自動閉鎖/ロールバック。
6)自動化ソリューション(ポリシーエンジン)
疑似ルール:- deny promote if slo_red in {auth_success、 bet_settle_p99}'
- PII-export: 'configの場合はdual_controlが必要です。影響=="PII_EXPORT"'
- Freeze: 'deploy if calendarを拒否します。freeze¬ emergency'
- ロールバック:'auto if auth_success_drop> 10% for 10m in geo=TR'
7)リリースアーティファクト
リリースマニフェスト(必須):ターゲット、リスククラス、リージョン(テナント/リージョン)、フラグ、移行、ローリングプラン、ロールバックプラン、オーナー、通話中の連絡先。
証拠パック:テスト結果/スキャン、ステージングダッシュボードのスクリーンショット、ドライラン移行。
Comms Kit:ステータステンプレート(内部/外部/パートナー)、ETA/ETR。
バックアウトプラン-ロールバックの正確なステップと、それがトリガーされる基準。
yaml release:
id: "2025. 11. 01-payments-v42"
owner: "Payments SO"
risk_class: "normal"
scope: { tenants: ["brandA","brandB"], regions: ["EU"] }
rollout:
steps:
- { coverage: "5%", duration: "20m" }
- { coverage: "25%", duration: "40m" }
- { coverage: "100%" }
migrations:
- id: "ledger_ddl_0042"
reversible: true flags:
- id: "deposit. flow. v3"
guardrails: ["api_error_rate<1. 5%","latency_p99<2s"]
rollback:
autoIf:
- metric: "auth_success_rate"
where: "geo=TR"
condition: "drop>10% for 10m"
8)カナリア/青緑/特徴旗の圧延
カナリア-安全なデフォルト:小さなカバレッジ、GEO/テナント/BINによるセグメンテーション。
ブルーグリーン-重い変更の場合:ルートスイッチング、クイックロールバック。
フラグ-行動機能のために:TTL、キルスイッチ、ガードレール、SoD。
9)構成と秘密の管理
データ、回路、バリデータとして構成されます。ドリフト検出器を使用したGitOpsプロモーション。
秘密-KMS/Secret Manager、 JITアクセス、監査、マスキング。
10)コミュニケーションとステータスページ
内部:var-room/chat、通話中の通知、更新テンプレート。
外部:CLを介してのみ出版物、事前に準備されたドラフト。
パートナー(PSP/KYC/studios):インテグレーションが影響を受けると、対象となる通知。
ステータス:リリースはインシデントではありませんが、メトリック付きの監視ウィンドウがあります。
11)緊急リリース(緊急)
トリガー:P1の劣化、脆弱性、PII/RGリスク。
パス:IC+RMソリューション→ゲートの最小セット(linter/assembly)→カナリア1-2%→モニタリング→プロモーション。
必須:post-factum CAB、 post-mortem ≤ D+5、妥協のドキュメント。
12)監査、SoDおよびコンプライアンス
SoD/4-eyes: PSPルーティングの変更、ボーナス制限、データのエクスポート。
WORM-journal: who/what/when/why;ポリシーバージョン;diff release/flags/configs。
Geo/Privacy:所望の管轄区域のデータとログ。アーティファクトにPIIがない。
13)観察可能性およびポストコントロール
リリースダッシュボード:SLI (auth-success、 bet→settle p99)、エラー率、苦情、変換、キューラグ。
アラート:バーンレート、SRM、 5xxの成長、銀行/GEOによるPSPの劣化。
レポート:CFR、 MTTRリリースインシデント、平均ポストモニタリング時間、自動ロールバック率。
14)プロセスKPI/KRI
変更のリードタイム(PR→prod)、 Change Failure Rate、 MTTRリリースインシデント。
SLOゲートのパス・レート、自動ロールバック・レート、凍結の承諾。
リリースドリル(ステージングリハーサル)、SoD違反のカバレッジ(目標-0)。
Comms SLA(ドラフトの可用性、タイミングの遵守)。
15)実装ロードマップ(6-10週間)
ネッド。1-2:変更クラス、ゲート、アーティファクトを定義する。linters、 SBOM、シークレットスキャンを有効にします。カレンダーを解放し、凍結して下さい。
ネッド。3-4: configs、 canary/blue-green、 SLOゲート、Commsテンプレート、varルーム用のGitOps。
ネッド。5-6:ポリシーエンジン(SoD/4-eyes、リスクルール)、メトリクスによる自動ロールバック。ダッシュボードリリース。
ネッド。7-8:リハーサル(ステージングドリル)、phicheflags/incident-botとの統合、KPI/KRIレポート。
ネッド。9-10: WORM監査、リリースDRドリル、CFR最適化、ロールトレーニング(RM/SO/CL/IC)。
16) Antipatterns
リバーシビリティとカナリア→マスインシデントのないリリース。
「締め切りのために」SLOゲートを無視してください。
configs/flags without circuits and TTL→「frozen」 states。
Git/監査なしでセールスを手動でクリックします。
CLの役割とテンプレートのない公開更新。
リポジトリ内の秘密;JITとログなしでアクセスできます。
データフリーブレーキとしてのCAB:決定はリリースメトリックでバックアップする必要があります。
合計
リリース承認プロセスは、品質、安全性、スピードをつなぐエンジニアリングおよび管理フレームワークです。コード、SLOゲート、プログレッシブデリバリー、透明なコミュニケーション、実証可能な監査などのポリシーです。このアプローチにより、CFRとMTTRを削減し、収益とコンプライアンスを保護し、チームは頻繁かつ安全に価値をリリースすることができます。