騰訊趙建春:大規模海量服務高效運維實踐
原創云計算經過幾年的飛速發展,已經成為IT領域未來重要的趨勢之一。云時代IT領域各種問題,都在逐漸通過整個行業的智慧形成統一的解決方案。也正因如此,唱衰運維的調調一直不絕于耳。當代表運維價值的苦力活被程序代替,甚至比人做得更好時,運維人員該去向何方?
在WOT2016 互聯網運維與開發者大會現場,51CTO記者獨家專訪騰訊社交網絡運營部助理總經理、技術運營通道會長趙建春。作為一個有著十年經驗的運維老兵,在他眼里運維的分工和理念有哪些變化?如何實現云時代的高效運維?企業未來還是否需要專業的運維管理團隊呢?
嘉賓簡介:
趙建春,騰訊社交網絡運營部助理總經理、技術運營通道會長、專家工程師。04年加入騰訊,先后從事過研發、運維、數據方面的建設和管理工作,在海量技術運營方面積累了豐富的實戰經驗。
騰訊社區網絡運維團隊主要負責以QQ延伸出來的各種社群的運維和維護,包括QQ空間、QQ音樂、QQ會員、QQ秀等一系列的QQ產品。整個團隊成員不到90人,卻維護著將近10萬臺服務器。在經歷了多次重大事件及活動的考驗和洗禮后,趙建春深刻感受到,運維團隊最最重要的職責就是保證系統的穩定、可靠,而不是做一名救火隊員。在可靠這件事解決之后,上才有更多時間提升整個運維工作的效率。
高效運維的兩大理念
談到高效運維,趙建春最喜歡拿建筑行業做對比。在他看來,建筑行業是人類歷史上一直存在的一項工作。發展到今天,搭建一個高樓就像搭積木一樣,能在短時間內迅速完成。這個過程實際做了大量的細分工作,每一個團隊都會把自己負責的,自己擅長的工作做到極致,做到最高效,最終交由設計師設計,拼裝起來就完成了。這對于運維領域也是一個很好的啟發。
- 專業領域細分
趙建春所在的團隊對接入運維、邏輯運維、存儲運維和業務運維的工作職責進行了明確的劃分。在接入運維、邏輯運維和存儲運維層面,通過專業的分式方式讓團隊每位成員都聚焦到更加細分的技術領域,把相應的工作做到更精更細更深。對于業務運維這部分,則是用一些對業務理解能力較好,協調能力較強的同事去對業務進行一些支撐及更多的溝通,更加專注于一些大的目標實現的事情,同時做一些優化的工作。
- 減少運維對象
具體到運維管理層面,趙建春一直強調的一個重要理念就是減少運維對象。運維其實管理挺復雜的一塊事情,一定要對內容和分析做一個清晰的邊界劃分,有一個比較好的分類,分類以后把每一類東西進行標準化建設和改造。具體來說,就是把服務器類型、機房數量、QA流程、容錯架構、軟件架構等都看成是抽象的、需要運維去管理的“對象”,對象越少,運維人員就越能深入和全面地掌握這些對象。這種尋找、合并同類項的過程,也是專業細分的一種手段。只有以上兩點作為基礎,才能談到實現高效運維。
大規模海量服務運維實踐
趙建春講到,維護海量服務時,出現的故障必須得到服務器及時的處理,不能影響項目服務。容錯方案就成為決定系統運維成敗的第一步。我們寫出來的程序和代碼、運行的實例都是運維團隊需要管理的資源。那么我們能不能對每個資源都定義一種形狀,然后進行搭建?
- 統一框架CMDBA
將某一業務模塊上所有依賴的資源全部登記進該統一框架。通過高效的監控手段、容量管理等方式進行快速決策和調度。
- L5系統
集容錯、負載均衡、路由、灰度監控能力于一身的容錯方案。 L5系統類似于DNS,底下有一排能提供的服務模塊,通過L5和DNS、L5和Agent兩個環節解決單點問題,并達到容錯和負載均衡的作用。
- 統一框架和架構
將整個網絡通訊列成一個標準框架, 業務邏輯部分以SO動態庫方式編寫,與框架分離部署,類似WEB服務器上的CGI。接入層用QZHTTP,邏輯層是SPP和SF的框架。框架的統一大大減少了運維成員學習的成本。實現了統一維護,極大提高通訊效率。
- 動態資源管理
騰訊在十多年的發展過程中積累了很多應對海量方面的成熟經驗。其中就包括騰訊云的CDN。騰訊有十億以上的用戶,遍布在全國各地,為了讓所有的用戶訪問資源更加快和近,騰訊將其做了超過500個節點,部署在離用戶最近的點上,把資源分發到離用戶近的地方。當出現訪問壓力時,騰訊云可以通過對用戶就近接入的物流策略進行動態的調度,讓用戶訪問就近的節點減少壓力。資源在分發時也會進行一個預先的推送,或者預拉取,防止在訪問的時候出現集中式的拉取資源的方式。
另外,騰訊云在全國上海、天津、深圳部署有QQ整體后臺的接入點,可以讓用戶進行跨地域的分布,從而解決高并發訪問時的資源調度問題。
第三,騰訊云會對訪問的整個鏈路進行分析,防止每次大的訪問量從前到后穿到整個鏈條上,而是會訪問到局部的模塊,來解決這些問題。
未來小公司的專業運維將逐漸消失
在采訪最后趙建春談到,云計算會變成未來的超級標準。從另外一個角度說,云計算就是IT產業的運維平臺,無論是傳統行業、創業者還是互聯網公司,都會在這個平臺上進行整個業務的運作,而不是把精力消耗在在基礎設施的維護和管理上。
像騰訊云服務經過過去幾年發展,尤其是去年表現出翻倍式增長,在全球已有50家數據中心,提供500家數據加速節點,超過10T整體帶寬,4T防DDOS攻擊能力,700萬+域名提供解析等公有云服務。近期,騰訊云也發布了新的戰略,推出“黑石”新品并公布出海計劃,不斷演進解決方案,提高服務能力。
所以對于小型公司來說,可能專業的運維將會慢慢消失,開發的人直接使用云計算的服務運維。而對于那些規模比較大的公司,租用的服務器比較多,涉及到一些混合云的方案,還是需要一定的管理人員,但是需求量不會像原來那么大。
未來是全面擁抱云的時代,對于運維人員來說,一定要建立學習云和使用云的意識,去主動擁抱云,適應云時代的運維需求。