作者:京東零售 劉曉成
一、前言
當(dāng)前,我國(guó)處于以信息化、數(shù)字化、網(wǎng)絡(luò)化、智能化為特征的科技變革浪潮中,企業(yè)數(shù)字化轉(zhuǎn)型大勢(shì)所趨,那么作為支撐企業(yè)IT運(yùn)轉(zhuǎn)的運(yùn)營(yíng)體系也在向多元方向發(fā)展,比如DevOps(研發(fā)運(yùn)營(yíng)一體化)、AIOps(智能運(yùn)維)、DataOps(數(shù)據(jù)研發(fā)運(yùn)營(yíng)一體化)、MLOps(機(jī)器學(xué)習(xí)研發(fā)運(yùn)營(yíng)一體化)、BizDevOps(業(yè)務(wù)研發(fā)運(yùn)營(yíng)一體化)、FinOps(云財(cái)務(wù)運(yùn)營(yíng))等內(nèi)容,逐步形成圍繞研運(yùn)一體化、研運(yùn)效能度量、安全體系建設(shè)、智能化、IT資源財(cái)務(wù)運(yùn)營(yíng)等多個(gè)方面的XOps體系。本文重點(diǎn)側(cè)重DevOps的知識(shí)內(nèi)容闡述。
二、背景
隨著大數(shù)據(jù)、人工智能、云計(jì)算、數(shù)字孿生、5G、物聯(lián)網(wǎng)和區(qū)塊鏈等新一代數(shù)字技術(shù)應(yīng)用的發(fā)展,企業(yè)業(yè)務(wù)試圖構(gòu)建持續(xù)化、端到端的運(yùn)營(yíng)體系,從而推動(dòng)新技術(shù)、新業(yè)務(wù)、新業(yè)態(tài)的發(fā)展。然而,企業(yè)IT管理卻面臨三個(gè)難點(diǎn)現(xiàn)狀:
?業(yè)務(wù)需求變化快
?技術(shù)迭代更新快
?IT價(jià)值難體現(xiàn)
因此,當(dāng)前企業(yè)IT管理旨在希望探索出新技術(shù)、新方法、新模式,從而提升需求響應(yīng)速度以及技術(shù)深入應(yīng)用與迭代能力,最終推動(dòng)業(yè)務(wù)價(jià)值的實(shí)現(xiàn)。
三、發(fā)展歷程(DevOps->XOps)
整體而言,對(duì)于企業(yè)IT運(yùn)營(yíng)管理對(duì)象中可以劃分7層:戰(zhàn)略與規(guī)劃、業(yè)務(wù)管理、財(cái)務(wù)與成本、數(shù)據(jù)生命周期、機(jī)器學(xué)習(xí)工程、軟件生命周期和基礎(chǔ)設(shè)施運(yùn)行。在戰(zhàn)略與規(guī)劃中,自2009年DevOps被首次提出,逐步在不同領(lǐng)域的面向?qū)ο笾姓Q生出不同的創(chuàng)新應(yīng)用體系。從筆者繪制的圖表中我們可以看出DevOps在企業(yè)應(yīng)用成熟度最高、其次分別是AIOps和MLOps、DataOps,而在近幾年企業(yè)更多關(guān)注成本、業(yè)務(wù)創(chuàng)新,BizDevOps和FinOps也進(jìn)入企業(yè)重點(diǎn)關(guān)注和落地范圍內(nèi)。
雖然XOps各領(lǐng)域面向的對(duì)象不同,但都是以文化、組織、流程三個(gè)維度串聯(lián)多個(gè)流程領(lǐng)域,在提升效率的同時(shí)提高質(zhì)量,并強(qiáng)調(diào)持續(xù)的優(yōu)化改進(jìn),對(duì)于人員意識(shí)的文化培養(yǎng)、組織的協(xié)同能力和流程閉環(huán)的管理與持續(xù)反饋。
四、什么是DevOps
維基百科:對(duì)其定義為“DevOps(Development 和Operations 的組合詞)是一組結(jié)合了軟件開(kāi)發(fā)(Dev)和IT運(yùn)營(yíng)(Ops)的實(shí)踐,其目的在于縮短軟件開(kāi)發(fā)生命周期并持續(xù)交付高質(zhì)量的軟件。
谷歌云:”谷歌云認(rèn)為“DevOps 旨在提高軟件交付速度,提升服務(wù)可靠性,并在軟件利益相關(guān)者之間構(gòu)建共享所有權(quán)的一種組織和文化運(yùn)動(dòng)。
AWS:”AWS將DevOps 定義為“集文化理念、實(shí)踐和工具于一身,可以提高組織高速交付應(yīng)用程序和服務(wù)的能力,與使用傳統(tǒng)軟件開(kāi)發(fā)和基礎(chǔ)設(shè)施管理流程相比,能夠幫助組織更快地發(fā)展和改進(jìn)產(chǎn)品。
Gartner: Gartner 認(rèn)為其“是一種使用敏捷方法、協(xié)作和自動(dòng)化交付解決方案的業(yè)務(wù)驅(qū)動(dòng)方法。”
從業(yè)界多方對(duì) DevOps 的定義來(lái)看,DevOps 不只是一門技術(shù)或套工具平臺(tái)體系。DevOps 是 Development 和 Operations 的組合詞,是組過(guò)程、方法與系統(tǒng)的統(tǒng)稱,通過(guò)研發(fā)、測(cè)試、運(yùn)維之間的協(xié)作打破各部門之間的信息壁壘,改善團(tuán)隊(duì)之間的合作關(guān)系,通過(guò)自動(dòng)化.敏捷化和一體化的軟件交付和架構(gòu)變更流程,實(shí)現(xiàn)更加便捷、頻繁和可靠的發(fā)布軟件。
在筆者觀點(diǎn)理解而言,DevOps是一種交付方式,其中涉及技術(shù)、工具、文化、組織多個(gè)環(huán)節(jié)的實(shí)踐方法。(如下圖是筆者簡(jiǎn)單的理解)
五、DevOps的價(jià)值和發(fā)展趨勢(shì)
隨著近年來(lái)DevOps在企業(yè)應(yīng)用成熟度趨于成熟,不乏出現(xiàn)一些文章中提到DevOps已死的標(biāo)題來(lái)吸引讀者的注意。正如為了推廣微服務(wù)而出現(xiàn)鋪天蓋地的單體架構(gòu)的貶低言論,推廣敏捷而踩低瀑布開(kāi)發(fā),筆者認(rèn)為在不同業(yè)務(wù)領(lǐng)域、業(yè)務(wù)復(fù)雜度情況、公司組織結(jié)構(gòu)、企業(yè)IT基礎(chǔ)設(shè)施等多方面維度都會(huì)作為判斷決策依據(jù),上面我們提到在戰(zhàn)略與規(guī)劃中,DevOps是一種交付方式,只有交付方式適合不合適,沒(méi)有直接死掉這么一說(shuō)。現(xiàn)在我們鋪墊了那么多,接下來(lái)看下DevOps的價(jià)值和發(fā)展趨勢(shì)。
根據(jù) IDC 報(bào)告顯示,2021 年全球 DevOps 軟件工具市場(chǎng)總額為159 億美元,據(jù)預(yù)測(cè),2023 年全球 DevOps軟件工具市場(chǎng)規(guī)模將超過(guò)200 億美元,如下圖:
企業(yè)數(shù)字化轉(zhuǎn)型中,筆者曾經(jīng)提到全新的業(yè)務(wù)模式、高效的業(yè)務(wù)流程、前沿的技術(shù)設(shè)施、精準(zhǔn)的數(shù)據(jù)預(yù)測(cè)、健康的組織文化等5個(gè)內(nèi)容方向,如果數(shù)字化轉(zhuǎn)型基于業(yè)務(wù)模式的是否改變,可以將其過(guò)程劃分為兩個(gè)類型,一種是自身數(shù)字化重構(gòu),另外一種是創(chuàng)新數(shù)字化業(yè)務(wù)。
對(duì)于自身數(shù)字化重構(gòu)來(lái)說(shuō):我們旨在提升企業(yè)效率,DevOps能力體系強(qiáng)調(diào)協(xié)作、自動(dòng)化、和持續(xù)優(yōu)化。
(1)其中協(xié)作來(lái)說(shuō),包含信息共享(業(yè)務(wù)類、執(zhí)行類、反饋類等)和協(xié)作調(diào)度(全自動(dòng)、簡(jiǎn)化和基于事件);
(2)自動(dòng)化包括軟件過(guò)程(開(kāi)發(fā)、測(cè)試、部署等過(guò)程)和過(guò)程支撐能力(編譯構(gòu)建、測(cè)試環(huán)境、部署環(huán)境等)。
(3)持續(xù)優(yōu)化包括數(shù)據(jù)獲取、數(shù)據(jù)分析、數(shù)據(jù)呈現(xiàn)等。
對(duì)于創(chuàng)新數(shù)字化業(yè)務(wù)來(lái)說(shuō):我們旨在提升用戶體驗(yàn)、業(yè)務(wù)創(chuàng)新,DevOps能力體系強(qiáng)調(diào)更好的價(jià)值交付,建設(shè)工具賦能業(yè)務(wù)創(chuàng)新和敏捷。
(1)價(jià)值交付:更深入的業(yè)務(wù)認(rèn)知和需求痛點(diǎn)挖掘,以及基于用戶進(jìn)行量化體驗(yàn)。
(2)工具賦能:圍繞工具平臺(tái)、配置、基礎(chǔ)設(shè)施等內(nèi)容,由組織級(jí)統(tǒng)一團(tuán)隊(duì)以服務(wù)化方式賦能項(xiàng)目團(tuán)隊(duì),為業(yè)務(wù)敏捷性和創(chuàng)新奠定基礎(chǔ)。
5.1、DevOps的價(jià)值交付、協(xié)作與敏捷管理
在DevOps中,我們提倡價(jià)值交付,更深入的業(yè)務(wù)認(rèn)知和需求痛點(diǎn)挖掘,完成用戶體驗(yàn)提升和業(yè)務(wù)交付。而在敏捷開(kāi)發(fā)中,我們知道敏捷開(kāi)發(fā)管理是一種為應(yīng)對(duì)快速變化的時(shí)長(zhǎng)和技術(shù)環(huán)境的新型軟件開(kāi)發(fā)方法,它更強(qiáng)調(diào)價(jià)值交付過(guò)程中所涉及的各類角色(如業(yè)務(wù)產(chǎn)品、開(kāi)發(fā)和測(cè)試等)之間的緊密協(xié)作、能夠很好地適應(yīng)變化的團(tuán)隊(duì)組織、協(xié)作和工作方式,主張演進(jìn)式的規(guī)劃和開(kāi)發(fā)方式,以及持續(xù)和盡早的交付,并不斷反饋調(diào)整與持續(xù)改進(jìn),并且鼓勵(lì)快速與靈活的面對(duì)變更,更注重軟件開(kāi)發(fā)過(guò)程中人的作用。而加快軟件交付速度是企業(yè)應(yīng)用敏捷開(kāi)發(fā)最主要的原因。企業(yè)的本質(zhì)是利用組織和技術(shù)追求效率與成本控制從而產(chǎn)生商業(yè)利潤(rùn)。敏捷開(kāi)發(fā)管理實(shí)踐方法眾多,企業(yè)需根據(jù)自身特點(diǎn)選擇適合的敏捷實(shí)踐。
5.2、DevOps的自動(dòng)化與工具化賦能
首先,持續(xù)交付是指持續(xù)的將各類變更 (包括新功能、缺陷修復(fù)、配置變化、實(shí)驗(yàn)等) 安全、快速、高質(zhì)量地落實(shí)到生產(chǎn)環(huán)境或用戶手中的能力,是一組能夠幫助軟件開(kāi)發(fā)團(tuán)隊(duì)極大提高其軟件交付速度和質(zhì)量的模式和最佳實(shí)踐的組成。
那么,持續(xù)交付與部署流水線為軟件的發(fā)布提供一個(gè)可重復(fù)且可靠的自動(dòng)化過(guò)程,能夠?qū)崿F(xiàn)價(jià)值的持續(xù)穩(wěn)定傳遞。流水線打通軟件交付過(guò)程的各個(gè)環(huán)節(jié),建立全流程、端到端、可視化的自動(dòng)化部署流水線,每次變更都會(huì)觸發(fā)完整的自動(dòng)化部署流水線,為團(tuán)隊(duì)提供狀態(tài)可視化和及時(shí)反饋。
所以我們可以簡(jiǎn)單定義,自動(dòng)化部署流水線是實(shí)現(xiàn)持續(xù)交付的核心。
5.3、DevOps的技術(shù)運(yùn)營(yíng)能力場(chǎng)景
技術(shù)運(yùn)營(yíng)包含監(jiān)控管理、配置管理、容量與成本管理、高可用管理、事件與變更管理、業(yè)務(wù)連續(xù)性管理和用戶體驗(yàn)管理七個(gè)能力場(chǎng)景。
?一是監(jiān)控管理,多數(shù)企業(yè)監(jiān)控采集的平臺(tái)化能力建設(shè)較為成熟,具有較強(qiáng)的靈活性和可擴(kuò)展性,支持自定義數(shù)據(jù)采集、處理服務(wù)。
?二是配置管理關(guān)注與技術(shù)運(yùn)營(yíng)相關(guān)的面向應(yīng)用場(chǎng)景的配置對(duì)象及數(shù)據(jù),配置對(duì)象可以實(shí)現(xiàn)誤告警的自動(dòng)屏蔽,根據(jù)配置對(duì)象的狀態(tài)來(lái)設(shè)置規(guī)則,配置數(shù)據(jù)有多套配置系統(tǒng)管理方案,從線下轉(zhuǎn)為線上方式,支持對(duì)配置進(jìn)行統(tǒng)一納管。
?三是容量與成本管理,通過(guò)量化、精細(xì)化的方式對(duì)容量成本預(yù)算、成本核算等進(jìn)行管理實(shí)施。
?四是事件與變更管理,事件管理是對(duì)影響生產(chǎn)的事故和問(wèn)題建立預(yù)防、高效處理及度量改進(jìn)的制度和手段,變更管理是對(duì) IT 基礎(chǔ)設(shè)施、系統(tǒng)應(yīng)用、業(yè)務(wù)產(chǎn)品配置等場(chǎng)景實(shí)施變更所進(jìn)行的審批和控制流程。
?五是高可用管理,包含應(yīng)用高可用管理和數(shù)據(jù)高可用管理,采用軟硬件結(jié)合的方式,以及多機(jī)房集群部署,最大限度保障系統(tǒng)的可用性。
?六是業(yè)務(wù)連續(xù)性管理,通過(guò)風(fēng)險(xiǎn)管理、危機(jī)管理、應(yīng)急管理等內(nèi)容保障業(yè)務(wù)連續(xù)性要求。
?七是用戶體驗(yàn)管理,通過(guò)技術(shù)運(yùn)營(yíng)的方式關(guān)注用戶體驗(yàn),提升用戶滿意度,通常會(huì)通過(guò)埋點(diǎn)技術(shù)收集用戶體驗(yàn)指標(biāo),并進(jìn)行分析優(yōu)化
5.4、DevOps的應(yīng)用設(shè)計(jì)與DevSecOps
DevOps的應(yīng)用設(shè)計(jì)主要關(guān)注應(yīng)用架構(gòu)的可擴(kuò)展性、可伸縮性、可觀測(cè)性、安全性和可用性。在應(yīng)用設(shè)計(jì)中,隨著技術(shù)發(fā)展與業(yè)務(wù)變化,IT架構(gòu)已經(jīng)經(jīng)歷了單體架構(gòu)、垂直架構(gòu)、SOA架構(gòu)和微服務(wù)框架幾大階段,而當(dāng)前微服務(wù)與云原生架構(gòu)正在企業(yè)中廣泛試點(diǎn)。
在這里筆者想強(qiáng)調(diào)的是,應(yīng)用設(shè)計(jì)中,往往安全是整個(gè)IT團(tuán)隊(duì)所有成員的責(zé)任,需要貫穿整個(gè)業(yè)務(wù)生命周期的每個(gè)環(huán)節(jié)。
DevSecOps 通過(guò)建立完善的軟件安全開(kāi)發(fā)生命周期管理體系,將安全內(nèi)建到項(xiàng)目的生命周期每個(gè)階段,并流程化跟蹤項(xiàng)目安全建設(shè)中的各項(xiàng)安全活動(dòng)。同時(shí),在研發(fā)過(guò)程中融入安全基礎(chǔ)能力,要求和檢出一一對(duì)應(yīng),平臺(tái)可集成安全工具,提升自動(dòng)化能力.
六、DevOps的生命周期與工具全景圖
DevOps 通過(guò)其規(guī)劃、部署、交付和運(yùn)營(yíng)階段來(lái)影響應(yīng)用程序生命周期。每個(gè)階段都依賴其他階段,且各階段并非特定于角色。DevOps 文化在某種程度上涉及每個(gè)階段中的所有角色。
圖片來(lái)自https://learn.microsoft.com/zh-cn/devops/what-is-devops
貫穿云原生 DevOps 整個(gè)生命周期的工具鏈全景圖如下:
圖片來(lái)自:https://mp.weixin.qq.com/s/yPeRriDT-miiLoJdY-aY8Q
七、DevOps的成熟度評(píng)估體系
DevOps 成熟度是評(píng)估效維工具選擇的首要參考維度。不同企業(yè)可以基于自身實(shí)際情況可以從多維度進(jìn)行評(píng)估:
八、感悟
筆者認(rèn)為越是成熟度高的東西,體系知識(shí)越是龐大,本文限于篇幅的原因?qū)τ诓糠謨?nèi)容細(xì)節(jié)并未全部展開(kāi)描述,更多的是從定義、描述、價(jià)值、趨勢(shì)、知識(shí)體系和工具體系大的方向介紹,對(duì)于如何實(shí)施細(xì)節(jié)需要讀者去針對(duì)細(xì)節(jié)內(nèi)容去學(xué)習(xí)。其中上述內(nèi)容有很多是筆者的觀點(diǎn),如有不同見(jiàn)解,還希望留言或者私下溝通。
九、參考資料
?《中國(guó)XOps應(yīng)用創(chuàng)新發(fā)展研究報(bào)告》-中國(guó)信息通信研究院
?《星漢未來(lái)綜合運(yùn)維解決方案》
?微軟DevOps資源中心:https://learn.microsoft.com/zh-cn/devops/what-is-devops
審核編輯 黃宇
-
devops
+關(guān)注
關(guān)注
0文章
116瀏覽量
12089
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論