视色av,亚洲免费av一区二区,日韩av一区在线观看,日韩色中色

首頁

/

云原生時代的灰度發布有幾種“姿勢”?

發布日期:2022-12-25 14:31:27

分享到

隨著企業數字化轉型進程不斷發展,云原生時代的來臨,企業應用越來越多,不得不面對應用程序升級的巨大挑戰。傳統的停機發布方式,新舊版本應用切換少則停機30分鐘,多則停機10小時以上,愈發無法滿足業務端的需求。

“業務無感知”的發布策略成為應用運維團隊的不二選擇,盡可能降低發布對業務的影響。“業務無感知”的發布策略有滾動發布、藍綠發布、灰度發布

本文將從什么是灰度發布,發布類型,灰度發布自動化實踐三個維度來展開。


01. 灰度發布的概念

灰度發布,又名金絲雀發布,即在產品發布時,先讓一小部分用戶體驗產品新版本的特性,這一小部分用戶的用戶范圍可以是內部用戶、測試用戶和非核心用戶,但主要用戶還是繼續使用產品舊版本

新版本發布完成之后,驗證業務及用戶反饋是否正常,一切正常之后再逐步擴大新版本覆蓋范圍:20%、50%、70%,每發布一次就進行業務驗證、觀察用戶反饋。最后用新版本覆蓋所有用戶,完成一次灰度發布。

灰度發布的最大優勢是將新版本使用范圍控制在小范圍內,如果新版本出現問題,能夠極大降低問題影響范圍,避免影響所有用戶,造成嚴重的生產故障,引發大范圍的投訴,從而影響到公司業務和品牌。


02. 發布類型

1)滾動發布:是指一個應用有多個主機副本,將其分成多個批次。首先升級第一個批次,之后依次升級其他批次,直到所有批次升級完成。每個批次升級前,需要在LB中移除對應主機的流量轉發,升級完成后,再恢復對應主機的流量轉發。

將應用分成多個批次,升級前后的LB操作工作量比較大,對應用運維人員來說操作麻煩,手工操作出錯的概率較大,嘉為藍鯨應用發布中心,通過自動化流程實現應用的滾動發布。

同時,嘉為藍鯨應用發布中心支持隨機分批和自定義分批兩種方式的滾動發布。選擇分批方式后,在批次內可以選擇串行和并行的執行方式


2)藍綠發布:是指應用分為兩個版本,發布時將舊版本所有流量直接切換到新版本上。新版本部署時,按照舊版本的規格完全獨立部署一套,部署完成之后,進行簡單測試驗證,正常之后將舊版本的流量直接導到新版本上。


3)灰度發布:是指應用分為兩個版本,發布時將舊版本的流量,分階段10%、30%、80%、100%切換到新版本上。每階段切換后,任務需要暫停,應用運維人員可以檢查程序是否正常,監控日志是否正常,同步業務方檢查業務指標是否正常。確認一切正常之后,執行下一部分發布動作。


03. 灰度發布自動化實踐

場景一:基于F5設備進行藍綠發布的場景

用戶通過F5設備控制業務流量,將業務流量轉發到后端真實應用服務上。為了保證升級時用戶能夠正常訪問,需要進行藍綠發布。

在進行藍綠發布時,分成三個發布步驟:

  • ① 先部署新版本應用,此時新版本應用沒有業務流量;
  • ② 然后執行F5命令進行流量切換,用戶訪問流量切到新版本應用服務上;
    ③ 最后進行業務邏輯驗證,查看業務流量確認業務正常,則藍綠發布完成, 如果業務異常,快速執行回滾任務,進行流量回切。

    通過標準運維自動化執行切換F5流量的命名,如下:

    關鍵參數通過變量傳入,該標準運維流程可以被多個業務系統復用,無需每個業務系統單獨編排。


    場景二:基于Nginx進行灰度發布的場景

    用戶通過Nginx代理或者負載均衡設備來控制業務流量的轉發,為了提高應用升級的穩定性,升級后先讓部分用戶體驗新版本,通過標準運維腳本命令切換Nginx中流量轉發策略,將小部分隨機用戶流量轉發到新版本服務上。

    確認新版本功能正常后,逐步擴大新版本覆蓋的用戶范圍。避免在藍綠發布中,新版本異常會影響到所有用戶訪問的問題。

    大部分用戶訪問業務正常,驗證了新版本的穩定性,再讓新版本覆蓋所有用戶,完成基于Nginx的灰度發布。

    具體標準運維任務參考:


    場景三:容器應用灰度發布的場景

    容器應用在升級時,為了保證業務無感知,應用運維人員也需要考慮灰度發布方案,將一次完成的發布流程,拆分成多個發布流程,降低每一次應用發布的影響范圍。

    容器發布場景,應用一般通過ingress-nginx或者istio控制流量分發,每次發布更新ingress中的權重參數,實現不同流量比例的切換。

    在這個場景中,先部署新應用的deploy和service,然后部署ingress,切20%流量到新應用,此時發布任務暫停,業務人員進行應用檢查和驗證。驗證業務正常之后,再切換40%、70%、100%應用到新應用上,完成容器應用場景的灰度發布。


    場景四:容器應用多地域灰度發布的場景

    業務應用在全國多個省市都有部署,在進行升級時,分地域進行灰度升級。

    先升級華東地域應用,華東地域內串行發布,確保業務能夠正常穩定發布成功;然后依次升級華中地域、華南地域、華北地域、西南地域、港澳臺地域,地域內并行發布執行。


    場景五:K8s集群版本灰度升級的場景

    K8s不支持跨大版本進行升級,如果考慮一個個小版本的升級會非常麻煩,每次小版本升級對應用運維人員來說都是非常大的挑戰。因此一個自動化、業務無感知的K8s集群版本灰度升級是非常關鍵的。

    業務端通過APISIX或者Istio控制業務流量。首先自動化部署v1.24版本的K8s集群,然后在v1.24版本集群中部署容器應用,通過APISIX灰度遷移少部分業務流量,驗證業務的可用性和穩定性,慢慢將所有應用灰度遷移到新版本集群。所有應用遷移完成后,將v1.16版本K8s集群下線資源回收。

    灰度發布方案,只是嘉為藍鯨應用發布中心產品支持的一個企業級發布場景,其他場景還包含:緊急部署、持續部署、大規模變更、應用上線等場景,還支持與DevOps、ITSM集成實現研運一體化、工單驅動變更等功能。詳細產品功能架構如下:

    嘉為藍鯨應用發布中心核心優勢如下:

    免費申請演示

    聯系我們

    服務熱線:

    020-38847288

    QQ咨詢:

    3593213400

    在線溝通:

    立即咨詢
    查看更多聯系方式

    申請演示

    請登錄后在查看!