偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

金絲雀部署的詳細(xì)指南

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

譯者 | 陳峻

審校 | 孫淑娟

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

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

什么是金絲雀部署

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

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

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

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

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

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

金絲雀部署的各個階段

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

1.計(jì)劃與構(gòu)建

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

2.分析

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

3.部署

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

金絲雀部署的好處

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

  • 對功能性部署的精細(xì)控制

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

  • 真實(shí)場景測試

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

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

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

  • 讓小型基礎(chǔ)設(shè)施成本更低

由于金絲雀部署只是在一小部分用戶上運(yùn)行,因此DevOps團(tuán)隊(duì)只需要為此準(zhǔn)備一個小的基礎(chǔ)設(shè)施,從而降低了開發(fā)過程、乃至整個項(xiàng)目的成本。

  • 靈活地探索新功能

由于金絲雀的實(shí)例首先僅在少量用戶流量上進(jìn)行測試,因此它對于整個組織的用戶體驗(yàn)和基礎(chǔ)設(shè)施的影響可謂最小。也正因?yàn)槿绱耍_發(fā)人員可以靈活地構(gòu)建和試驗(yàn)新的特性,而不必?fù)?dān)心對用戶體驗(yàn)造成任何直接的影響或結(jié)果。

什么是藍(lán)/綠部署?

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

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

金絲雀與藍(lán)/綠部署的比較

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

AWS或ECS上的藍(lán)綠色部署,往往需要大量的預(yù)算,來滿足大型基礎(chǔ)設(shè)施的需求,因?yàn)镮T團(tuán)隊(duì)通常需要維護(hù)兩套完全相同的托管環(huán)境。正是因?yàn)檫@個原因,那些資源有限、或以應(yīng)用模塊化和配置驅(qū)動的企業(yè),更趨向于選擇金絲雀部署。

譯者介紹

陳峻 (Julian Chen),51CTO社區(qū)編輯,具有十多年的IT項(xiàng)目實(shí)施經(jīng)驗(yàn),善于對內(nèi)外部資源與風(fēng)險實(shí)施管控,專注傳播網(wǎng)絡(luò)與信息安全知識與經(jīng)驗(yàn)。

原文標(biāo)題:??A Detailed Guide to Canary Deployment??,作者:Ruchita Varma

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2022-02-17 13:09:55

金絲雀部署服務(wù)集群測試

2021-07-29 05:09:54

Linkerd金絲雀部署Flagger

2021-07-13 06:35:11

Argo Rollou GitOpsKubernetes

2024-04-01 13:04:01

停機(jī)部署滾動部署藍(lán)綠部署

2021-06-15 05:52:33

Linkerd canary網(wǎng)絡(luò)技術(shù)

2023-10-08 07:34:04

2022-08-22 10:40:40

Kubernete部署分析運(yùn)行

2021-10-08 20:12:22

微服務(wù)架構(gòu)Service

2021-02-28 07:52:24

蠕蟲數(shù)據(jù)金絲雀

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安卓網(wǎng)頁

2013-11-01 11:00:10

2021-10-14 18:21:52

架構(gòu)IstioService

2015-08-20 10:49:39

Windows 10版本

2023-09-05 07:24:33

Traefik加權(quán)輪詢

2023-11-09 07:23:57

Istio路由分析

2024-11-13 10:30:00

機(jī)器學(xué)習(xí)算法

2024-05-10 07:31:32

IIS應(yīng)用程序.NET Core
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號