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

2020-12-23 中國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平臺的功能越來越多,問題越來越少。

謝謝大家!

相關焦點

  • ODCC 2020開放數據中心峰會亮點劇透之DevOps模式的基礎網絡監管控
    2020年,伴隨著新基建政策的出臺,以數據中心為代表的算力基礎設施進入加速發展軌道,其重要性日漸提升。在政策指引下,全國各地區開啟了新一輪的數據中心建設熱潮。9月15-16日,ODCC 2020開放數據中心峰會—"數據中心新基建、星辰大海新徵程"即將在京拉開帷幕。
  • 2020 Gdevops全球敏捷運維峰會在北京圓滿落幕
    騰訊雲資料庫副總經理 王義成——國產資料庫浪潮下的雲上實踐與思考王義成老師基於全球資料庫發展趨勢,分享了騰訊雲資料庫如何將雲計算、新基建、資料庫的能力進行融合創新,以及自主創新研發新型國產資料庫技術背後的歷程,並結合實際應用案例介紹了國產資料庫在金融和政務領域的最佳實踐
  • 騰訊入股成都凡帕斯網絡科技有限公司 後者從事網路遊戲研發、製作...
    來源:金融界網站天眼查數據顯示,6月8日,成都凡帕斯網絡科技有限公司發生工商變更,其中出資情況新增林芝騰訊投資管理有限公司,與此同時,公司註冊資本由原來的100萬人民幣新增至約145萬人民幣,增幅為45.45%。
  • 騰訊在天津成立了新的騰訊網絡技術有限公司
    打開APP 騰訊在天津成立了新的騰訊網絡技術有限公司 佚名 發表於 2020-03-19 09:54:11 天眼查數據顯示,近日,騰訊於天津成立新公司,即天津騰訊網絡技術有限公司。
  • 小程序服務商微盛網絡獲紅杉、騰訊戰略投資
    小程序服務商微盛網絡獲得戰略投資,投資方為紅杉、騰訊。天眼查顯示,日前,江蘇微盛網絡科技有限公司新增股東:深圳紅杉宇辰投資合夥企業(有限合夥)、深圳市騰訊創業創新發展有限公司。此外,公司註冊資本增至1388.8888萬元。
  • 深圳騰訊公司參與成立新公司 涉雲計算與大數據開發
    鳳凰網科技訊 7月2日消息,天眼查數據顯示,6月30日,深圳鼎訊智城科技有限公司成立,註冊資本2000萬人民幣,法定代表人為徐海鵬,註冊地為深圳市坪山區,公司經營範圍包括智慧城市項目設計、開發、建設、運營與管理;雲計算和大數據的開發與銷售;網際網路信息服務;人力資源服務等。
  • 深圳電視臺深圳直通車報導—睿博天米科技(深圳)有限公司
    睿博天米科技(深圳)有限公司是一家來自以色列的國際化科技公司,專注於智慧機器人的研發、製造和銷售,基於對極具科技美感產品的熱愛和對人類 美好智能生活的探索,推出以核心技術驅動的temi機器人並迅速發展。先後在紐約、深圳和新加坡設立分公司,推動業務在全球的同步運營。
  • 無貨源運營_北京普亞智新網絡科技有限公司
    無貨源運營,北京普亞智新網絡科技有限公司,北京普亞智新網絡科技有限公司成立於2020年3月,由西安龍創思維網絡科技有限公司遷址而來,公司成立初期由兩人自主研發項目,直至今日擴大到近百人團隊,現如今設立線下銷售部50人,線上運營23人,客服35人,美工技術10人,產品開發3人,技術支持4人,線上銷售部於2020年初設立發展,不斷擴大規模佔領市場份額
  • 成立金騰科技,騰訊金融科技與中金公司攜手發展
    據天眼查, 6 月 24 日,中金公司與騰訊數碼(深圳)有限公司(成立金騰科技信息(深圳)有限公司,其中,中金公司持股51%為大股東。騰訊數碼為騰訊間接持有的一家全資附屬公司。
  • 智慧發展 安全先行——騰訊(寧波)網絡安全研究中心落戶中國雲城
    2018年6月6日,華晟基金管理(深圳)有限公司與騰訊安全聯合創建的騰訊(寧波)網絡安全研究中心(以下簡稱研究中心)在位於寧波餘姚的中國雲城河姆渡創新產業園正式揭牌,共同打造華東區域網絡安全、金融安全的研發和服務中心。
  • 深圳騰駿網絡科技有限公司增進團隊凝聚力,為客戶提供專業服務
    深圳騰駿網絡科技有限公司自2013年成立至今,發展成為擁有500餘人的專業服務團隊,為50000餘名電商創業者提供電商創業孵化服務,離不開公司各團隊成員敬業愛崗、全力以赴的精神及客戶的信任與支持。齊心聚力,提供十對一專業服務深圳騰駿網絡科技有限公司也深知團隊在企業發展過程中的重要性,一直非常注重團隊文化建設及團隊專業性的提升。
  • 騰訊音樂註冊成立新公司——深圳一立特娛樂有限公司
    上證報中國證券網訊(記者 溫婷)天眼查顯示,2020年12月18日,深圳一立特娛樂有限公司成立。該公司註冊資本500萬元,法定代表人為楊怡,由騰訊音樂娛樂科技(深圳)有限公司全資控股,後者為騰訊音樂子公司。
  • 除了騰訊華為,深圳這些「寶藏」公司你得知道!
    短短四十年,中國南方的這個小漁村跑出了世界矚目的「深圳速度」,也聳立起「中國矽谷」。這片不到2000平方公裡平方公裡的土地,孕育出了一大批科技龍頭:華為在這裡紮根,騰訊、中興在這裡壯大,大疆從這裡蜚聲國際,金蝶從這裡起飛…
  • 龍崗區領導率隊到深圳灣科技發展有限公司有關產業園區調研
    龍崗區擬與深圳市投資控股有限公司建立全面深入合作關係,共同打造幾個代表創新創業最高水準的產業園區項目。1月5日,區委書記張禮衛、區長代金濤率隊到深圳灣科技發展有限公司有關產業園區調研,指出龍崗區要充分學習深圳灣科技園區建設運營經驗,雙方建立全面深入的合作關係,助力龍崗未來產業發展。
  • 2020Gdevops北京站 中郵消費金融李遠鑫解讀敏捷運維背後的深度...
    維峰會在京舉辦,中郵消費金融有限公司部門負責人、資深架構師李遠鑫受邀出席,並發表「敏捷消費金融中臺架構下的深度服務治理」主題演講,系統分享了中郵消費金融現代化服務治理體系以及在敏捷開發過程中的實踐經驗。
  • 【騰訊科技(深圳)有限公司申請量子計算相關專利】天眼查顯示,近日...
    【騰訊科技(深圳)有限公司申請量子計算相關專利】天眼查顯示,近日,騰訊科技(深圳)有限公司新增多條專利信息,其中包括「量子晶片、量子處理器及量子計算機」。申請公布日在2020年11月。
  • 紅杉騰訊入股小程序服務商微盛網絡
    原標題:紅杉騰訊入股小程序服務商微盛網絡   企查查APP顯示,昨日,江蘇微盛網絡科技有限公司
  • 多多自走棋結束與騰訊運營關係 轉由龍淵網絡繼續運營
    【17173整理報導】《多多自走棋》宣布基於全球發行策略的統一考量,經騰訊遊戲與開發商友好協商,將於2020年8月5日11點正式停止《多多自走棋》在中國大陸地區的運營。玩家將可以獲得相應補償。
  • 深圳玩智商科技有限公司參評「維科杯 ·OFweek 2020中國機器人...
    維科杯 · OFweek 2020機器人行業年度評選「OFweek Robot Awards 2020」將於2021年1月16日-2月5日為網絡投票階段,頒獎典禮將於4月7日在深圳舉辦。目前,活動正處於火熱的報名評審階段,業內企業積極響應。深圳玩智商科技有限公司已正式參評「維科杯·OFweek 2020中國機器人行業年度新銳人物獎」。