1、引入DevopsDevops體系提升運營支撐系統開發交付能力內蒙古移動公司2022年12月個人簡介2019年中國移動工匠中國移動十百千專家-高級專家中國移動內蒙古公司高級專家具有20多年IT支撐系統運營、規劃工作經歷王升元中國移動的數智化業務轉型,給IT支撐能力帶來極大挑戰近年來IT領域能力建設以公司發展戰略為引領,以“轉型升級”為目標,踐行力量大廈及三融三力價值體系。數智化業務轉型需要IT支撐模式、IT架構和組織保障同步進行轉型升級,以實現敏捷、高效的IT支撐能力。在此背景下,需要建立一套完善的IT保障體系(包括方法論、組織保障、流程制度和工具等)來支撐公司的“升級轉型”。數智化業務轉型組織
2、管理 轉型IT架構 轉型支撐模式 轉型需要敏捷高效的IT支撐能力需求響應有待提升協作效率有待提升上線質量有待提升挑戰差距牽頭單位:工信部 中國信息通信研究院(亦即評測機構,國家智庫,可信云等出品單位)聯合編寫:云計算開源產業聯盟、華佑科技(高效運維社區和DevOps時代社區)BAT、京東、招商銀行、平安科技、中國移動、中國電信和中國聯通等目前進展:部分標準已于工信部發布;相關國際標準已于2020年7月在聯合國 ITU-T 結項DevOps 標準:研發運營一體化(DevOps)能力成熟度模型南京大學&DevOps時代社區:國內 DevOps 持續交付能力,整體為1.3級此為全國調查,不包括BAT
3、及部分金融名企CDCO全球首批 DevOps 標準體系共有8個標準可評估(每個標準均為5級)3級為國內領先水平過級是手段、是抓手“以評促建、以評促改”19Q3 全國首批CO試評估:華泰證券、北京移動2020年試評估標準包括:系統和工具標準、安全及風險管理標準依托DevOps體系,提升IT系統開發交付管理能力DevOps是一種體系框架,包含文化建設、組織轉型、流程轉變,以及一系列的實踐方法與支撐工具組合;以提高IT系統開發、交付效率。內蒙古公司首次在CRM核心系統引入DevOps管理體系,實現精益敏捷轉型與實踐落地。依托DevOps體系,提升IT系統開發交付管理能力參考研發運營一體化能力成熟度模
4、型,從7個方面對我省系統支撐能力進行了全面評估。全面引入的DevOps體系,遵循OSCAR的方法論指導,以ESOP工程項目實施為抓手,從組織管理、流程管理、效能管理和工具鏈的完善等幾個方面進行優化和改進,以提升IT系統的開發交付管理能力。紅框部分需要客戶不同角色的人員參與。1 1建立開發交付體系2 2落地實踐效果3 3推廣落地目錄CONTENTS01DevOps能力全景圖DevOps能力建設-統一門戶統一門戶是面向用戶的,提供快速處理用戶名下任務的快捷入口,任務處理有兩個入口,一個是工作平臺提供待處理任務的視圖,一個是項目列表提供項目級的任務處理入口;同時統一門戶還提供一些公共實體信息的維護,
5、比如應用信息,權限信息,工具鏈信息等。工作臺:提供當前登錄用戶待處理問題的列表,包括審批 任務,缺陷,研發任務等。用戶信息:當前登錄用戶信息的展示,用戶密碼修改的能 力。項目關聯:可查看項目所關聯的信息,如成員信息,流水 線,應用和需求信息。分組管理:系統默認的項目分類有公有和私有的分類,同 時支持自定義的分類管理。項目維護:提供項目的信息的概覽,項目信息的新建,刪 除,修改等能力。平臺組件:提供平臺的權限設置,組織架構,定時任務,工具鏈以及產品和應用信息的維護能力。DevOps能力建設-敏捷管理DevOps體系下的敏捷開發管理平臺,提供面向企業級的敏捷開發方式的解決方案,融合Scrum和精益
6、方法,支持需求端到端持續交付管理。提供可視化看 板管理,燃盡圖,多維度的需求全景圖,支持項目團隊之間協同與社交化協作,實時掌控項目的動態。視圖管理:提供用戶工作項管理的多種視圖方式。項目管理:提供項目創建及維護、項目成員管理等能力。需求管理:提供需求的錄入、需求拆分、用戶故事設計、需求評審等需求管理規劃能力。任務管理:提供任務創建、認領、指派及查詢等能力。迭代管理:提供版本迭代計劃的制訂、編輯、查詢統計、迭代任務拆分、用戶故事綁定迭代管理能力和迭代工作、用戶故事數、任務數等信息的查詢、計算及燃盡圖展示能力??窗骞芾恚禾峁┛窗迥0?、泳道、流動規則配置管理和在制品限制管理等能力。需求規劃:提供產品
7、經理在項目初期對需求進行拆解,并對用戶故事進行迭代的劃分,后期對于項目經理提供統一視圖查看能力,全局查看當前項目的需求完成情況。DevOps能力建設-需求分級及規劃 產品開發初期,通過需求規劃進行需求的條目化拆分。項目經理、產品經理、開發測試、人員根據優先級把每個需求放置到 對應的迭代中,進行迭代的規劃。公司管理層,通過全局的視圖看出當前的開發進度。業務需求看板:運營人員,公司領導、產品經理,通過看板追蹤自己或用戶提出的需求開發的進度,以便于提早安排后續的活動。研發需求看板:項目經理通過研發需求看板,追蹤每個研發需求的進度,看板可顯性化識別風險,及時解決問題。敏捷看板:開發人員、測試人員。通過
8、敏捷看板識別出自己的需求下面的任務的進度,以及整個團隊的進度,目標。DevOps能力建設-配置管理平臺CMP,Configuration Management Platform,在DevOps體系下通過提供軟件交付流水線與軟件變更配置管理的基礎支撐能力,助力團隊在軟件交付全生命周期的 持續集成與變更配置管控,使得活動規范化、過程可視化、交付自助化。通過體系化的度量,提升交付過程的透明度,協助團隊發現過程瓶頸,有針對性的持續改 進,推動整體效能提升。代碼管理:提供基于GItLab的代碼管理能力,包括分支管理,合并管理,Hook管理,Tag管理等。流水線:提供CI、CD流程的編排,支持并發、串行流
9、程,并提供流水線執行狀態跟蹤、日志記錄等能力。內置組件能力:提供信息反饋、代碼構建部署、SQL構建部署等服務類組件,用于CI/CD流水線的構建。版本管理:提供版本計劃制訂、測試、部署、交付多版本管控等能力。倉儲管理:提供版本控制系統倉儲、制品倉儲、鏡像倉儲等多種不同倉儲下數據的在線管理。環境管理:提供產品測試類環境、集成類環境等信息管理和環境部署任務的增刪改查等能力?;A信息管理:提供CICD過程調用的外部服務連接信息的管理。如Jenkins、數據庫信息等。數據度量:提供變更數據、CICD過程流水線等方向的數據進行度量。DevOps能力建設-流水線(一)能力描述:構建類、部署類、構建部署類、自
10、定義類型。不同類型的流水線可以進行自由組合形成組合流水線。組合流水線-多應用/模塊組合構建變更構建流程構建流程構建流程開始節點節點開始節點可橫向擴展可排序調整可配置其下任務的并行/串行執行可配置節點人工干預卡點任務任務任務可縱向擴展可拖拽排序流水線-配置編排能力可選擇節點“觸發方式:定時/人工/自動任務可重復執行工具組件庫通用類構建類部署類應用服務庫可擴展的任務/服務可選擇質量類構建版本/部署版本組合流水線-多應用/模塊組合部署部署流程部署流程部署流程應用環境構建流程變更部署流程構建版本/部署版本制品庫外部制品包構建/部署流水線-多應用/模塊組合構建應用環境DevOps能力建設-流水線(二)流
11、水線支持適配不同的研發運維管理模式。開發、測試、生產運維等領域可以配置不同的持續集成/持續部署流程。用戶按使用需求自定義編排產品應用的持續構建和持續部署流水線。流水線分兩層技術結構一、自定義編排節點層 支持橫向無限擴展 支持節點拖拽排序 支持定義節點下層任務的并行/串行執行 支持定義節點人工干預卡點二、自定義編排任務層 支持縱向擴展 支持拖拽排序 支持重復執行三、流水線觸發方式 定時/人工/自動DevOps能力建設-度量管理為持續提升團隊交付效率,提高項目交付質量,系統從需求管理、版本控制、代碼質量、構建管理、測試管理、部署管理、系統健康性等幾個方面,進行了全面的度量數據采集和展現工作;即能項
12、目組各個方面的統計分析提供依據,同時也能及時發現工作瓶頸,提出改進意見;除了項目內部度量指標外,系統還提供跨項目的度量功能,能夠橫向對比多個項目的各項進度指標,為更高層面的分析決策提供依據。支持指標的采集時間、展現方式、預警值等自定義。支持數據下鉆和聚合通展示。支持度量報表的關注和導出。支持郵件發送機制等。效率指標:1)流動效率:團隊整體效率的重要指標之一。2)資源執行頻率:單體資源活躍度以及效率的指標。3)質量指標:衡量產品質量信息的重要指標 流動效率資源執行頻率質量指標。DevOps能力建設-經驗總結分享項目從2020年9月26-27日差距分析開始,到2021年1月21日具備正式驗收為止,
13、用時將近4個月。這個時間較正常評估周期180+天提前60+天完成,在正式評估中一次性通過。梳理分析 充分的梳理和分析,確定適合流程;對成熟度模型進行分析解讀,確保準確的理解;按照要求梳理文檔類型、編寫要求、詳細程度、更新制度、一致性檢查、管理權限、目錄結構、存儲方式等;各流程環節的輸入信息、輸出信息以及明確的要求;分析制定一份合理的計劃;選擇一個適當的參評項目;工具鏈及平臺 選擇適合的工具鏈及技術棧,一定是可長期相對穩定使用的;確保工具鏈各環節集成環境的打通,并有穩定的運行環境;選擇并建立流水線,以及流水線維護的策略和對應各環節的門禁指標;平臺正常使用的保障(備份、高可用、恢復演練);規則及改
14、進 制定合理的指標和管理要求,并嚴格的執行;平臺各項功能不打折扣的使用,并通過度量進行持續的改進;對差分和改進驗收中提到的問題進行充分有效的溝通討論,確定原則后完整準確的進行整改;迭代改進計劃務必按照要求進行;各項改進操作留痕;團隊及其他 明確團隊中每個成員的工作職責,并確保其盡量穩定;持續不斷鼓勵團隊成員進行交流、分享、培訓;建立充分信任的工作環境;敏捷能帶來的收益取決于對工作流程和儀式的保留和裁剪,慎重進行;一個合格的BM是必不可少的;制定明確的除過級以外的其他目標,并在過程中落實;02收益-公司級收益參與能力成熟度模型評估并通過的企業,即可加入“企業級 DevOps 賦能(共促)計劃”。
15、該計劃是為了更好地促進中國企業實踐DevOps,提升軟件工程能力,提升組織效率與質量,讓IT更好地支撐業務快速發展,DevOps 標準工作組發起企業級DevOps賦能(共促)計劃(Enterprise DevOps Promoting Program,EDOPP),幫助企業快速且專業地構建DevOps能力體系。獲得 DevOps 組織級能力快速提升的機會獲得 DevOps 領域國內外領先企業參觀交流機會獲得 DevOps 內部優秀實踐案例匯集成冊出版的機會獲得 由權威機構頒發的企業級 DevOps 賦能計劃 合作單位證書獲得 DevOps 標準工作組資深專家擔任導師,支持 DevOps落地改進
16、機會獲得 DevOps 標準工作組資深專家現場交流機會獲得 DevOps 標準閉門研討會參與機會獲得 DevOps 相關能力培訓與技術會議的優惠參與機會收益-公司級收益參與能力成熟度模型評估并通過的企業,即可加入“企業級 DevOps 賦能(共促)計劃”。該計劃是為了更好地促進中國企業實踐DevOps,提升軟件工程能力,提升組織效率與質量,讓IT更好地支撐業務快速發展,DevOps 標準工作組發起企業級DevOps賦能(共促)計劃(Enterprise DevOps Promoting Program,EDOPP),幫助企業快速且專業地構建DevOps能力體系。自查了解企業 DevOps 自身
17、發展情況,發現問題,查漏補缺,明確未來持續優化的方向。自證被認定為國內領先或頂尖水平,成為 DevOps 在中國落地的行業標桿,引領行業發展。衡量明確企業內部各項目及外部服 務 商、合 作 伙 伴 的DevOps 能力現狀、成長情況及工作量。對照對比同行業及所有行業的DevOps 優秀實踐,相互取長補短,共同進步。收益-組織級收益1建立體系建立體系建立DevOps持續交付的流程及規范建立單項目級的雙模研發管理流程、規范及角色建立過級度量指標集2平臺構建平臺構建敏捷開發與度量:建立敏捷開發、度量平臺持續交付:持續集成與持續部署、建立多條構建、部署流水線、自動化測試3項目試點項目試點展開1個試點項
18、目的試運行工作選定1個項目進行持續交付成熟度三級認證根據試點反饋持續優化體系及平臺能力4文化建設文化建設針對內蒙移動的雙模研發文化建設流程、規范固化輔以培訓支撐DevOps文化落地收益-組織級收益收益-組織級收益(支持穩敏雙態模式)平臺支持傳統開發模式(瀑布模式),同時支持敏捷模式,雙模支持。收益-組織級收益(交付流程標準化)收益-組織級收益(質量內建)需求從進入開發到生產上線,要經過多維度全方位的質量驗證。任一節點達到質量閥值,可強迫流程中止;每個檢驗點都要有即時反饋;多維度、全方位的質量檢驗,包括:版本、代碼、配置、流 程、數據、安全等;收益-組織級收益(全面度量)通過對DevOps體系中
19、各關鍵節點沉淀的數據進行分析,實現軟件過程數字化描述,達成效率、質量、以及交付價值的精準預測及跟蹤管控。收益-組織級收益(專家體系)項目實施期間,安排DevOps相關培訓共計12場,培訓涉及基礎培訓,包括工具鏈使用培訓,單元測試培訓、自動化測試培訓、敏捷教練培訓以及DevOps過級培訓等內容。從培訓人員中選取6名核心人員進行DevOps Master認證考試。本次參與考試的人員全部通過認證,獲得了DevOps Master的認證。認證考試過程培訓評估中學習選取項目組核心成員6人進行DevOps Foundation+Professional考試,通過后組織進行DevOps Master認證,并
20、且全部人員均通過考試,獲得了相應認證。邀請培訓顧問進行現場培訓授課培訓范圍涉及:項目組、開發團隊、運維團隊以及其他內部相關人員。項目組成員參加認證考試。評估過程中對項目組成員進行互動培訓,培訓以實操為主。收益-項目級收益DevOps體系建設完成后,在核心系統進行了全面的推廣,結合上線規劃、總量控制、CI/CD工具使用、質量控制工具等等多措并舉,提升效率、提升質量。050100150200456789101112本月新增需求本月實際上線需求0500100015002000250050.00%60.00%70.00%80.00%90.00%100.00%456789101112持續集成執行成功率持
21、續集成執行總次數156156358361368368374378385387129612961167118111911207122612411266128014521452152515421559157516001619165116670.2560.2580.260.2620.2640.2660.2680.270.2720200400600800100012001400160018003月4月5月6月7月8月9月10月11月12月阻斷違規數嚴重違規數總違規數千行違規0.00%20.00%40.00%60.00%80.00%100.00%120.00%123456789101112上線成功率一次
22、性部署成功率收益-項目級收益收益-項目級收益需求交付時間團隊開發效率代碼提交頻率持續集成改進代碼質量自動化測試正常排期需求交付時間從實施敏捷開發前的到縮短為1周開發效率穩定輸出量化4-5人時/功能點(行業基準基本是1人天/功能點)從實施敏捷開發前的不固定到每天50次以上的提交測試環境部署的效率整體提升300%以上,部署頻率顯著提升從實施敏捷開發前的空白到單元測試、Sonar掃描、代碼評審工具全支持從實施敏捷開發前的空白到接口自動化測試、UI自動化測試全覆蓋DevOps工具集搭建完整的DevOps體系工具集,串聯端到端的各個環節,為其他系統的DevOps應用打下良好基礎團隊合作從單人任務單流轉到
23、團隊協同、知識技能共享,極大提升了團隊士氣、熟悉度和戰斗力03DevOps能力成熟度模型持續推廣過級僅僅是開始,開發運營一體化交付永遠在路上體系 打造企業級研發管理交流流程規范 指導精益敏捷模式的實際落地實踐 體系規范落地于平臺建設,以統一規范執行 建立完善的過程改進機制,持續推動組織優化和過程改進平臺文化實踐 成立高層領導牽頭的轉型推動小組,全面推動組織變革和落地實踐 成立IT賦能中心,引導和推動技術架構升級和業務解耦 全面推動各類專業人才培養計劃:敏捷教練PO/產品經理工程教練 實現完整的端到端交付流程,支持敏捷和混合態研發模式,研發過程全面可視化 持續交付能力優化,支持微服務架構應用和技術組件 多語言分布式構建環境動態調度,提高資源利用率 多維度結構化度量展示,助力DevOps轉型效果 CRM系統分中心納入DevOps體系管理,利用精益敏捷思想進行轉型 建立測試管理體系,形成多環境多策略的自動化應用及運維保障 效率需求交付周期平均提升按需進行測試環境部署 質量生產問題下降嚴重級安全合規問題下降 能力核心系統實現流水線部署建設組織級敏捷梯隊人才 價值精益思想與方法深入人心數字驅動改進,平臺高效支撐目標分解