灰度發布:灰度很簡單,發布很復雜
什么是灰度發布,其要點有哪些?
最近跟幾個聊的來的同行來了一次說聚就聚的晚餐,聊了一下最近的工作情況如何以及未來規劃等等,酒足飯飽后我們聊了一個話題“灰度發布”。
因為筆者所負責的產品還沒有達到他們產品用戶的量級上(最低的都在1千萬+),也就談不上灰度發布這一環節,所以只有聽的份。
雖然筆者暫時沒有涉及到,但在工作中也聽過關于灰度發布的一些信息,只不過這一次聽他們幾個交談后更是增長了不少知識,為了讓自己更加的了解這一個“新”概念,回到住處就在網上慢慢的“啃”起來,下面則是我對“灰度發布”的理解,現分享出來。
我理解的灰度發布,主要是按照一定策略選取部分用戶,讓他們先行體驗新版本的應用,通過收集這部分用戶對新版本應用的反饋(如:微博、微信公眾號留言或者產品數據指標統計、用戶行為的數據埋點)以及對新版本功能、性能、穩定性等指標進行評論,進而決定繼續放大新版本投放范圍直至全量升級或回滾至老版本。
1、什么是灰度發布,有哪些好處?
答:灰度發布(又名金絲雀發布)是指在黑與白之間,能夠平滑過渡的一種發布方式。
在其上可以進行A/B testing,即讓一部分用戶繼續用產品特性A,一部分用戶開始用產品特性B,如果用戶對B沒有什么反對意見,那么逐步擴大范圍,把所有用戶都遷移到B上面來。灰度發布可以保證整體系統的穩定,在初始灰度的時候就可以發現、調整問題,以保證其影響度。灰度期:灰度發布開始到結束期間的這一段時間,稱為灰度期。(來源于百度百科)
好處:
- 提前獲得目標用戶的使用反饋;
- 根據反饋結果,做到查漏補缺;
- 發現重大問題,可回滾“舊版本”;
- 補充完善產品不足;
- 快速驗證產品的 idea。
2、那么灰度發布的流程是咋樣的呢?
相關解釋:
- 選定策略:包括用戶規模、發布頻率、功能覆蓋度、回滾策略、運營策略、新舊系統部署策略等
- 篩選用戶:包括用戶特征、用戶數量、用戶常用功能、用戶范圍等
- 部署系統:部署新系統、部署用戶行為分析系統(web analytics)、設定分流規則、運營數據分析、分流規則微調
- 發布總結:用戶行為分析報告、用戶問卷調查、社會化媒體意見收集、形成產品功能改進列表
【某寶的案例.來源網絡】
產品需求收集和確定 –>; 技術方案出具和分工協調 –>; 開發編碼 –>; 內部服務器環境的測試 –>; 聯調(又名預發環境) –>; 小淘寶環境發布,內部員工噴噴噴 –>; 小流量(具體有多少取決于業務影響面)公網測試 –>; 收集數據寫反饋 –>; 全量上線。
3、灰度發布的方式方法有哪些?
產品Q群、產品微信群、內部用戶、app自升級、換量渠道、不會被抓包的小市場,在這些渠道將灰度包放還出去。這里邊可控度最強的當屬app自升級了。根據時間段,用戶版本,升級請求數量,實際升級數等等
4、灰度發布三大類型?
- web頁面灰度:按照ip或者用戶id切流啊。具有隨機性,可以控制比例
- 服務端灰度:考驗主系分能力了,可以做邏輯切換開關,按照義務相關屬性逐漸切流
- 客戶端灰度:一般按照用戶逐漸推送包,主要是PC端(WIN,MAC)、移動端(安卓,OS)內部大規模內測
5、灰度發布時,目標用戶選取策略?
即選取哪些用戶先行體驗新版本,是強制升級還是讓用戶自主選擇等。可考慮的因素很多,包括但不限于地理位置、用戶終端特性(如分辨率、性能)、用戶自身特點(性別、年齡、忠誠度等)。
對于細微修改(如文案、少量控件位置調整)可直接強制升級,對于類似新浪微博改版這樣的大型升級,應讓用戶自主選擇,最好能夠提供讓用戶自主回滾至舊版本的渠道。
對于客戶端應用,可以考慮類似Chrome的多channel升級策略,讓用戶自主選擇采用stable、beta、unstable channel的版本。在用戶有明確預期的情況下自行承擔試用風險。
6、A/B測試云服務提供商
海外應用:optimizely
國內應用:AppAdhoc(簡單夠用)、optimizely(相當強大,尤其在native app A/B測試這塊)
7、延伸閱讀:
2015年5月31日,馬化騰在香港大學李兆基會議中心大禮堂舉辦了一場創業演講,演講中爆了一個大料:微信的誕生史。
微信在誕生之前,在騰訊內部有三個團隊在同時做微信,主要競爭者為張小龍的e-mail團隊和手機QQ團隊。做這個產品之前,騰訊內部并沒有給這個產品定一個完整的基調,而是讓公司內部形成一個激烈的競爭,通過觀察用戶對產品的喜好程度和產品的實際完成情況決定上線結果。
馬化騰的灰度機制是這樣的:很多公司在一開始做產品定義時,要么確定它是黑的,要么確定它是白的。但是馬化騰發現,互聯網產品的定義是有用戶投票決定的。在一開始,我們不定義它是黑,還是白,有一個灰度的周期。在這個灰度周期里,讓用戶的口碑決定它是生是死,是白還是黑。
說的再直接點,這也是馬化騰創新上的灰度機制:容忍失敗,允許適度浪費,鼓勵內部競爭內部試錯。馬化騰說過,在產品研發過程中,我們還會有一個困惑:自己做的這個產品萬一失敗了怎么辦?
我的經驗是,在面對創新的問題上,要允許適度的浪費。怎么理解?
就是在資源許可的前提下,即使有一兩個團隊同時研發一款產品也是可以接受的,只要你認為這個項目是你在戰略上必須做的。
很多人都看到了微信的成功,但大家不知道,其實在騰訊內部,先后有幾個團隊都在同時研發基于手機的通訊軟件,每個團隊的設計理念和實現方式都不一樣,最后微信受到了更多用戶的青睞。
你能說這是資源的浪費嗎?我認為不是,沒有競爭就意味著創新的死亡。即使最后有的團隊在競爭中失敗,但它依然是激發成功者靈感的源泉,可以把它理解為內部試錯。
具體內容,請參考:《馬化騰致信合作伙伴:灰度法則的七個維度》
- 需求度:用戶需求是產品核心,產品對需求的體現程度,就是企業被生態所需要的程度;
- 速度:快速實現單點突破,角度、銳度尤其是速度,是產品在生態中存在發展的根本;
- 靈活度:敏捷企業、快速迭代產品的關鍵是主動變化,主動變化比應變能力更重要;
- 冗余度:容忍失敗,允許適度浪費,鼓勵內部競爭內部試錯,不嘗試失敗就沒有成功;
- 開放協作度:最大程度地擴展協作,互聯網很多惡性競爭都可以轉向協作型創新;
- 進化度:構建生物型組織,讓企業組織本身在無控過程中擁有自進化、自組織能力;
- 創新度:創新并非刻意為之,而是充滿可能性、多樣性的生物型組織的必然產物。
本文由 @?Gabriel Su, 原創發布于人人都是產品經理。未經許可,禁止轉載。
題圖來自unsplash,基于CC0協議
時隔幾個月,我又來了…
留下足跡!