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