觀點 | ?移動端運維標準的研究
文 / 中國銀行軟件中心 王鵬晴 羅皓
引 言
隨著無線移動通信技術的快速發展,移動互聯網業務成為繼寬帶技術后互聯網發展的一個巨大推力,為移動應用的發展提供了一個新的平臺。移動應用以其固有的隨身性、可身份識別性,可鑒權性等獨特優勢,為傳統互聯網業務提供了廣闊的發展空間和可持續發展的商業模式,因此對一個企業的重要性愈發凸顯。移動應用的普及使得用戶可以“隨時、隨地、隨心”地享受互聯網業務帶來的各種便捷,比如更豐富的企業業務種類、更多的企業個性化服務和更高的企業服務質量保證。
在新的商業模式下,對移動應用開發工作的要求也越來越多,標準也越來越高,一款優秀的移動端APP不僅僅在于實現了相應的業務功能,能夠滿足用戶的正常使用;還在于它能夠安全、穩定、高效地響應用戶的請求,使用戶體驗達到一個高水平。這樣才能留住客戶,吸引更多的客戶,贏得客戶信任,進而提升企業的競爭力,為社會創造更大的價值。
運維領域發展現狀
軟件產品和傳統制造業產品表現形式雖有比較大的差異,但在生產流程中二者還是有諸多相似之處。如果把軟件生命周期看作汽車的生命周期,那么開發工程師就是汽車設計及生產人員,負責將軟件(汽車)從需求,轉為技術設計圖紙,最后變為實實在在的產品,主要關注汽車生命周期的前期。運維工程師要采用相應的技術及管理手段,保證軟件(汽車)的正常、安全、穩定、高效運行,提升用戶(乘客)使用體驗。
傳統的運維工作側重于服務端,負責對公司互聯網業務所依賴的基礎設施、基礎服務、線上業務進行穩定性加強,基于日常巡檢發現服務可能存在的隱患,對整體架構進行優化以屏蔽常見的運行故障。服務端運維,其運維工作更主動,目標更明確,處置手段更豐富。一線運維工程師可以在產品維度直觀的看到各節點的硬件性能情況、中間件運行情況和應用軟件的可用情況。就算生產環境出現故障,也可以迅速定位問題,采用縱向擴容、橫向擴容、故障隔離、應用回滾等一系列應急手段來使產品恢復正常可用狀態。同時,服務端運維工程師可以在風險可控的前提下,從容的規劃和實施未來的災備擴容、流量切換、軟硬件升級等較復雜的運維動作。
相對于傳統的服務端運維,移動端運維還不夠成熟。原有的服務端運維手段和方法,在移動端運維過程中可能并不適用。比如,DevOps(Development and Operations,開發運維一體化)在服務端運維領域已經深入人心并且有優秀的實踐,但是,在移動端運維領域該如何解讀與實踐?當用戶手機里的APP應用出現了錯誤,由于這個錯誤信息在用戶側,不在服務端,運維工程師又該如何得知呢?如果依賴用戶投訴,等接到相關信息時,相信這個故障已經影響了相當大基數的用戶量。工程師們又如何評估某個APP故障的影響范圍是什么?故障到底是和操作系統有關?還是與手機硬件型號有關?當工程師們最后定位了錯誤的原因,又該如何去修復?畢竟,恢復生產是運維工作的第一要素,服務端問題可以通過升級后臺解決,但出問題的APP并不能自動升級,因為它運行在用戶的手機里。
所以,在移動應用領域,運維工作有自己獨有的特征。如何正確理解,有針對性的去改進現存機制,達到與服務端運維同樣的高可用目標,是運維領域一個新的挑戰。
移動端運維特征
移動端應用的運維工作存在以下特征:
1.問題發現、暴露慢。移動端應用的問題比較隱蔽、不易察覺。出現問題無法實時監控和告警,只能通過客戶投訴后才發現。由于延遲性高,待相關人員介入處理時,問題經常已經呈現蔓延的趨勢,處置成本極高。
2.問題分析、定位慢。移動端應用同一時間在運行的前端版本眾多,運行平臺的操作系統版本不同,硬件機型繁多。使得相關人員在評估影響范圍時,周期較長。且移動端應用一般對接的后臺系統較多,多系統協同排查困難,問題分析定位費時、費力。
3.問題應對、處置慢。移動端應用發生異常后,處置人員由于個人情感、技術能力、外界壓力等因素,有時候不能果斷、快速處置問題,無法做到快速阻斷問題,恢復生產。
移動端運維標準建設
根據移動端運維工作獨有的特征,我們可以明確,移動端應用的運維工作首先要滿足“快速響應”的訴求。只有做到快速響應,才能最大程度的減少對客影響。對此,我們結合移動端應用生產問題的歷史處置經驗,總結提煉了移動端應用運維快速響應能力模型,作為移動端應用運維領域的評估依據和實施標準。
1.什么是快速響應能力。一個產品對生產問題的快速響應能力,可以細分為感知、定位、分析、應急四個階段。
感知:將問題信息、影響范圍通知到相關人員。
定位:定位到出現問題的產品、功能、接口、模塊、服務器節點等,明確該問題的邊界。為后續聚焦資源、啟動應急預案做好準備。
分析:對于復雜生產問題,當已有信息不足以支撐應急決策,需具備快速收集和整合信息的能力,縮短分析人員的信息獲取時間。
應急:優先采用不更新應用版本的方式,第一時間阻斷影響、恢復生產。
2.移動端應用運維快速響應能力模型。為了建立一套行之有效的機制及實踐,達到移動端應用運維快速響應的目標。我們以各階段工作目標為維度,針對感知、定位、分析、應急歸納了D1至D4四大類共計14項指標,組成移動類應用生產故障快速響應能力模型。該模型詳細描述了每類目標的細化要求,明確了一個移動端應用產品需要建設哪些能力,才能在生產故障時,具備快速響應的能力(見表1)。各能力模型詳細描述如下。
表 1 移動端應用生產故障快速響應能力模型

D1-F1(客戶使用情況感知):對接口請求報錯情況、響應耗時、對應的功能及后線系統、閃退信息等進行收集匯總并分析。D1-F2(實時信息觸達):對分析完成的監控數據以短信、微信、郵件等形式實時推送到相關干系人。D2-F1(終端信息實時展示):對問題涉及的終端信息實時展示,包括但不限于APP版本范圍、機型、操作系統等,快速明確影響范圍。D2-F2(問題交易鏈路):明確功能涉及的全交易鏈路,方便組織交易鏈路上的產品共同排查。D2-F3(報文抓取):針對不同終端,如原生、H5、小程序等,能夠快速獲得請求的上下文。D2-F4(問題復現):具備與生產環境相同的鏡像環境及終端,能夠為模擬復現提供支持。D3-F1(代碼分析):具備代碼分析工具,能夠對各批次的源碼和執行碼進行比對,快速定位出最近變更的內容。D3-F2(模擬復現):根據收集的報文、終端等信息,能夠在鏡像環境復現生產問題。D3-F3(交易唯一流水號):具備全局交易流水號生成能力,能夠根據交易流水號串聯各系統的調用棧。D4-F1(可配置更新提示):具備各終端各功能的提示信息實時配置能力,減少問題后續影響。D4-F2(H5離線緩存):具備H5離線緩存能力,各終端能夠根據配置信息下載H5修復包,快速恢復生產。D4-F3(控制功能范圍):具備各終端各功能的展示頁面配置能力,針對異常功能可以及時屏蔽處理。D4-F4(接口修復補丁):具備接口熱修復能力,能夠針對異常功能接口下發修復補丁。D4-F5(定向清除緩存):具備緩存清除能力,能夠從終端、客戶等維度清除緩存信息。
能力建設,標準先行。移動端運維能力的建設,首先應是移動端運維標準的建設。運維標準化,可以為類似的產品指明方向,在產品建設初期就可以投入資源積累自身快速響應能力。對于一個企業來講,參考標準去規劃和實施,能夠大大降低整體運維工作的成本,提高運維效率,將用戶的影響降低到最小,提升客戶整體使用體驗。
結 語
隨著移動互聯網的飛速發展與質量提升,移動端應用運維能力建設的重要性愈發凸顯,提升移動端應用運行維護的效率和質量是一個必然趨勢,也是發展的必然結果。如何提高移動端應用的快速響應能力,是每個移動端運維工程師要考慮的問題。參考移動端應用快速響應能力模型,可以幫助移動端產品明確其非功能建設目標。基于該模型,評估相關產品在該領域的成熟度,建立產品能力建設成熟度臺賬,也可以使相關產品的運行維護能力提升目標更加清晰可見,幫助企業信息化運維工作順利開展。
(欄目編輯:張麗霞)