カナリアリリースフィーチャーフラグ

フィーチャーフラグを使用してカナリアリリースを設定し、より広範なロールアウト前にごく少数の実トラフィックで新機能をテストします。

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%に増加して段階的ロールアウトを継続。

試してみる — Feature Flag Config Generator

フルツールを開く