发布流程考虑
發布流程考慮
灰度發布
灰度發布是指在黑與白之間,能夠平滑過渡的一種發布方式。AB test就是一種灰度發布方式,讓一部用戶繼續用A,一部分用戶開始用B,如果用戶對B沒有什么反對意見,那么逐步擴大范圍,把所有用戶都遷移到B上面 來。灰度發布可以保證整體系統的穩定,在初始灰度的時候就可以發現、調整問題,以保證其影響度。
-
多級發布
也可以稱為分步代碼發布, 是一種代碼發布的方式 。基本操作是整個團隊共用一個代碼庫,一定頻率(比如每天一次,或者每周一次)把整個代碼的最新版本做一個新的發布分支(release branch),把發布分支逐步發布到產品線。
特點:"逐步選擇"的過程不由代碼控制(如果代碼控制,那新一版本的控制代碼有問題就可能讓整個代碼發布過程崩潰)。“逐步選擇”過程由運營團隊負責:比如選擇每個機柜的第一臺機器,或者每個機群的第一個機柜,或者多個數據中心里面選擇某一個數據中心??關鍵是選擇的時候是均勻分布到各種不同的機器上。如果新代碼在某一種配置的機器上有問題,運營團隊能夠及時發現。
監控: push一般要做實時的監控:代碼邏輯錯誤的信息按照代碼版本(比如svn revision number)來分類,保證新版本的代碼不帶來新的錯誤;硬件的信息(CPU內存IO)按照選擇的機器、機柜、機群、數據中心分類:保證新的版本不引起更大資源消耗。當以上的信息都確認之后,可以給更大規模的機器安裝新代碼。
-
AB測試
這是一種很成熟的概念,是 產品發布的常用手段 。比起分步代碼發布,AB測試往往有更長的周期(比如幾個星期甚至幾個月)。基本操作是產品的開發者加一個或者多個配置控制(一般每個產品配置應該帶有配置的ID),允許通過調節相應的配置來讓一個產品發布到“逐步選擇”的用戶群。
特點:“逐步選擇”是一個有代碼控制的邏輯過程。一般的產品基于用戶ID選擇;也有基于IP或者其他信息的。
監控:AB測試的數據一般按照產品配置ID和打開/關閉狀態分類,分析某個產品配置在打開的時候和關閉的時候對用戶行為的影響,和對硬件資源的消耗,由此可以預測這個產品在100%發布之后的影響。
從概念中可以看出多級發布和AB測試中最重要的區別: 面向對象不一樣 。多級發布針對的是 代碼發布 ,AB測試針對的 產品發布 。
互聯網應用在交付上線過程中(運維部門的職能),需要經過灰度交付和A/B測試兩個環節,前者用于檢驗系統是否穩定可靠,滿足上線要求,需要收集和分析性能數據來決定;后者用于檢驗到底新版本好還是舊版本好,需要收集和分析用戶訪問數據來決定。
阿里灰度發布引擎參考
發布前測試優化?
上線前測試簡化
測試環境與正式環境切換
-
數據庫問題?
-
現有API應用?
轉載于:https://www.cnblogs.com/zhangweizhong/p/3718936.html
總結
- 上一篇: JavaScript判断图片是否加载完成
- 下一篇: .htc文件