灰度發(fā)布經(jīng)驗交流-張遠敏-綠點_第1頁
灰度發(fā)布經(jīng)驗交流-張遠敏-綠點_第2頁
灰度發(fā)布經(jīng)驗交流-張遠敏-綠點_第3頁
灰度發(fā)布經(jīng)驗交流-張遠敏-綠點_第4頁
灰度發(fā)布經(jīng)驗交流-張遠敏-綠點_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、灰度發(fā)布經(jīng)驗交流灰度發(fā)布經(jīng)驗交流2013年10月2提綱灰度發(fā)布介紹灰度發(fā)布介紹灰度發(fā)布部署的幾種方式灰度發(fā)布部署的幾種方式手機營業(yè)廳客戶端灰度發(fā)布實現(xiàn)方式說明手機營業(yè)廳客戶端灰度發(fā)布實現(xiàn)方式說明架構(gòu)預設、應用方案討論架構(gòu)預設、應用方案討論統(tǒng)一門戶客戶端承載60項全網(wǎng)業(yè)務,提供42項服務功能覆蓋三大智能終端平臺更新12個版本,適配17套主流機型HD版WP版Android/iOS版4采用統(tǒng)一規(guī)劃思路實現(xiàn)版本快速迭代5灰度發(fā)布的定義定義在傳統(tǒng)軟件產(chǎn)品發(fā)布過程中(例如微軟的Windows 7的發(fā)布過程中),一般都會經(jīng)歷Pre-Alpha、Alpha、Beta、Release candidate(RC)

2、、RTM、General availability or General Acceptance (GA)等幾個階段(參考Software release life cycle)??梢钥闯鰝鹘y(tǒng)軟件的發(fā)布階段是從公司內(nèi)部-外部小范圍測試外部大范圍測試-正式發(fā)布,涉及的用戶數(shù)也是逐步放量的過程。在互聯(lián)網(wǎng)產(chǎn)品的發(fā)布過程中也較多采用此種發(fā)布方式:產(chǎn)品的發(fā)布過程不是一蹴而就,而是逐步擴大使用用戶的范圍,從公司內(nèi)部用戶-忠誠度較高的種子用戶-更大范圍的活躍用戶-所有用戶。在此過程中,產(chǎn)品團隊根據(jù)用戶的反饋及時完善產(chǎn)品相關功能。此種發(fā)布方式,按照中國特色的叫法被冠以“灰度發(fā)布”、“灰度放量”、“分流發(fā)布”。關

3、于“灰度發(fā)布”叫法的來源無從考察。只不過按照中國傳統(tǒng)哲學的說法來看,很符合中國人中庸的思維模式:自然界所有的事物總是以對稱、互補、和諧的形式存在,例如黑與白、陰與陽、正與負、福與禍。在二元對立的元素間存在相互過渡的階段,所謂“禍兮福所倚,福兮禍所伏”。具體到黑與白,在非黑即白中間還有中間色灰色。于是出現(xiàn)了很多關于灰色的說法:灰盒測試,灰色管理(極力推薦任正非:管理的灰度),灰色收入,灰色地帶等等。因此對于灰度發(fā)布實際上就是從不發(fā)布,然后逐漸過渡到正式發(fā)布的一個過程。6灰度發(fā)布的作用作用l 及早獲得用戶的意見反饋,完善產(chǎn)品功能,提升產(chǎn)品質(zhì)量;l 讓用戶參與產(chǎn)品測試,加強與用戶互動;l 降低產(chǎn)品升

4、級所影響的用戶范圍;l 降低技術上風險,在放出小范圍后去發(fā)現(xiàn)、解決問題。7灰度發(fā)布實施要素實施灰度發(fā)布,主要需要考慮策略和部署兩個層面的問題。分支策略設計分支策略組合整體策略部署實施方案設計部署實施8灰度發(fā)布的一般步驟1.定義目標2.選定策略:包括用戶規(guī)模、發(fā)布頻率、功能覆蓋度、回滾策略、運營策略、新舊系統(tǒng)部署策略等3.篩選用戶:包括用戶特征、用戶數(shù)量、用戶常用功能、用戶范圍等4.部署系統(tǒng):部署新系統(tǒng)、部署用戶行為分析系統(tǒng)(web analytics)、設定分流規(guī)則、運營數(shù)據(jù)分析、分流規(guī)則微調(diào)5.發(fā)布總結(jié):用戶行為分析報告、用戶問卷調(diào)查、社會化媒體意見收集、形成產(chǎn)品功能改進列表6.產(chǎn)品完善7.

5、新一輪灰度發(fā)布或完整發(fā)布9提綱灰度發(fā)布介紹灰度發(fā)布介紹灰度發(fā)布部署的幾種方式灰度發(fā)布部署的幾種方式手機營業(yè)廳客戶端灰度發(fā)布實現(xiàn)方式說明手機營業(yè)廳客戶端灰度發(fā)布實現(xiàn)方式說明架構(gòu)預設、應用方案討論架構(gòu)預設、應用方案討論10負載均衡層部署方式可以只配置一套軟負載,硬負載將所有請求都轉(zhuǎn)發(fā)到這套軟負載上,由軟負載代替硬負載實現(xiàn)負載均衡功能;甚至可以去掉硬負載,直接將互聯(lián)網(wǎng)上請求由從防火墻映射到軟負載上。并發(fā)較少的系統(tǒng)并發(fā)較多的系統(tǒng)部署了兩套軟負載,每個軟負載都能控制到下面所有Web服務器節(jié)點。且因為之前使用硬負載進行了分流,每個軟負載只分攤50%的請求,降低了性能要求。另外,這種部署方式的容災能力也要更

6、好。不分并發(fā)這種場景可建立在,由于特殊的網(wǎng)絡條件,服務器A、B與C、D在不同機房且無法互通,這時可以將兩套軟負載分別部署在兩個機房。(還需建立在硬負載能分別到達兩邊機房的基礎上)。11使用會話保持分流技術實現(xiàn)無縫升級 無縫升級是指在升級過程中,不中斷用戶的業(yè)務連續(xù)性。直接進行服務節(jié)點的切換,用戶不僅會丟失會話信息,還有可能因新節(jié)點上流程的變更導致業(yè)務無法繼續(xù)進行。因此建議采取對舊會話用戶采用會話保持分流技術來實現(xiàn)無縫升級。具體步驟如下:l 在軟負載中采用會話保持技術,對用戶的請求進行會話管理。l 當判斷請求為新會話時,根據(jù)規(guī)則校驗、負載均衡策略,獲取Web服務節(jié)點的物理訪問地址。按照該地址進行

7、數(shù)據(jù)轉(zhuǎn)發(fā),并同時將地址保存在會話中。l 當判斷請求為舊會話時,直接從會話取出物理訪問地址,以此進行數(shù)據(jù)轉(zhuǎn)發(fā)。l 一個會話永遠只對應一個物理訪問地址。不會因分流規(guī)則變化而跳轉(zhuǎn)到其它Web服務節(jié)點。12灰度環(huán)境獨立于現(xiàn)網(wǎng)環(huán)境部署方案灰度環(huán)境獨立于現(xiàn)網(wǎng)環(huán)境部署,是指在原有的生產(chǎn)環(huán)境服務器以外,單獨安排若干臺服務器,并在這些單獨的服務器上部署灰度版本的應用,提供給內(nèi)部或外部的體驗用戶使用?;叶润w驗完成后,再對生產(chǎn)使用的服務器進行常規(guī)方式的部署發(fā)布。這種部署方案下的灰度環(huán)境類似于傳統(tǒng)測試中使用的預發(fā)布環(huán)境,但不同的是此環(huán)境和生產(chǎn)環(huán)境共用正式生產(chǎn)環(huán)境的后臺接口和數(shù)據(jù)庫數(shù)據(jù)等。這種部署方式有以下優(yōu)點:1、對

8、現(xiàn)網(wǎng)系統(tǒng)的改造較小,灰度環(huán)境成本要求較低,較容易實現(xiàn)。2、對原有的常規(guī)發(fā)布方式的改變較小,在灰度體驗完成后,還是可以使用原有的發(fā)布方式對公眾生產(chǎn)環(huán)境進行發(fā)布。但是這種部署方式也有一些局限性:1、在灰度體驗結(jié)束后,無法平滑地將灰度版本推廣到全網(wǎng)用戶,還是需要對公眾環(huán)境進行一次傳統(tǒng)的中斷業(yè)務的發(fā)布。2、由于是獨立于公眾生產(chǎn)環(huán)境的環(huán)境,一般提供的服務器的數(shù)量和性能會比較有限,因此相關的灰度體驗用戶的數(shù)量也會有所限制,無法進行大面積用戶的灰度體驗。優(yōu)缺點部署方式13A、B雙路分服務器部署方案A、B雙路分服務器部署就是將原有的生產(chǎn)使用服務器進行分組,分成A、B兩個集群,然后在不同的服務器集群上分別部署公

9、眾環(huán)境和灰度環(huán)境,然后通過負載均衡層(前置的軟件或者硬件負載均衡器)根據(jù)相關規(guī)則,將目標用戶分別引導至不同的服務器集群。A、B雙路分服務器部署有以下的優(yōu)點:1、灰度環(huán)境和現(xiàn)網(wǎng)環(huán)境從物理上隔離開,如果灰度版本存在影響系統(tǒng)性能的問題時,比如內(nèi)存泄露、程序死循環(huán)耗盡CPU資源等故障,不會對現(xiàn)網(wǎng)環(huán)境產(chǎn)生影響。2、減少操作復雜度,在同一臺服務器上只有一個版本的應用,在執(zhí)行進程停止、更新、啟動等操作時,不容易出現(xiàn)誤操作。但同時該部署方式也有以下的不足:對資源投入要求大;如集群不能保證自身可用性,則將影響現(xiàn)網(wǎng)或者灰度環(huán)境的正常使用。另外按照公眾服務器與灰度服務器的使用范圍及切換方式,可以按比例分配資源或?qū)Φ?/p>

10、分配資源,這兩種方式各有優(yōu)缺點:1)按比例分配資源:公眾服務器承載大部分用戶訪問量,灰度服務器僅對小量用戶提供服務。需要向全網(wǎng)用戶開放使用時,再對公眾服務器進行傳統(tǒng)的上線操作。此類型對硬件要求不高,成本也較低,但是當灰度服務發(fā)布至公共服務器時會有短暫的業(yè)務停頓 。2)對等分配資源:公眾服務器與灰度服務器資源對等,灰度服務器資源也可以承載全量用戶。公眾環(huán)境的用戶全面平滑引導到灰度環(huán)境,完成灰度環(huán)境全面公眾化。如果后續(xù)有新的發(fā)布上線,原公眾環(huán)境又變?yōu)榛叶拳h(huán)境,兩套環(huán)境可以互相交替使用,方便版本迭代發(fā)布;如果后續(xù)沒有新的上線,就將原公眾版本的應用也同步成灰度版本,共同向全網(wǎng)提供服務。這種方式的優(yōu)點是

11、兩套環(huán)境可以互相平滑切換,快速發(fā)布和回退,不中斷業(yè)務。缺點是需要較多的資源,且灰度發(fā)布過程中,會有部分資源閑置。14灰度環(huán)境和現(xiàn)網(wǎng)環(huán)境在相同服務器上部署灰度環(huán)境和現(xiàn)網(wǎng)環(huán)境部署在相同的服務器上,使用不同的端口,也通過負載均衡層實現(xiàn)分流。此種方案有如下的優(yōu)點:1、能充分利用硬件資源,在硬件資源不足的情況下也能進行灰度發(fā)布的部署,且不影響正常生產(chǎn);2、對用戶業(yè)務請求實現(xiàn)訪問資源上的隔離;3、便于系統(tǒng)的上線活動,兩個版本彼此影響較??; 4、根據(jù)各版本訪問量的大小,可以靈活分配系統(tǒng)資源。5、單一集群或者單機出現(xiàn)硬件問題,灰度環(huán)境及公眾環(huán)境依然承載能力受到影響,但依然具備一定的可用性。但是這種方案也有一些

12、缺點:1、多個系統(tǒng)運行在同一套服務器上,在系統(tǒng)忙時易出現(xiàn)搶占資源的情況;2、一旦出現(xiàn)硬件問題,將會影響所有版本。優(yōu)缺點部署方式15應用層灰度發(fā)布中的版本管理灰度版本管理,是集中管理所有系統(tǒng)的升級包文件、版本號、以實現(xiàn)應用程序的升級、備份、回退。功能上主要分為三大部分,包括:版本備份,校驗等基礎功能、應用版本管理和灰度版本的分析與查詢?;叶劝姹竟芾淼年P鍵部分在于,在版本升級和回退時,不能影響到用戶端業(yè)務的連續(xù)性。16提綱灰度發(fā)布介紹灰度發(fā)布介紹灰度發(fā)布部署的幾種方式灰度發(fā)布部署的幾種方式手機營業(yè)廳客戶端灰度發(fā)布實現(xiàn)方式說明手機營業(yè)廳客戶端灰度發(fā)布實現(xiàn)方式說明架構(gòu)預設、應用方案討論架構(gòu)預設、應用方

13、案討論17統(tǒng)一門戶客戶端手機營業(yè)廳原有灰度發(fā)布系統(tǒng)架構(gòu)版本數(shù)量開發(fā)版本發(fā)布平臺維護平臺維護難度/成本 統(tǒng)一門戶客戶端的應用支撐平臺只有一個版本,需要同時支撐4個正式版本和多個不同功能的灰度版本。 這一版本發(fā)布架構(gòu)對于應用支撐平臺的版本兼容性及可靠性要求非常高。而且會隨著版本數(shù)量持續(xù)增加開發(fā),版本發(fā)布和平臺維護的成本。18統(tǒng)一門戶客戶端手機營業(yè)廳-硬件拓普現(xiàn)狀19客戶端灰度發(fā)布方案系統(tǒng)架構(gòu)優(yōu)化-進程獨立實現(xiàn)正式版本與灰度版本的相對獨立,在保障正式版本服務支撐質(zhì)量的前提下,滿足灰度版本發(fā)布的需要。實現(xiàn)正式版本之間的相互獨立。通過獨立的端口通信,實現(xiàn)進程與版本的一 一對應。20客戶端灰度發(fā)布(多版本

14、并行發(fā)布)架構(gòu) 針對客戶端各版本,在應用支撐平臺建立與其一對一關聯(lián)的服務端版本。應用支撐平臺側(cè)的服務端版本,通過端口獨立實現(xiàn)進程獨立,每個獨立進程對一個或多個客戶端版本提供服務支撐,某個版本發(fā)生的問題不會對其它版本產(chǎn)生影響。21客戶端灰度發(fā)布(多版本并行發(fā)布)架構(gòu)詳解 單一進程和端口實現(xiàn)對所有灰度版本的支撐,以控制灰度版本對系統(tǒng)的影響。 一個客戶端版本對應一個應用支撐平臺服務端版本。服務端版本間通過進程和端口實現(xiàn)相互獨立。 由于已經(jīng)上線正式運行,且用戶規(guī)模較大,因此仍然采用原有的服務端程序,以保證服務支撐的連續(xù)性和穩(wěn)定性。歷史版本當前版本灰度版本22客戶端灰度發(fā)布優(yōu)化-系統(tǒng)改造點說明 統(tǒng)一門戶

15、客戶端的灰度發(fā)布系統(tǒng)改造過程涉及貫穿到軟、硬件系統(tǒng)的各個方面,這包括:防火墻負載均衡設備WAS接入服務業(yè)務支撐服務數(shù)據(jù)庫/BOSS接口服務23客戶端灰度發(fā)布優(yōu)化-系統(tǒng)改造點說明-接入部分 所有灰度版本使用9053端口,以和正式版本實現(xiàn)端口通信的相互獨立。通過部署配置新的WAS應用服務程序,為灰度測試版本提供接入服務。此灰度版本的應用服務程序獨立與原有正式版的接入服務程序,擁有獨立的進程、端口、響應資源和線程池。 已上線版本不做任何變動,仍通過端口9043接入,原有WAS應用服務器01為其提供接入服務24客戶端灰度發(fā)布優(yōu)化-系統(tǒng)改造點說明-接入服務器同一宿主機對外提供多個服務。25客戶端灰度發(fā)布

16、優(yōu)化-系統(tǒng)改造點說明31.新客戶端版本發(fā)布時,需建立與之對應的應用支撐平臺版本,應用支撐平臺發(fā)布新版本時,需要部署包括與新版本對應的所有服務端程序,這包括:接入部分/業(yè)務應用服務程序、BOSS接口服務程序、數(shù)據(jù)庫服務程序;2.配置管理的工作量增加;與客戶端有多個版本一樣,服務端程序編譯時,需要以應用支撐平臺版本號予以區(qū)分,同時需要建立多個開發(fā)分支;3.規(guī)劃版本策略,適時停用舊有/灰度版本。26提綱灰度發(fā)布介紹灰度發(fā)布介紹灰度發(fā)布部署的幾種方式灰度發(fā)布部署的幾種方式手機營業(yè)廳客戶端灰度發(fā)布實現(xiàn)方式說明手機營業(yè)廳客戶端灰度發(fā)布實現(xiàn)方式說明架構(gòu)預設、應用方案討論架構(gòu)預設、應用方案討論27架構(gòu)預設自動化部署(發(fā)布)業(yè)務網(wǎng)管核心調(diào)度模塊(軟負載)灰度發(fā)布管理門戶灰度發(fā)布引擎接口集成統(tǒng)一登錄灰度發(fā)布系統(tǒng) (Multi-phase Release System)28整體解決方案灰度發(fā)布引擎規(guī)則解

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論