漸進式發布(Canary / Blue-Green)

★★★★★Reviewed

FromContinuous Delivery30 Days of GitLab

📚 From the Books

漸進式發布(Canary / Blue-Green)Deployment & Delivery

大爆炸式一次換掉全部,等於把每次部署都當賭注。漸進式發布把「部署」和「釋出給使用者」拆開:先給一小撮流量、盯著指標、沒事再放大,有事就秒回滾。把風險從「全站」縮到「金絲雀」。

🧠 Intuition

TIP

部署(deploy)≠ 釋出(release)。新版本可以先上線但不收流量,再用旗標/路由「一格一格」把使用者導過去。回滾就是把路由切回舊版,不必重新部署。

⚖️ Tradeoffs

Blue-Green — 切換快、資源貴
  • 優點:瞬間切換、瞬間回滾;上線前可在 green 完整煙霧測試。
  • 代價:要維持兩套等量環境(成本);資料庫遷移必須向後相容,否則切回 blue 會炸。
  • 適合:希望「乾淨整批切換」、且能負擔雙環境的服務。
Canary — 風險最小、流程最重
  • 優點:真實流量小範圍驗證,爆炸半徑最小;可綁 error budget 自動 gate。
  • 代價:需要分流路由、分版本指標、自動分析(新舊版 SLI 比對);DB/相依也要相容兩版本並存。
  • 適合:高流量、追求最小風險、有成熟可觀測性與自動化的團隊。

🔑 Takeaways

✍️ My Notes

No notes yet — jot your takeaways or Q&A here.

📖 Further Reading