騰訊科技(深圳)有限公司運營開發leader王鎮:基礎網絡DevOps的最佳...

2020-11-29 中國IDC圈

中國IDC圈訊,開放數據中心峰會(ODCC2020)在北京召開,峰會圍繞數據中心新基建為主題,有數據中心領域及相關行業的眾多專家與會。在9月16日智能監控與管理分論壇上,騰訊科技(深圳)有限公司運營開發leader王鎮做了以《基礎網絡DevOps的最佳實踐》為主題的精彩演講。

我是來自騰訊的王鎮,給大家的主題是《基礎網絡DevOps的最佳實踐》,我講的內容跟前兩位同事分享的有點不一樣。我們對於基礎架構的運營系統一般都會分南向和北向兩塊,前面兩位講的更多是南向跟設備相關的這些內容,我下面的分享主要是北向跟上層業務,基礎架構是幹什麼的?上面跑了很多應用也是運營系統需要對接起來的,今天主要跟大家分享基礎網絡的運營系統怎麼去做DevOps。

一、首先有一個問題:為何需要DevOps?

DevOps並不是一個很新的概念,騰訊基礎架構運營系統發展過程經歷了剛開始時候的人工、腳本、工具化、自動化,現在逐步邁入到數據化階段,在DevOps發展過程中根據自身的運營經驗和實踐去決定了DevOps可能是解決當前突出矛盾的一個比較好的方式。

總結過去有哪些比較突出的矛盾?

1、運營需求總是層出不窮,但每個運營需求提出之後,後面專業的開發總是要花比較多時間,因為開發過程有自己固有的規律,不可能今天提這個需求,明天就把開發功能放到線上去了,它後面要經過需求分析、代碼編寫、測試、持續維護的過程,過程時間非常長,肯定是沒法去滿足層出不窮的上層需求。

2、運營和開發是兩個團隊,他們之間的專業背景、知識以及所面臨的問題是不一樣的,有這樣的矛盾存在。

3、騰訊過去幾年在雲業務或雲網絡業務已經快速發展,我們除了內部海量用戶外,還有些騰訊雲公有雲業務,2年開始對外開放,私有雲客戶逐步加入進來,我們對應基礎架構運營系統服務的對象逐步豐富了,需要運營系統具備二次開發能力,這樣DevOps的需求也慢慢展現出來了。

二、如何理解DevOps?

DevOps並不是一個新技術,這是國內一個前輩根據過去多年經驗所總結出來的一個DevOps標準分級模型,有1-5級,通過了國際化標準認證。DevOps沒有帶來新技術,所有技術都可以在DevOps開發模式裡應用出來,主要目的是為了提升應用開發效率,解決上頁所提到的三個主要矛盾,解決的方式是以人為本,解決運營和開發供需的矛盾,從人性出發去解決深層次挑戰。

這是DevOps應用開發的現狀,是DevOps開發現有的成果,分兩方面:第一,DevOps的應用,是去運營伺服器、運營網絡、運營基礎數據中心的這些運維人員自己在DevOps平臺上所開發的上層應用。第二,基礎應用,原有專業開發基於同一套平臺上做的應用開發。這樣傳統的運營跟開發都基於同一套DevOps平臺互相做融合,踐行了一句話——「吃自己的狗糧」,怎麼理解這句話?它有兩方面含義:對於運營同學來說,把自己的需求落實到DevOps平臺裡,DevOps平臺出來上層有什麼問題,他首先會從自身層面出發會反思這些需求或者業務邏輯是不是有問題,對專業開發人員會看同一個DevOps平臺開發應用出了問題之後,是不是哪些功能沒有完善、哪些地方出了BUG,雙方會從自身角度去完善已知問題,雙方關係會越來越融洽,說明了怎樣以人為本。

DevOps最關鍵的前提是要把我們的運營事務流程化,過去去騰訊內部工具化、自動化、數據化繞不開的一個前提是把所有的運營事務流程化,我們把過去騰訊那麼多年的經驗做了總結,整理成這樣5個級別,我們現在大概處在LEVEL3級別,LEVEL3的重要參考依據是:1、體系化,所有運營事務都有對應流程跟它一一匹配,做到「無流程不運營」狀態,杜絕很多線下操作的環節,如果大家對資產這塊線下操作,現場更換硬碟或設備板塊,如果沒有線上流程對接,很可能換的這個板卡跟型號對接不起來,帶來比較多的問題。

2、部分流程完成生命周期管理,為什麼要講生命周期?流程上線之後如果沒有持續維護,久而久之,流程可用性和穩定性就得不到保證了。

3、完善OLA/SLA的管理,每個流程有自己的可執行時間,每個任務節點需要有預定完成時間,這裡從數據化層面把流程做到可運維。

4、工具快速敏捷迭代,這涉及到二次開發能力,我們運營系統不單是服務內部,很有可能有非常多外部客戶,特別是小型私有雲客戶也需要用到。右手邊是展示了我們把運營事務集中,業務邏輯落地到流程圖的方式展現出來,這是其中一個例子。

三、如何建設DevOps系統?

我們應用了一個DDD模式自上而下去設計DevOps平臺基礎模塊,重點關注DDD領域層。建立DevOps平臺,主要有四個大模塊需要建立起來:

第一塊,流程可編排。右手邊有個流程圖,運營人員根據自己日常運營需求把業務邏輯用流程圖的方式編排出來,編排過程需要提供流程畫布,讓大家通過上層業務邏輯通過流程圖展現出來。

第二塊,每個流程圖有很多任務節點,每個任務節點只是擺在那裡而已,它的工作是什麼呢?它底層有個任務管理、應用管理模塊去實現這裡面具體的任務節點。

第三塊,數據運營。每個流程建立起來之後,怎麼知道這個流程執行的效果如何?歷史流程執行效率怎樣?運營事務當前能力成熟度怎樣?都需要在我們流程裡提取數據做事後分析,意思是我們可以做個數據化的運營。這裡面依賴重要一點,運營節點裡面需要有非常細的打點信息,打點信息回來之後形成歷史數據積累,後面做數據化運營工作就非常便利了。

第四塊,異常管理。異常管理是做DevOps監控的,DevOps平臺可以用來監控基礎設施,但是DevOps平臺本身也需要一個監控,我怎麼知道這個平臺當前運營的狀態怎樣、它的健康度有沒有受損?所以這裡有個異常管理模塊。

四、我們如何建設DevOps系統?

DevOps平臺也分南向和北向,從南到北分三個層次:

第一層,面向設備命令模板。把很多設備的硬體建模、配置都做成一個模板的形式,這樣就可以減少網絡運營人員對於不同廠商設備需要去定製很不一樣的命令參數,這些很不一樣的命令參數都以模板形式封裝起來了。

第二層,業務函數。

第三層,業務流程。業務函數和業務流程都是跟上層應用相關的,這裡我們不是用模板形式把它封裝起來,而是從軟體開發角度用SDK方式把它包裝起來。如果很多業務函數、業務流程如果具有是復用性的,都做成SDK的方式封裝起來,並且通過標準化接口在SDK裡暴露出來,而且這個SDK裡具備服務發現的功能。

總體一個原則,設備和業務邏輯都需要經過抽象和標準,儘可能減少開發代碼的寫入,這裡有個標題叫「無代碼化開發」,並不是說一行代碼都不寫,而是說儘量以可配置、可復用模式減少寫代碼的工作量,因為畢竟運維人員不是專業的開發,他們想用拖拽或者可配置的方式把業務邏輯通過這個流程接起來。

建設DevOps系統有一個開發生命周期的管理,開發工作要經歷幾個步驟?第一,做需求管理,第二,寫代碼開發,第三,做流程管理、任務調度管理、異常管理,這裡內容比較多,我就開發管理模塊具體來講,因為這塊是跟運維同學打交道最多的地方。接到一個開發需求之後提供一個便捷的IDE,就是在哪裡寫這個代碼,剛開始C++有一個,現在寫Python也有,但這些比較專業的ID工具都有上手的門檻,使用ID工具以培訓課程的方式推薦給大家做些宣導。代碼寫完之後做代碼管理、單元測試、持續集成、持續部署,這些配套的過程都需要建立起來,這些在我們內部已經有很成熟的管理體系了,我們借用業界成熟的通用組件和內部高效的組件,可以快速把DevOps平臺這幾個模塊搭建起來。

DevOps系統建立起來怎麼部署?剛開始只有一套部署方式是內部docker化部署,但是這幾年DevOps平臺在騰訊雲外部私有雲用戶裡也有部署,所以我們也做了單機部署的方式,總體原則是希望DevOps平臺做到簡單可依賴,而且接口可以開放出來提供底層能力,這當然要根據用戶具體需求,到底它是需要底層設備的掌控能力?還是需要底層設備的流量+數據?我們開放出來,基礎信息已經抽象提煉好放到統一的存儲空間裡,有標準化的HTTP接口對外提供出來,都是可以按需去提取的。DevOps平臺沒有任何一個界面,界面方式是由各個終端用戶自己去定製的,我們提供的是標準化的API接口。

再講講運維DevOps平臺相關的產品化控制臺。除了要面向多用戶,剛開始運營系統是面向開發人員,但是後面除了開發人員外,還有運營人員也需要開放這個能力。第二塊,底層能力,流程圖流程跑的情況怎樣、任務調度管理線程怎樣、權限管理,這些都需要開放出來,讓上層運營人員可定製的方式進行迭代,儘量減少專業開發人力的投入。

這裡我們設計了一個培訓認證體系。DevOps平臺具備一定的門檻,不是新人進來花一兩周時間就能接觸到DevOps平臺或者基於DevOps平臺開發上層應用,所以我們會有培訓體系,完成開發知識基礎課程、DevOps功能開發、demo流程實戰之後會給他上崗證,根據不同層次、不同級別頒發證書。例如有些同學只是寫寫硬體模板、設備模板、配置模板,有不同級別分別去頒發。還有些高階的同學從南到北,從上層應用到設備的命令模板都可以處理好,這種給他頒發級別比較高的證書。

五、DevOps平臺最差實踐

既然DevOps有最佳實踐,也有最差實踐,過程中並不是一帆風順的,總結過程中的兩方面:

第一,我們做得不夠的地方。例如研發效率低下,例如有些同學介入開發之後在本地開發時由於網絡策略問題導致接口調不通了,這都是我們平時做得不夠的地方,因為DevOps平臺需要做的事情太多了,專業開發人力有限,前期平臺功能非常多,需要我們準確識別哪些功能是必備的、哪些功能是可以放一放的。

第二,我們做得太多的地方。就是之前我們想多了,因為這個東西沒有前人積累、沒有對標產品可以借鑑,都是我們摸著石頭過河,通過大家一步步相互磨合,邊用邊優化方式把DevOps平臺完善起來。

六、DevOps體系度始終

我們不希望DevOps在騰訊內部是很閉塞的系統,我們利用各方力量完善DevOps平臺,這有兩方面:

第一,運營商接口打通,跟設備供應商打通,例如設備板卡有問題了,跟硬體相關的線上需求,都通過標準接口打通。

第二,DevOps通過DCOS系統對外服務,目前DCOS通過騰訊雲這個平臺在全國各地部署了100多個局點,大家使用DCOS平臺後會反饋使用過程中的不足,或者使用過程中還有哪些功能點需要優化,不斷反饋回來。我們希望DevOps平臺推出去之後,大家可以多使用、多提優化意見,大家一起去共建DevOps平臺,讓DevOps平臺的功能越來越多,問題越來越少。

謝謝大家!

相關焦點

  • 海中金網際網路科技有限公司
    海中金網際網路科技有限公司 SEAGOLD Internet Technology
  • 騰訊入股遊戲公司無端科技
    摘要 【騰訊入股遊戲公司無端科技】11月20日,浙江無端科技股份有限公司發生工商變更,出資方式備案新增廣西騰訊創業投資有限公司,後者由深圳市騰訊產業投資基金有限公司全資持股。
  • 深圳電視臺深圳直通車報導――深圳華通威國際檢驗有限公司
    檢驗檢測認證作為國家質量基礎的要素,是建立社會經濟活動最佳秩序的技術準則、推動科技創新激發市場活力的技術平臺,實現質量提升促進轉型升級的技術基礎,參與國際競爭維護國家核心利益的技術手段,也是國家維護社會公平、保護環境、保護人類和動植物生命健康、促進技術進步和生產發展以及維護民生的重要支撐。
  • ChinaJoy4_中國國際數碼互動娛樂產品及技術應用展覽會_騰訊遊戲頻道
    Shanghai) Co., Ltd 1008 網禪(上海)軟體開發有限公司 Webzen Inc.
  • 深圳中星泰科技創業投資股份有限公司
    機構簡介  南方網訊 深圳中星泰科技創業投資股份有限公司是由山東勝利東勝、山東省資產管理公司等七家企業發起成立的風險資本投資管理公司,註冊地中國深圳,註冊資本  公司致力於風險資本市場運作,主要從事科技風險項目投資、投資顧問、信息諮詢等。與國際接軌、專業管理,通過資金投入和資本營運,參與企業創業,並同企業一起成長。  下設發展研究部、投資管理部、財務部和綜合部。
  • 騰訊重拳打擊「群控」起訴四家公司獲賠超6400萬
    這些群控軟體攪動虛假流量風生水起時,受傷最深的卻是網絡平臺和普通用戶,網絡平臺當然不會坐視不管。2019年5月,騰訊公司以不正當競爭為由發起三宗起訴案件,把從事群控軟體設備開發銷售的四家公司訴至深圳市中級人民法院(以下簡稱「深圳中院」)。
  • 騰訊、阿里參與運營同一家公司:目的地智慧旅遊熱潮迎運營大考
    其中一個細節是,「智遊天府」運營公司也有騰訊身影,該公司籤約方之一新騰數致網絡科技有限公司,是騰訊和新希望集團共同投資組建的公司(去年3月騰訊入股,成為第二大股東)。而阿里巴巴的參與籤約方是浙江阿里旅行投資有限公司。這意味著,騰訊、阿里又在同一家公司合力「共謀」。
  • 深圳寫字樓租金猛降四成,騰訊砸85億買風水寶地
    11月29日,深圳科技(騰訊)有限公司以85.2億元的底價,拍下了這宗位於深圳市寶安區西鄉街道大鏟灣的1002-0076宗地。該宗地的出讓條件包括:首期開發地塊須建設會議中心、酒店、科技展覽館、1座數據及智慧控制中心、1座片區匯聚己方、1座垃圾轉運站以及1座110千伏變電站。
  • 網絡文學IP產業鏈的開發——以網絡小說《擇天記》為例
    摘要:經過多年的發展,網絡文學已經發展到成熟階段,優質網絡文學IP業已成為文化產業爭先挖掘的對象,是否具備深度開發潛力的內容基礎,是否擁有海量級的粉絲基數,已成為了判斷IP是否優質的重要標準。
  • 用友網絡:分拆所屬子公司用友汽車信息科技(上海)股份有限公司至...
    科技股份有限公司關於分拆所屬子公司用友汽車信息科技(上海)股份有限公司至科創板上市的預案》 本公司、公司、上市公司、 用友網絡 指 用友網絡科技股份有限公司 用友汽車 指 用友汽車信息科技(上海)股份有限公司,用友網絡所屬子公司 本次分拆上市 指
  • 未來可期 廣州華多網絡科技有限公司全球化發展路上兼顧網絡詐騙打擊
    未來可期 廣州華多網絡科技有限公司全球化發展路上兼顧網絡詐騙打擊 2020-09-25 13:42:59 來源:壹點網 編輯: 廣州華多網絡科技有限公司成立於2005年,如今已經走過15年的時光,這期間
  • 硬科技投向標|寧德時代聯合領投地平線 富士康投資拜騰
    柔宇科技招股說明書顯示,此次IPO,公司擬將144.39億元募集資金用於柔性前沿技術研發項目、柔性顯示基地升級擴增建設項目、柔性技術的企業解決方案開發項目、新一代柔性智能終端開發項目及補充流動資金。滴滴成立於2012年,成立八年間,滴滴融資上千億元,曾獲得軟銀、阿里巴巴、騰訊等支持。
  • 四維圖新:參股公司六分科技引入騰訊作為戰略投資者
    【TechWeb】4月20日消息,四維圖新對外發布公告稱,參股公司六分科技增資擴股並引入騰訊作為戰略投資者,騰訊全資子公司林芝騰訊科技有限公司擬以人民幣1.2億元認購六分科技600萬元人民幣新增註冊資本,投後持股比例為9.53%。
  • 實習 | 網易公開課、騰訊新聞《十三邀》、完美星空、阿蒙工師、九星文化招實習生啦!
    騰訊新聞《十三邀》(北京)節目組內容運營實習生完美星空(北京)實習生阿蒙工師(深圳)後期製作實習生騰訊新聞《十三邀》(北京)節目組內容運營實習生 4、有基礎的內容運營感覺,對製作和傳播真正好的東西有執念。5、到崗時間:6月底6、你不是一個「小編」也不止是運營,你將和我們一起參與內容策劃。當然也不止《十三邀》、《十三遊》,我們希望跟你一起探索新的媒體敘事形式。
  • 深圳17家欠薪企業被曝光 一家竟然欠薪97萬
    人社局已經公布名單了,大家來看看有沒有認識的:這17家用人單位分別是奧斯坦丁企業管理(深圳)有限公司、深圳儒仁投資控股有限公司、深圳前海興業健康管理有限公司、深圳市乾娛科技有限公司、深圳市順天集團有限公司、深圳市國有支付清算信息科技有限公司、深圳恆眾投資有限公司、深圳晶網科技控股有限公司、深圳市杉廉機電設備有限公司、深圳市超為精密電子科技有限公司、深圳清風網絡科技有限責任公司
  • 騰訊投資入股摘星網絡,後者為《雞你太美》系列開發商
    企查查App顯示,近日摘星網絡科技(崑山)有限公司(簡稱「摘星網絡」)發生工商變更,投資人上海海隆軟體有限公司退出,新增投資人林芝騰訊投資管理有限公司。企查查顯示,摘星網絡科技(崑山)有限公司成立於2018年8月,註冊資本1000萬元,法定代表人為李納川,經營範圍包含計算機領域內的技術開發、技術諮詢、技術轉讓、技術服務;計算機系統集成等。企查查知產信息顯示,該公司已登記「雞你太美」等多款遊戲軟體的著作權。從TapTap平臺中可以看到,摘星網絡的待發新作《 炸雞派對!》有近百萬人預約。
  • 「第三屆大數據、人工智慧與金融科技會議」圓滿落幕
    香港中文大學(深圳)經管學院執行副院長張博輝教授,清華大學深圳國際研究生院林健武教授,中山大學管理學院陳玉罡教授,山東財經大學金融學院院長彭紅楓教授,廣州金融科技股份有限公司總經理李傑,華夏基金股票投資部總監劉平,廣州估值狗網絡科技有限公司市場總監黎江,騰訊金融雲資管行業資深產品經理郝競超,國信證券金融業首席分析師王劍等多位學界、業界專家應邀作精彩主題演講
  • 樊登讀書深圳攜手九河網絡登上深圳最高山梧桐山
    2019年10月18日早上8點,樊登讀書深圳的同事們幫助企業組織戶外團建活動,攜手深圳九河網絡的小夥伴們一起坐上大巴,出發始往梧桐山,這一天,天氣晴朗,陽光明媚。這裡是登頂梧桐山的主要入口,傳統盤山公路、泰山澗路線、麻水鳳路線、桃花源路線等都由此進入。
  • 除了華為、騰訊,深圳還有哪些創新「明日之星」?
    除了耳熟能詳的華為、騰訊們,深圳這座創新之城,還有哪些代表未來的「明日之星」企業?9月7日,中國(深圳)綜合開發研究院「特區40年」課題組發布了《新40年·新40企——深圳未來發展的新力量》報告。(數據來源:中國(深圳)綜合開發研究院)從這40家企業的行業分布來看,深圳的強項在於硬科技,培育了華為、比亞迪、中興、華星光電、大族雷射等一批企業;相比之下,網際網路綜合服務中入選的僅有騰訊一家。
  • 廈門金龍聯合汽車工業有限公司被評為2003年度最佳客車製造商
    2003年3月18日,亞洲客車之夜,在2003年度亞洲客車大獎(BAAV)頒獎典禮上,廈門金龍聯合汽車工業有限公司被評為了「2003年度最佳客車製造商」。