成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

金絲雀部署的詳細指南

譯文 精選
開發(fā) 架構 測試
本文將向您介紹有關金絲雀部署的基本概念、不同的階段、可以實現(xiàn)的好處,以及它們與AWS、ECS上的藍/綠部署的不同之處。

譯者 | 陳峻

審校 | 孫淑娟

在構建企業(yè)級應用時,我們往往希望能夠給客戶帶來無缺陷的使用體驗。不過,我們無法保證每次部署新的代碼,都不會出現(xiàn)bug。為此,軟件項目團隊需要通過精心設置部署過程,實現(xiàn)在新的應用版本影響用戶之前,能夠從更高的維度識別出bug。

在眾多部署方法中,金絲雀(Canary)部署能夠通過實現(xiàn)無縫、無缺陷的應用發(fā)布,來確保用戶的完美體驗。下面,我將向您介紹有關金絲雀部署的基本概念、不同的階段、可以帶來的好處,以及它們與AWS、ECS(Elastic Compute Service)上的藍/綠部署的不同之處。

什么是金絲雀部署

從概念上說,金絲雀部署是通過在允許每個用戶能夠訪問統(tǒng)一的軟件版本之前,將更新的版本緩慢地分發(fā)給一小部分用戶,從而降低在生產環(huán)境中直接引入軟件更新的風險。

簡單而言,這是一種分階段式的發(fā)布實踐。其基本思想是:先向一小部分用戶推送軟件的更新,以便他們可以對更新進行測試,并提供反饋,直到他們能夠順利地接受了新的版本,最終再將該更新發(fā)布給其他的用戶。

在典型的金絲雀部署中,被引導至新版本的用戶流量,是分階段遞增的。而且,每個階段都需要完成效果驗證之后,才能進入下一個階段。

什么時候可以使用金絲雀部署策略

  • 在您對平臺的穩(wěn)定性、以及發(fā)布軟件的某個新版本可能帶來的影響,缺乏信心時;
  • 當您希望由用戶來測試應用的新版本、以及它與平臺的集成狀況時;
  • 當您希望將任何錯誤或不良的部署,控制在相對有限的范圍內,并且可以及時修復可能給用戶造成負面影響時。

金絲雀部署都將是您最好的選擇。

金絲雀部署的各個階段

如前文所述,一個典型的金絲雀部署會以分階段遞增的方式,不斷通過部分用戶的測試與反饋,來促進全面發(fā)布。通常,金絲雀部署包含了如下三個階段:

1.計劃與構建

該階段涉及到構建一個部署了最新軟件版本的金絲雀基礎設施。其中,一部分的用戶流量會被發(fā)送到該金絲雀實例上,而大多數用戶仍然會繼續(xù)使用生產環(huán)境中的基線實例。

2.分析

針對被轉移到金絲雀實例中的用戶流量,項目團隊會收集各種指標數據、日志、來自各種網絡流量監(jiān)控器的信息、以及來自合成事務(synthetic transaction)監(jiān)控器的結果,以識別和判定新的金絲雀實例是否能夠正常工作。在實際操作中,軟件項目團隊會分析各種收集到的數據,并將結果與基線版本進行比較。

3.部署

在金絲雀分析完成后,團隊將決定是繼續(xù)發(fā)布該版本、并推出給其余用戶呢,還是回滾到以前的基線狀態(tài)、以解決發(fā)現(xiàn)的問題。

金絲雀部署的好處

作為一種有效且有益的發(fā)布策略,金絲雀部署可以給我們帶來如下好處:

  • 對功能性部署的精細控制

執(zhí)行較小且定期的功能性部署,能夠降低由于錯誤而對整個工作流造成中斷的風險。也就是說,如果您的團隊能夠及時識別到金絲雀部署中的錯誤的話,那么只有少數能夠接觸到新版本的用戶會受到影響,并且這通常是團隊可以輕松解決的一個小問題。

  • 真實場景測試

作為一種折中策略,金絲雀部署引入了小規(guī)模的真實場景測試,可有效地避免將全新的應用直接推向生產環(huán)境,讓全體用戶都被迫地接受風險。

  • 零生產環(huán)境的宕機時間和更快的回滾

一旦新發(fā)布的軟件版本,在小部分用戶的試用過程中出現(xiàn)問題,項目團隊就可以迅速回滾,然后將這部分流量重新路由回基線。同時,他們能夠將錯誤的版本迅速下線,以便DevOps團隊確定根本原因,解決問題,按需引入下一輪金絲雀部署。

  • 讓小型基礎設施成本更低

由于金絲雀部署只是在一小部分用戶上運行,因此DevOps團隊只需要為此準備一個小的基礎設施,從而降低了開發(fā)過程、乃至整個項目的成本。

  • 靈活地探索新功能

由于金絲雀的實例首先僅在少量用戶流量上進行測試,因此它對于整個組織的用戶體驗和基礎設施的影響可謂最小。也正因為如此,開發(fā)人員可以靈活地構建和試驗新的特性,而不必擔心對用戶體驗造成任何直接的影響或結果。

什么是藍/綠部署?

藍/綠部署也是一種將新的代碼發(fā)布到生產環(huán)境中的部署技術。該策略的目的是簡化更新的回滾,減少軟件的宕機時間,避免應用程序的服務中斷,進而滿足所有關鍵性服務的運行時間要求。

藍/綠部署使用兩個完全相同的生產環(huán)境,其中的一個會主動為用戶提供服務,另一個環(huán)境則被設置為空閑。軟件的更新版本會被直接推送到主生產環(huán)境中,并被監(jiān)視是否有bug的產生。而空閑的環(huán)境只是作為一個備份,僅在錯誤發(fā)生時,將用戶流量路由到那里。

金絲雀與藍/綠部署的比較

無論是金絲雀部署、還是藍/綠部署策略都需要在執(zhí)行部署之前的計劃階段,對業(yè)務應用和生產環(huán)境的體系結構進行各種預先的規(guī)劃和考慮。其中,藍/綠部署為IT團隊提供了一次性將待推出的新版本,推送到生產環(huán)境中,并予以測試的機會。它方便了IT團隊將所有用戶統(tǒng)一地切換到新的版本上。而金絲雀部署則是分階段的發(fā)布方式。它對于需要在每個新版本中更新應用的需求,十分友好。

AWS或ECS上的藍綠色部署,往往需要大量的預算,來滿足大型基礎設施的需求,因為IT團隊通常需要維護兩套完全相同的托管環(huán)境。正是因為這個原因,那些資源有限、或以應用模塊化和配置驅動的企業(yè),更趨向于選擇金絲雀部署。

譯者介紹

陳峻 (Julian Chen),51CTO社區(qū)編輯,具有十多年的IT項目實施經驗,善于對內外部資源與風險實施管控,專注傳播網絡與信息安全知識與經驗。

原文標題:??A Detailed Guide to Canary Deployment??,作者:Ruchita Varma

責任編輯:華軒 來源: 51CTO
相關推薦

2022-02-17 13:09:55

金絲雀部署服務集群測試

2021-07-29 05:09:54

Linkerd金絲雀部署Flagger

2021-07-13 06:35:11

Argo Rollou GitOpsKubernetes

2024-04-01 13:04:01

停機部署滾動部署藍綠部署

2021-06-15 05:52:33

Linkerd canary網絡技術

2023-10-08 07:34:04

2021-10-08 20:12:22

微服務架構Service

2022-08-22 10:40:40

Kubernete部署分析運行

2021-02-28 07:52:24

蠕蟲數據金絲雀

2021-06-03 05:48:58

GitOps 云原生Kubernetes

2024-01-18 08:24:08

2025-03-04 08:53:10

2022-08-15 20:48:28

Chrome安卓網頁

2013-11-01 11:00:10

2021-10-14 18:21:52

架構IstioService

2015-08-20 10:49:39

Windows 10版本

2023-09-05 07:24:33

Traefik加權輪詢

2023-11-09 07:23:57

Istio路由分析

2024-11-13 10:30:00

機器學習算法

2024-05-10 07:31:32

IIS應用程序.NET Core
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91视频进入| 91看片在线 | 日本精品视频在线观看 | 亚洲国产网站 | 久久久久久久久久久久久久av | 成人不卡一区二区 | 美女在线观看av | 日本午夜网 | 日韩欧美三级 | 一级免费毛片 | 久久国产精品一区二区三区 | 国产福利视频网站 | 成人国产精品久久久 | a欧美 | 久热久草 | 精品一区二区电影 | www.欧美视频 | 亚洲精品乱 | 日韩电影在线 | 国产精品99久久久久久宅男 | 欧美日韩高清在线一区 | 日韩中文字幕在线视频 | 欧美在线a| 久久国产精品免费一区二区三区 | 久久大陆 | 一区二区三区亚洲精品国 | 精品一区二区观看 | 不卡在线视频 | 亚洲一区二区三区免费在线观看 | 91成人在线视频 | 欧美在线一区二区三区 | 亚洲人在线播放 | 麻豆一区一区三区四区 | 国产91在线观看 | 不卡一区二区三区四区 | 中文字幕第一页在线 | 综合精品久久久 | 一级黄色毛片免费 | 成人一区二区三区在线观看 | 一区二区三区视频 | 亚洲欧美视频 |