← 概念辨析に戻る

Concept Contrast Fable

カナリアリリースとブルーグリーンデプロイ

先に結論:カナリアリリースは、まず少数のユーザーを新バージョンに載せ、しばらく問題がなければ徐々に拡大します。ブルーグリーンデプロイは、二つの完全な環境を用意し、旧環境を使用中、新環境を準備し、ワンクリックで切り替えます。一つは段階的な検証、もう一つは完全な隔離と迅速なロールバックを語っています。

カナリアリリースは、まず少数のユーザーを新バージョンに載せ、しばらく問題がなければ徐々に拡大します。ブルーグリーンデプロイは、二つの完全な環境を用意し、旧環境を使用中、新環境を準備し、ワンクリックで切り替えます。一つは段階的な検証、もう一つは完全な隔離と迅速なロールバックを語っています。

寓話

車線変更と橋の架け替え

城南に古い橋があり、架け替えが必要になった。交通局は二つの施工案を受け取った。第一案は「車線入れ替え」と呼ばれる。橋を封鎖せず、まず最も右側の車線を改修し、車の流れは残りの三車線を通る。右車線が直ったら開通させ、次に左から二番目の車線を封鎖し、順に交代していく。全行程で交通は途絶えないが、工期は長く、一車線に二か月、四車線で八か月かかる。

第二の方法は「橋を架け替える」:古い橋の隣に同じ新しい橋を同時に建設する。新橋が完成したら、ある午前三時にバリケードを移し、車両をすべて新橋に移し、古い橋を閉鎖して改修する。工期は合計四ヶ月だが、切り替えの夜には四時間の通行止めが必要である。

交通局が審査会を開いた。車線を替えることに賛成する人は言った。リスクが分散され、一区間で問題が出ても一車線にしか影響せず、全線麻痺にはならない。橋を替えることに賛成する人は言った。旧橋と新橋は物理的に隔離されており、どんな問題でも瞬時に切り戻せ、復旧時間は分単位で計算できる。

レビュー会議で、あるエンジニアが重要な質問をした。もし新しく舗装した路面に問題があれば、車線切り替え案では車がすでにその上を走っており、揺れのフィードバックはすぐに来るが、戻って舗装し直すしかなく、その戻すコストは一車線分の工期になる。橋の架け替え案では、新しい橋の路面が車両に踏まれていなければ、舗装が良いかどうかは検査報告に頼るしかなく、切り替えた後に問題が発覚すれば、橋全体の車が揺れる。

総監督が決断した:両案を残し、橋の状態で決める。構造上の危険が大きくいつ悪化してもおかしくない場合は橋の架け替え案——安全な予備の橋を用意し、いつでも切り替えられるようにする。路面の老朽化だけで構造に影響しない場合は車線変更——小範囲で試し、間違えても一小部分にしか影響しない。

その後、車線変更案の施工チームはトラブルに直面した。1車線を修復し終えたところ、新旧路面の接合部に沈下が見つかり、車両が通ると明らかに揺れた。彼らは直ちに残りの車線の施工を止め、まず接合部を処理してから続行した。1車線しか開放していなかったため、影響を受ける交通量は限られ、苦情件数は抑えられた。

橋の架け替え案も一度試練を経験しました:新しい橋への切り替え後、翌日に橋の伸縮継手から異音がし、検査で設置の偏差が確認されました。指揮センターは15分以内にすべての車流を古い橋に戻し、新しい橋は閉鎖して緊急修理を行いました。伸縮継手の問題で影響を受けた車は一台もありませんでした。

年末の交通局の総括で、副局長は八文字を言った:漸進的にリスクを制御し、隔離で切り替えを守る。二つの方案はどちらが優れているかではなく、あなたがゆっくり問題が起きることを心配するか、一気に問題が起きることを心配するかである。

カナリアリリース

段階的デプロイ戦略:まず新バージョンを一部のユーザー(例:5%)に開放し、指標が正常であることを監視してから徐々に比率を拡大し、全量まで進める。リスクは段階的に露出し、ロールバックは影響を受けたトラフィック部分を戻すだけで済む。

ブルーグリーンデプロイ

並行デプロイ戦略:2つの完全な環境(青=現行本番、緑=新バージョン)を維持し、新バージョンを緑環境にデプロイ・検証した後、ルーティング切り替えで全トラフィックを瞬時に緑環境へ転送する。ロールバックも瞬時に青環境へ戻す。

物語の対応

  • 車線変更:カナリアリリース——段階的に置き換え、小範囲で検証し、リスクを漸進的に露出させる。
  • 橋の架け替え:ブルーグリーンデプロイ——完全な並行環境、瞬時の切り替え、瞬時のロールバック。
  • 揺れのフィードバックの違い:カナリアの検証フィードバックは実トラフィックから来るが、ブルーグリーンの検証はテスト環境に依存する。
  • 橋の状況を見て方案を決める:リスク特性に応じて戦略を選ぶ——漸進的リスクにはカナリア、迅速な切り替えが必要ならブルーグリーン。
  • 継ぎ目の沈下事故:カナリアの利点——問題の影響範囲を制御できる。
  • 伸縮継手を十五分で切り戻す:ブルーグリーンの利点——ロールバック速度が速い。

プロジェクトに落とし込む

リリース戦略を選ぶときは三つ問う:ロールバックはどれくらい速く必要か(秒単位ならブルーグリーン、分単位ならカナリアも検討可)?インフラを二重に持つ予算はあるか(ブルーグリーンは二環境必要)?新バージョンの問題は小流量の検証で発見できるか(データ整合性やユーザー行動変化の類はカナリア向き)?よくある誤った決定は:ブルーグリーンの環境予算があるのにカナリアを選び、検証期間が長すぎてイテレーションを遅らせる。あるいは環境予算がないのにブルーグリーンを選び、リソースを浪費する。

京ICP备2026014272号