金絲雀部署

是什麼

金絲雀部署是一種部署策略,一開始有兩個環境:一個目前有即時流量的環境和一個目前無即時流量且已更新程式碼的環境。 流量會逐漸從應用程式的原始版本轉移到更新後的版本。 它可以從 1% 的流量開始,然後是 10%、25% 等等,以此類推,直到所有流量都轉移到已更新的版本。 企業可以在正式環境中測試新版本的軟體,獲得回饋、錯誤診斷,並在必要的時候可以快速退回到穩定版本。

「金絲雀」這詞是指「礦坑中的金絲雀」的做法,把金絲雀帶入礦坑中確保礦工們的安全。 如果出現無味的有害氣體,這隻鳥就會死亡,礦工們知道他們必須儘速離開。 同樣地,如果更新後的程式碼出現問題,即時流量就會被"撤離"回原始版本中。

解決的問題

無論測試策略有多嚴謹,總是會在正式環境中會發現一些錯誤。 將 100% 流量從應用程式的一個版本完全切換到另一個版本,可能會導致更嚴重的失敗。

如何幫助我們

金絲雀部署讓企業在大量流量轉移到新版本以前,可以查看新版本軟體在實際場景中使用的情形。 這種策略讓企業能夠最大限度地減少停機時間,並在新部署出現問題時快速退回上個版本。 它允許更深度的正式應用程式測試,而不會對整體使用者體驗產生重大影響。