服務才是未來 騰訊游戲運維的實踐分享
從運維服務的“四化建設”談起
2014年,騰訊游戲運維負責人劉棲銅在《騰訊游戲云的理想與實踐》分享中講到對下一代游戲運維的定義,通過運維服務的“四化建設”,即標準化、自動化、服務化、產品化,幫助游戲走向成功,具體包括運維服務體系的規劃,運維工具體系的建設,用戶游戲體驗優化觸達,產品運營決策輔助支持等等。
今天,我跟大家分享一些騰訊游戲運維在過去幾年里是如何落地去做的。我們經歷了運維建設的三個階段:
◆第一個階段:聚焦標準化
◆第二個階段:圍繞服務化
◆第三個階段:面向智能化
運維轉型前的狀況
騰訊有一個QQ游戲平臺的業務里面有幾百款的小游戲,日活躍百萬,變更需求日益頻繁,每天QQ游戲運維5名同事要面對數以百計的開發人員不計其數的日常各類需求。面對這些需求,一開始整個QQ團隊處在非常被動的情況下,因為本身運維能力也比較單一,沒有辦法并發處理大量的需求。
運維轉型的多崗分工
基于這種十分被動的情況,QQ游戲運維團隊做了一件事情,運維轉型。
設置不同的運維崗位:
◆第一類:操作運維,專注反復度高的工作。
◆第二類:業務運維,專注基礎運維工作。
◆第三類:規劃運維,專注在運維工作項目管理及需求規劃設計。
◆第四類:開發運維,專注運維工具的開發。
多崗運維的互相配合
1.業務運維:熟悉業務,并把常規的發布變更任務定義成原子。
2.開發運維:通過平臺的頁面進行原子操作的流程作業開發,日常操作頁面化。
3.規劃運維:把這些場景按操作流程,自由組合封裝起來。
4.操作運維:固化流程,并進行工具的操作。
QQ游戲運維通過不斷的工具建設,操作運維執行需求的比例不斷上升,目前超過90%以上(也就是自動化程度)。業務運維基本上可以不用再做這些日常重復度很高的工作了。
QQgame運維團隊是騰訊游戲的一個縮影,通過這樣的創新模式,我們看到運維完全可以通過標準化的工具建設來解決業務爆發式增長與運維人員人力支撐間的矛盾,這種模式可以給更多的業務進行復用,也是運維團隊作為平臺技術所體現的核心價值之一。
標準化之路并不平坦
實踐路上,我們在標準化建設中也碰到一些問題,比如:
◆在我們標準化建設的第一個半年里面,整個藍鯨平臺也是在發展過程當中,它周邊的接口也不夠豐富。
◆我們認為標準化就是把之前做過三、四十款游戲經驗總結出來,結果導致了對原有的業務再改造起來成本很高。
◆另外,藍鯨平臺并發的性能,最早期的時候,它是串型處理的。
通過半年的調整之后,隨著藍鯨整個工具平臺逐步的成熟之后,我們接口比原來豐富了。我們的步驟比原來更靈活了,并且允許不同的業務進行自定義。在工具上線過程當中有開發的標準界定,有工具審核。現在騰訊游戲的基礎操作都要求并很容易進行標準接入了。
過去一年里,通過標準化工具,在發布、開區、擴容,縮容、自定義等場景中共執行2W+次任務,剔除了等待、中途未完成的任務,相當于700天+工作量,這使得我們的運維有更多時間邊喝咖啡邊創造更多有意義的工作。
看服務化運維是如何煉成的
如果說標準化運維解決了運維本身的痛點,那么在服務化運維里面,其實更多的要去解決產品的痛點。
基礎的運維工作是被動的。服務化的運維是主動的運維,我們自己發現問題,并且通過我們的能力解決問題。我們通過數據驅動我們的服務。我們在整個的服務化當中,非常強調運維閉環服務。
讓我們一起看一下騰訊游戲“4大名著”之DNF(地下城與勇士)的運維怎么進行服務化運維的突破。
我們就從DNF的玩家在線恢復時長優化來說。13年DNF在1月份大版本發布后,我們花了將近12個小時才恢復正常的玩家在線。經過3年不斷的建設,我們在今年6月份的時候,僅用了0.9個小時就做到了。
那是怎么樣做到的呢?
首先來看一下進入游戲時長優化,在線恢復過程中,有一個重要的因子,就是玩家更新好最新的補丁后進入到游戲所用的時長,補丁包越大更新進入游戲的時間越長,比如在DNF,300M補丁包會使在線恢復的曲線很慢才能正常。
所以我們就在補丁包的下載優化上進行嘗試,13年時主要還是通過HTTP完成自動更新,玩家在開服的一瞬間涌進來更新,雖然CDN的峰值帶寬很高,但實際上單用戶平均下載速度只有157k,更新非常慢,所以第一步我們在特定時間范圍內提升單用戶下載速度到485k,這樣先解決了燃眉之急。
但這樣的方案只是臨時解決。
緊接著,14年6月份我們對預下載方案進行第一個版本的測試,通過游戲登陸器,我們用預下載的方式推送補丁包,下載速度提升到650k,在今年的5月份整個預下載做進一步的優化,以及進行多渠道推送,下載速度又提升到1.2M,帶寬峰值進一步下降。
DNF的在線時長優化,第二個重點是策略下發。初期,我們采用了用戶平均在線時長來控制策略下發以及下載速率,但發現一個問題,因為用戶平均時長不能精確到某個時段,所以策略下發成功率可能只有50%。
通過進一步的研究,我們發現可以通過用戶活躍時長分布指標來進行更精準的策略下發。比如晚高峰的時候,策略對某一些大區或者某一類活躍用戶進行預下載推送效果很好。
用戶活躍時長其實在很早以前的產品運營數據里就有。但如果沒有長期深入的研究,誰會想到會跟下載數據、在線恢復時長數據等有如此緊密的關聯?這在傳統的運維工作中很難想象。
除了這兩點,在線恢復時長優化中,我們還時刻關注游戲內玩家的掉線率,依托藍鯨平臺提供的各類工具,我們可以實時監控,與開發人員定位問題,如遇程序Bug,爭取晚高峰來臨前修復問題,從而保證整體在線穩定。
我們從12年開始進行建設,包括去歸納整個騰訊游戲用戶生命周期的線路,從而形成了整個騰訊游戲運維服務體系。我們就是依托于這樣的體系去進行運維服務建設的。
我們會把游戲的服務場景分為登陸服務、下載服務、版本服務、用戶體驗服務、運營成本服務等等,每一種服務都有明確的定義以及數據衡量標準。
這個體系還在不斷完善當中,將來可以作為游戲運維服務標準的框架,希望能幫助到更多游戲行業的運維同學更好服務于業務,也希望除了游戲之外,未來還會有更多的互聯網行業公司,可以從游戲的標準場景里獲得大家本行業的一些思考與實踐。
智能化運維的探索
騰訊游戲技術運營的愿景是:“游戲智能化運營的領航者”。
對于智能運維,我們認為通過了之前的標準建設,通過了服務化建設之后我們有足夠的平臺,我們有這么多的業務數據,我們可以通過更好的閉環,通過更好的智能策略下發讓整個游戲的運維服務更加智能。
在智能化的運維服務里面,我們需要考慮這幾點:
1.業務數據的收集和清洗,經過大量的收集以后,去進行智能清洗以后才能找到每個不同業務的邏輯所需要的最核心的數據。
2.希望通過復雜的業務場景進行智能分析,并且決策下發以及精準推送,目前還是一些人工做的,這一部分我們相信在未來智能運維服務里面不需要人工干預。
3.所有的運維服務需要閉環自動執行,閉環對于我們運維服務將成為基本要求。
4.運維大數據影響產品運營決策,在去年分享里面講到運維服務未來應該影響到產品的決策,我們希望通過更多的運維大數據分析,能幫助到產品的運營決策。在智能運維里,成本和服務是互相兼顧的。
總結
騰訊游戲運維通過標準化走向了服務化,目前正在智能化運維方向不斷向前探索,我們相信只有智能化運維實現后,運維的自我能力與業務價值才能更好體現。
如何一起愉快地發展
“高效運維”公眾號(如下二維碼)值得您的關注,作為高效運維系列微信群的唯一官方公眾號,每周發表多篇干貨滿滿的原創好文:來自于系列群的討論精華、運維講壇線上精彩分享及群友原創。“高效運維”也是互聯網專欄《高效運維最佳實踐》及運維2.0官方公眾號。
提示:目前高效運維新群已經建立,歡迎加入。您可添加蕭田國個人微信號xiaotianguo8 為好友,進行申請,請備注“申請入群”。
重要提示:除非事先獲得授權,請在本公眾號發布2天后,才能轉載本文。尊重知識,請必須全文轉載,并包括本行。