カナリアリリースフィーチャーフラグ
フィーチャーフラグを使用してカナリアリリースを設定し、より広範なロールアウト前にごく少数の実トラフィックで新機能をテストします。
Rollout Strategies
詳細な説明
フィーチャーフラグによるカナリアリリース
カナリアリリースは、すべてのユーザーに影響が及ぶ前に問題を検出するために、新機能を本番トラフィックのごく少数(通常1-5%)に公開します。炭鉱のカナリアにちなんで名付けられ、このパターンは問題の早期警告を提供します。
設定例
{
"new-payment-gateway": {
"name": "新しい決済ゲートウェイ",
"description": "Braintreeを置き換えるStripe統合",
"type": "boolean",
"enabled": true,
"defaultValue": false,
"targeting": [
{
"type": "percentage-rollout",
"percentage": 2
}
]
}
}
カナリアvs他のロールアウト戦略
| 戦略 | トラフィック | 目的 | 期間 |
|---|---|---|---|
| カナリア | 1-5% | 本番でのバグ検出 | 数時間〜1日 |
| ベータ | セグメントベース | フィードバック収集 | 数日〜数週間 |
| 段階的ロールアウト | 5% → 100% | リスク軽減 | 数日〜数週間 |
| ブルーグリーン | 0%または100% | ゼロダウンタイムデプロイ | 数分 |
カナリア中に監視するもの
カナリアグループvsコントロールの主要メトリクス:
├─ エラー率(HTTP 5xx)
├─ レイテンシー(p50, p95, p99)
├─ CPUとメモリ使用量
├─ ビジネスメトリクス(コンバージョン、収益)
├─ クライアントサイドエラー(JavaScript例外)
└─ ユーザー苦情/サポートチケット
ロールバック基準
以下の場合は即座にロールバック:
- エラー率がコントロールと比較して0.5%以上増加
- p99レイテンシーが100ms以上増加
- カナリアグループでSEV-1アラートが発火
- ユーザーあたりの収益が2%以上低下
ユースケース
フィンテック企業がBraintreeからStripeへ決済処理を移行中。カナリアフラグを2%で作成し、実際のトランザクションのごく一部をStripe経由でルーティング。24時間の監視で決済失敗やレイテンシーの増加がないことを確認後、10%に増加して段階的ロールアウトを継続。