當(dāng)前位置:首頁 > 公眾號精選 > 架構(gòu)師社區(qū)
[導(dǎo)讀]本文主要講述如何利用DevOps的模式,打造一個可配置、Codeless的運(yùn)營平臺,實現(xiàn)上層業(yè)務(wù)應(yīng)用由運(yùn)營人員自行開發(fā)的目的。

在SDN及云網(wǎng)絡(luò)大行其道的背景下,運(yùn)營系統(tǒng)的開發(fā)工作面臨著新的挑戰(zhàn)。傳統(tǒng)的運(yùn)營定義需求、由專業(yè)開發(fā)端到端實現(xiàn)上線的模式已經(jīng)難以為繼。本文主要講述如何利用DevOps的模式,打造一個可配置、Codeless的運(yùn)營平臺,實現(xiàn)上層業(yè)務(wù)應(yīng)用由運(yùn)營人員自行開發(fā)的目的。DevOps作為一種重視軟件開發(fā)人員與運(yùn)維人員的溝通合作的文化及管理手段,已經(jīng)在系統(tǒng)需求管理、開發(fā)構(gòu)建、部署發(fā)布等場景顯示出其便捷、可靠等優(yōu)勢。騰訊網(wǎng)絡(luò)在基礎(chǔ)架構(gòu)海量運(yùn)營中積累了不少經(jīng)驗,基于DevOps的理念重新設(shè)計了運(yùn)營系統(tǒng)的軟件架構(gòu)。接下來,會介紹該系統(tǒng)在事務(wù)流程化、Codeless、開發(fā)生命周期管理、產(chǎn)品化等方面的實踐經(jīng)驗。
為什么要引入DevOps模式?
網(wǎng)絡(luò)DevOps探索與實踐


老的開發(fā)模式這樣會出現(xiàn)多個問題:

  • 最常見的一個場景:開發(fā)這邊的排期已經(jīng)到2個月之后,運(yùn)營這邊覺得太晚了。但前面確實有那么多開發(fā)需求待實現(xiàn)。開發(fā)搞不過來了。
  • 某些新的監(jiān)控項目,運(yùn)營通過具體的數(shù)據(jù)才能知道該功能的業(yè)務(wù)價值;開發(fā)的同學(xué)把功能上線后,就忙著下一個需求了,對后續(xù)的運(yùn)營關(guān)注不多。經(jīng)常會導(dǎo)致歷史上積累了非常多的工具系統(tǒng),但作用都很寥寥。
  • 基礎(chǔ)架構(gòu)的運(yùn)營系統(tǒng),原來只針對自研業(yè)務(wù)做了大量的功能;后來到公有云,現(xiàn)在也有大量的私有云客戶,服務(wù)的對象發(fā)生了變化。外部的客戶對功能需要做二次開發(fā),需要具備DevOps能力。

為了解決以上這些問題,需要系統(tǒng)化的來進(jìn)行解決。根本上來說,就是要以人為本,提升運(yùn)營與開發(fā)的滿意度,DevOps是一個切實可行的方案。
網(wǎng)絡(luò)DevOps探索與實踐
DevOps沒有發(fā)明任何新技術(shù),他只是一種軟件開發(fā)的模式。這里有個DevOps的分級模型,是國內(nèi)業(yè)界的前輩制定了一個規(guī)范,最近也已經(jīng)通過了ITU-T組織的審核。這里內(nèi)容比較多,不逐一贅述?;A(chǔ)架構(gòu)DevOps的實踐過程,是借鑒其理念,讓大家都在同一個簡單易用的軟件平臺上進(jìn)行合作開發(fā),達(dá)到服務(wù)快速上線目的。其中最主要的一個關(guān)鍵點(diǎn)就是雙方要進(jìn)行融合,互相促進(jìn)。
騰訊網(wǎng)絡(luò)運(yùn)營DevOps系統(tǒng)的現(xiàn)狀
網(wǎng)絡(luò)DevOps探索與實踐
騰訊的網(wǎng)絡(luò)運(yùn)營先后經(jīng)歷人工操作、工具腳本、自動化等這幾個階段。運(yùn)營團(tuán)隊,就是我們熟悉的網(wǎng)工,過去都有專業(yè)的開發(fā)人員來進(jìn)行配套的工具系統(tǒng)開發(fā)。在過去幾年,網(wǎng)工們的開發(fā)能力持續(xù)提升,在DevOps平臺的加持下,已經(jīng)掌握了通用的開發(fā)能力,一些運(yùn)營過程中需要的功能,可以基于DevOps平臺自行開發(fā)了。這樣,傳統(tǒng)的開發(fā)人員和網(wǎng)工,都可以基于這個統(tǒng)一平臺來“吃自己的狗糧”。運(yùn)營人員自行開發(fā)功能,上線后出現(xiàn)問題,反查自己設(shè)計的業(yè)務(wù)邏輯;開發(fā)人員主導(dǎo)開發(fā)功能發(fā)布后,出現(xiàn)了bug,也自己定位代碼或者平臺的問題。這樣,發(fā)現(xiàn)問題后,都先從自身出發(fā)來排查,減少了互相埋怨,大家的關(guān)系也相對融洽起來。
如何建設(shè)DevOps平臺?
我們把建設(shè)的過程分以下6個方面來介紹。
1、上層規(guī)劃 – 運(yùn)營事務(wù)流程化

網(wǎng)絡(luò)DevOps探索與實踐
無流程不運(yùn)營。我們在內(nèi)部先把這個意識先進(jìn)行了統(tǒng)一,這個是DevOps開發(fā)的前提,也是DevOps任務(wù)可編排的前提。我們經(jīng)常說可編排,編排完了之后,不就是由一個個編排后節(jié)點(diǎn)串接起來的流程嗎?下面跟大家介紹下我們內(nèi)部總結(jié)出來的流程成熟的模型。初步評估,騰訊基礎(chǔ)架構(gòu)運(yùn)營處在level 3這個階段。怎么解讀呢?

  • 流程體系化,是指我們各個運(yùn)營業(yè)務(wù)基本都有了對應(yīng)的線上流程。幾乎不存在線下操作的場景了。
  • 部分的流程完成生命周期管理,這個是對流程控制端到端的一個需求。
  • 較為完善的OLA/SLA管理,有了詳細(xì)的OLA數(shù)據(jù),我們就能對每個工單的實施過程都能詳細(xì)的分析和管理。
  • 工具系統(tǒng)敏捷迭代,系統(tǒng)工具除了能直接解決業(yè)務(wù)的需求,還要有二次開發(fā)的能力。
網(wǎng)絡(luò)DevOps探索與實踐


在系統(tǒng)架構(gòu)頂層設(shè)計方面,我們使用DDD—領(lǐng)域驅(qū)動設(shè)計的模式,具體到DevOps平臺,著重領(lǐng)域?qū)拥膶嵺`。把DevOps的整體功能模塊分為四大塊:

  • 可視化編排平臺:這個是運(yùn)營事務(wù)流程化的具體落地方式。流程圖讓業(yè)務(wù)邏輯可以非常直觀的展示出來。
  • 應(yīng)用管理模塊:方便用戶參與開發(fā)。SDK的方式,是開源共建的基礎(chǔ),減少了大量重復(fù)代碼;權(quán)限管理,有效避免了用戶之間的互信影響。
  • 數(shù)據(jù)運(yùn)營模塊:數(shù)據(jù)化管理。流程及工單數(shù)據(jù)每天都會以非常大的量級增長,沒有完善的任務(wù)超時告警及運(yùn)營數(shù)據(jù)自動收集分析功能,后續(xù)的業(yè)務(wù)維護(hù)會非常耗時耗力。
  • 平臺管理:是系統(tǒng)運(yùn)維的重要窗口。讓人人可運(yùn)維成為可能。
2、業(yè)務(wù)邏輯 – 無代碼化開發(fā)
網(wǎng)絡(luò)DevOps探索與實踐
無代碼化開發(fā),并不是指一行代碼都沒有。而是盡量減少編碼的場景。在很多模塊中,DevOps平臺把設(shè)備命令模板層、業(yè)務(wù)函數(shù)、業(yè)務(wù)流程及觸發(fā)規(guī)則等這四個層次,都用對應(yīng)的模板或SDK封裝起來,形成可復(fù)用的邏輯。這里列舉的是命令模板這一層的封裝。對于運(yùn)營人員來說,在DevOps體系的驅(qū)動下,開發(fā)能力逐步提升。同時,通過配置化或少量的代碼,可以用極低的成本,快速開發(fā)上線驗證類的功能,不需要任何專業(yè)開發(fā)資源投入,大大較少試錯的成本。
3、DevOps的生命周期管理
這里是從DevOps開發(fā)的新模式出發(fā),把過程中需要配套的功能點(diǎn)逐一進(jìn)行完善,從而完成了DevOps開發(fā)整個生命周期的管理。
網(wǎng)絡(luò)DevOps探索與實踐
  • 需求管理。對需求進(jìn)行建模,把功能點(diǎn)往各個預(yù)分配好的領(lǐng)域靠攏,避免功能碎片化。在騰訊內(nèi)部,有TAPD工具對需求做詳細(xì)跟蹤,保證落地效果。
  • 開發(fā)環(huán)境。這個是參與DevOps開發(fā)同學(xué)最關(guān)心的地方,直接關(guān)系到開發(fā)效率。主要涉及環(huán)境統(tǒng)一配置、代碼版本管理、測試覆蓋及CI/CD等環(huán)節(jié)。
  • 流程管理。事務(wù)流程化后,會產(chǎn)生非常多的流程,流程圖需要方便創(chuàng)建及修改;其次在工單建立后,會馬上實例化,任務(wù)執(zhí)行過程中的異常超時基礎(chǔ)配置需要在OLA/SLA中進(jìn)行配置。
  • 任務(wù)管理。具體事務(wù)的操作,更多的是調(diào)用第三方接口和對設(shè)備進(jìn)行查詢操作。需要全程對任務(wù)的執(zhí)行過程進(jìn)行跟蹤,其次需要把可以復(fù)用的代碼通過SDK有效管理起來,避免重復(fù)開發(fā)。
  • 運(yùn)維管理。這塊是整個DevOps平臺的后腰,保證系統(tǒng)的正常運(yùn)行,以及出現(xiàn)問題后快速恢復(fù)。
4、可維護(hù) – 產(chǎn)品化的控制臺
網(wǎng)絡(luò)DevOps探索與實踐


提供便于DevOps應(yīng)用開發(fā)和運(yùn)維的Web控制臺,旨在通過頁面可視化以及頁面可操作的手段,提升開發(fā)和運(yùn)維效率。在過去,我們講的D/O分離是指開發(fā)與系統(tǒng)運(yùn)維的分工。在DevOps時代,運(yùn)維工具不但面向?qū)I(yè)開發(fā)人員,也需要面向業(yè)務(wù)開發(fā)人員,讓大家在同一個控制臺中發(fā)現(xiàn)問題、定位問題。在運(yùn)維底層功能方面,我們把流程實例管理、任務(wù)管理及控制臺的功能,按不同的角色進(jìn)行開放。本著誰開發(fā),誰負(fù)責(zé)的原則,大家一起共同把系統(tǒng)平臺及業(yè)務(wù)功能模塊的可用性維護(hù)起來。
5、認(rèn)證管理 – 建立崗前認(rèn)證培訓(xùn)體系
網(wǎng)絡(luò)DevOps探索與實踐
DevOps是一個以人為本,回歸人性的一種開發(fā)運(yùn)維文化,其效果體現(xiàn)更多的是在于人,在于從業(yè)人員能力的提升,更注重開發(fā)人員的感受。所以,在內(nèi)部有一個DevOps的認(rèn)證體系,經(jīng)過這個體系的培訓(xùn),可以讓一個小白用戶從零開始逐步上手。這個培訓(xùn)體系主要分為四個步驟:

  • 開發(fā)知識基礎(chǔ)。主要是學(xué)習(xí)開發(fā)環(huán)境、代碼管理及代碼檢查一些基礎(chǔ)的知識。
  • DevOps功能開發(fā)。這個是按照基礎(chǔ)架構(gòu)運(yùn)營功能的特點(diǎn)來展開的,主要的內(nèi)容包括需求的提煉匯總,把運(yùn)營需求用流程圖的形式展示出來,然后進(jìn)行任務(wù)節(jié)點(diǎn)的邏輯代碼編寫。
  • demo實戰(zhàn)。經(jīng)過以上兩個階段的學(xué)習(xí),這里可以開始動手了。
  • 經(jīng)過一系列培訓(xùn),通過考試后,對學(xué)員頒發(fā)證書。并根據(jù)不同的能力水平,證書也會區(qū)分一級、二級和三級。
6、最差實踐 – 坑點(diǎn)
我們的題目叫“最佳實踐”,但這個過程并不是一帆風(fēng)順的,過程中經(jīng)歷了非常多的挫折與不理解。我們把這些因為考慮不完善而踩坑的地方總結(jié)了幾個最差實踐。
網(wǎng)絡(luò)DevOps探索與實踐

第一方面就是主要功能點(diǎn)缺乏,用戶使用滿意度不高。
1)嘗試去優(yōu)化某個具體的環(huán)節(jié),而忽略了全局優(yōu)化的可能
前期缺少頂層設(shè)計,舉個例子,我們之前一直以為畫流程圖是用戶接觸DevOps系統(tǒng)的第一個界面,是業(yè)務(wù)需求轉(zhuǎn)化的第一步。就千方百計的把畫流程圖的界面進(jìn)行優(yōu)化。但用戶在畫完圖了后,后面就很少會關(guān)注了。
2)產(chǎn)品化不夠,用戶使用不夠友好
一個功能完備的DevOps平臺就跟建設(shè)一座城市或一個小區(qū)一樣,有太多的功能點(diǎn)需求開發(fā)。SDK的合入規(guī)則,云函數(shù)的調(diào)用方式等等。這些專業(yè)的開發(fā)技能,對于傳統(tǒng)的開發(fā)同學(xué)來說,大家交流起來是很順暢的。但對于運(yùn)營同學(xué),要跟大家解釋就顯得比較費(fèi)勁。
3)研發(fā)效能低下
本地開發(fā)環(huán)境無法與線上環(huán)境保持一致,調(diào)試?yán)щy。還有業(yè)務(wù)代碼邏輯的經(jīng)常需要線上調(diào)試,測試的覆蓋率長期偏低,功能穩(wěn)定性無法保證。還有bug定位跟蹤的方式比較單一,一個bug需要分析半天才能知道問題點(diǎn)在哪里。
第二方面是過度設(shè)計,沒有使用戶真正獲益。對于Devops的深入程度,有一點(diǎn)我們必須牢記,那就是DevOps平臺系統(tǒng)本身的成功并不是真正的成功,只能是業(yè)務(wù)的效率提升,使用DevOps的用戶滿意度提升了,才是檢驗成功的唯一標(biāo)準(zhǔn)。
網(wǎng)絡(luò)運(yùn)營DevOps系統(tǒng)的后續(xù)發(fā)展 - 打造生態(tài)
網(wǎng)絡(luò)DevOps探索與實踐
羅馬不是一天建成的,這個DevOps平臺凝聚了騰訊基礎(chǔ)架構(gòu)運(yùn)營多年的經(jīng)驗。之前我們談的自動化及數(shù)據(jù)化運(yùn)營,更多是端到端的傳統(tǒng)開發(fā)方式。具體到DevOps,我們希望可以打造一個生態(tài),可以跟眾多的合作伙伴和外部的用戶一起,一起在同一個平臺上進(jìn)行功能完善和迭代。
在接口對接方面,近期我們跟很多運(yùn)營商及設(shè)備廠商一起努力,把報障、割接、還有case管理、備件管理等幾個使用頻率最高的場景進(jìn)行了線上對接。在外部用戶方面,我們通過騰訊云的窗口,把DevOps的能力對外進(jìn)行的開放。使用的用戶越多,發(fā)現(xiàn)越多的問題,DevOps平臺的功能就可以越趨完善。
文章來源:鵝廠網(wǎng)事
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉