DevOps正成為主流技術(shù)趨勢(shì),很多企業(yè)都在極力擁抱這一理念,希望借助新的思維模式來處理開發(fā)和運(yùn)維問題。尤其在企業(yè)數(shù)字化轉(zhuǎn)型階段,DevOps能極大地提升軟件應(yīng)用質(zhì)量,提高軟件開發(fā)速度,進(jìn)而帶來直接的業(yè)務(wù)價(jià)值。然而,什么是DevOps?
理解DevOps的“正確姿勢(shì)”
其實(shí),DevOps并不是一個(gè)新詞。大概從2009年開始,企業(yè)就在尋求開發(fā)和運(yùn)維人員的最佳協(xié)作模式,試圖通過自動(dòng)化流程使得軟件在構(gòu)建、測(cè)試、發(fā)布以及運(yùn)維等各個(gè)環(huán)節(jié)變得更高效、快捷。但是,在傳統(tǒng)開發(fā)和運(yùn)維模式下,DevOps只能是“水中月”、“鏡中花”,直到云計(jì)算、大數(shù)據(jù)等顛覆式技術(shù)出現(xiàn),DevOps才真正有了能施展技藝的空間。
如今,在強(qiáng)調(diào)以云為先、應(yīng)用驅(qū)動(dòng)的新一輪技術(shù)變革中,一些頭部企業(yè)已勇敢邁出了第一步,通過DevOps戰(zhàn)略助力企業(yè)業(yè)務(wù)增值。以某大型企業(yè)為例,之所以要構(gòu)建DevOps平臺(tái),主要是解決兩大難題:第一,提升自動(dòng)化開發(fā)和測(cè)試管控能力;第二、構(gòu)建資源統(tǒng)一規(guī)劃、統(tǒng)一分配、統(tǒng)一視圖等高效運(yùn)行模式。其實(shí)開發(fā)、測(cè)試管理與運(yùn)行管理是是一個(gè)有機(jī)體,三者是相輔相成的關(guān)系。如果開發(fā)和測(cè)試存在問題,那么后期運(yùn)行管理也會(huì)受到阻礙。所以,要想讓DevOps成功落地,首先要解決的是研發(fā)過程管控能力不足的問題,比如:研發(fā)過程無法清晰度量、查看和分析,流程規(guī)范不標(biāo)準(zhǔn),各項(xiàng)目小組各自為政等等。最重要的是,因?yàn)槿鄙俳y(tǒng)一的研發(fā)管理支撐工具,已有的流程規(guī)范無法有效落實(shí)。由于管控能力不足,直接導(dǎo)致開發(fā)效率低、版本質(zhì)量差,到最后出現(xiàn)業(yè)務(wù)環(huán)境交付慢的現(xiàn)象。
大型DevOps平臺(tái)構(gòu)建從底層架構(gòu)開始
那么,DevOps具體該如何落地?相信,對(duì)于大多數(shù)企業(yè)而言,依然處于無從下手的狀態(tài)!因?yàn)閺慕M織架構(gòu)、文化、流程到工具、規(guī)范等,DevOps要想成功實(shí)施,涉及太多復(fù)雜因素。但是,如果找到真確的方式方法,打通各種工具鏈,就會(huì)發(fā)現(xiàn)DevOps之旅原來可以如此輕松、簡(jiǎn)單。
至于,大型DevOps平臺(tái)到底是怎樣一種形態(tài),具體包括哪些功能?BoCloud博云產(chǎn)品副總裁趙安全,從底層架構(gòu)開始進(jìn)行了詳細(xì)介紹。
“DevOps的底層是各種工具鏈的集合體,包括自研的、開源的和商業(yè)版工具,這些工具通過統(tǒng)一的平臺(tái)和門戶串聯(lián)到一起,然后實(shí)現(xiàn)固化、自動(dòng)化以及可視化這么一個(gè)過程。最終,所有資源都通過統(tǒng)一的資源平臺(tái)管好整個(gè)業(yè)務(wù)環(huán)境。” 趙安全強(qiáng)調(diào),整個(gè)方案的核心應(yīng)用場(chǎng)景,從需求端發(fā)起,然后涉及任務(wù)分解和計(jì)劃、代碼提交、持續(xù)集成、自測(cè)、多環(huán)境管理、上線發(fā)布及運(yùn)維等各個(gè)環(huán)節(jié)。其中,幾個(gè)重要的關(guān)注點(diǎn),要實(shí)施并行制。比如,需求管理如何去規(guī)劃、分解?業(yè)內(nèi)有很多方式方法,部分企業(yè)會(huì)采用代碼分支管理。仔細(xì)梳理,整個(gè)過程無非涉及兩大要素:一個(gè)是工具鏈,另一個(gè)就是流水線。除了工具本身,規(guī)范標(biāo)準(zhǔn)也同樣重要,只有采用過程管理和度量分析,最后所有的事情才能落地,才會(huì)實(shí)現(xiàn)過程可控、快速交付、可持續(xù)演進(jìn)等目標(biāo)。
而從落地結(jié)果來看,整個(gè)過程會(huì)包括幾個(gè)重要內(nèi)容。首先,是落地流程的設(shè)計(jì),要根據(jù)公司的業(yè)務(wù)現(xiàn)狀分為幾個(gè)重要階段,在不同階段要實(shí)現(xiàn)不同的目標(biāo),每個(gè)人的職責(zé)也要界定好。一般這個(gè)過程會(huì)花很多時(shí)間,因?yàn)閺默F(xiàn)有流程的了解到把更多人的經(jīng)驗(yàn)納入進(jìn)來,然后最后確定,是一個(gè)長(zhǎng)期工作。其次,是組織架構(gòu)設(shè)計(jì),要設(shè)立專門的架構(gòu)委員會(huì),并且架構(gòu)要凌駕于研發(fā)和運(yùn)維之上,目的是把兩個(gè)部門連接在一起,進(jìn)行整合。
需要重點(diǎn)注意的是,在整個(gè)流程規(guī)劃設(shè)計(jì)中,每個(gè)人的角色一定要規(guī)劃好,什么階段做什么事,遵守哪些規(guī)范,甚至要結(jié)合各種考核指標(biāo)和度量數(shù)據(jù),這是DevOps落地的關(guān)鍵點(diǎn)。并且,盡可能讓所有的規(guī)范都能用平臺(tái)去固化,通過專人去管控。
選擇專業(yè)的平臺(tái)型解決方案
要想快速進(jìn)入DevOps之旅,省去中間所有的復(fù)雜流程,選擇專業(yè)的平臺(tái)型解決方案可能是大多數(shù)企業(yè)的上上策。
以博云(博納訊動(dòng)軟件有限公司)的BeyondDevOps平臺(tái)為例,除了靈活性、可用性和功能更強(qiáng)大,還能給用戶帶來更多附加體驗(yàn)。比如:可以自定義工作流,讓用戶的工作流實(shí)現(xiàn)標(biāo)準(zhǔn)化管理,讓所有流程清晰、好用,并且可以后臺(tái)直接匹配。另外,兼容性更強(qiáng)。對(duì)于很多開發(fā)團(tuán)隊(duì)來說,不止在做一個(gè)應(yīng)用,可能會(huì)因?yàn)橐粋€(gè)項(xiàng)目,做很多微服務(wù),也可能要通過一個(gè)服務(wù)為20多個(gè)項(xiàng)目提供支撐,如何從各種項(xiàng)目、應(yīng)用、服務(wù)的視角進(jìn)行全面整合,這是博云的BeyondDevOps平臺(tái)區(qū)別于其他平臺(tái)的最大優(yōu)勢(shì)之一。就像一棵“服務(wù)樹”,通過核心視圖功能,用戶可以從代碼開始,把各種資源進(jìn)行對(duì)接。
趙安全認(rèn)為,除了又快又好,DevOps有三個(gè)特別重要的價(jià)值:
第一,研發(fā)進(jìn)度管理可視化、數(shù)字化。從管理者的角度來看,希望整個(gè)研發(fā)管理過程是可視化、隨時(shí)可以更新狀態(tài),是一個(gè)數(shù)字化過程。舉例來說,當(dāng)一個(gè)重要項(xiàng)目要發(fā)布,管理者希望看到今天的版本發(fā)布時(shí)間,比如:現(xiàn)在的進(jìn)度已經(jīng)達(dá)到51%了,還有12天就可以發(fā)布了。
第二,研發(fā)管理流程標(biāo)準(zhǔn)化、規(guī)范化。只有經(jīng)過標(biāo)準(zhǔn)化和規(guī)范化,我們才能保證今天能做到A,明天也能做到A。
第三,需求比較明確,整個(gè)開發(fā)測(cè)試環(huán)境自動(dòng)生成,高效管理和運(yùn)營(yíng)。這部分內(nèi)容之前很多人可能會(huì)忽略,但現(xiàn)在已變成一個(gè)非常重要的事情,并且有很多解決方案。
總之,DevOps理念要想真正深入企業(yè)內(nèi)部,讓企業(yè)的開發(fā)和運(yùn)維高效協(xié)作,我們?cè)诓渴餌evOps戰(zhàn)略或者選擇相關(guān)解決方案的時(shí)候,不僅要關(guān)注軟件開發(fā)的快速交付,還要關(guān)心很多隱性因素,比如:全程可控、可視化的能力,以及整個(gè)研發(fā)的質(zhì)量和效率的穩(wěn)定性等等。
目前面向企業(yè)級(jí)用戶的私有云市場(chǎng)上,能夠?qū)evOps從解決方案層面落地到產(chǎn)品層面的并不多,能做到功能強(qiáng),易上手的產(chǎn)品級(jí)DevOps就更少了。
市場(chǎng)研究顯示,雖然近些年國(guó)內(nèi)的數(shù)字化發(fā)展速度愈發(fā)加快,但企業(yè)在利用DevOps這一先進(jìn)技術(shù)提升企業(yè)IT研發(fā)效率方面,與歐美企業(yè)相比還要落后一到兩年的距離。新冠疫情對(duì)企業(yè)經(jīng)營(yíng)的沖擊,也使得DevOps這樣可以幫助企業(yè)IT團(tuán)隊(duì)實(shí)現(xiàn)遠(yuǎn)程協(xié)作開發(fā)的工具受到了企業(yè)的廣泛關(guān)注。
博云旗下的BeyondDevOps產(chǎn)品能夠做到向用戶開放試用,證明了其產(chǎn)品的成熟度,這對(duì)于幫助企業(yè)快速實(shí)現(xiàn)自身的DevOps落地,縮短項(xiàng)目建設(shè)周期,具有非常大的意義。