華為云DevCloud一枝獨(dú)秀
DevOps,是Development和Operations的組合詞,是指一組過程、方法與系統(tǒng)的統(tǒng)稱,用于促進(jìn)開發(fā)、技術(shù)運(yùn)營(yíng)和質(zhì)量保障部門之間的溝通、協(xié)作與整合。DevOps是一種重視“軟件開發(fā)人員(Dev)”和“IT運(yùn)維技術(shù)人員(Ops)”之間溝通合作的文化、運(yùn)動(dòng)或慣例。透過自動(dòng)化“軟件交付”和“架構(gòu)變更”的流程,來使得構(gòu)建、測(cè)試、發(fā)布軟件能夠更加地快捷、頻繁和可靠。它的出現(xiàn)是由于軟件行業(yè)日益清晰地認(rèn)識(shí)到:為了按時(shí)交付軟件產(chǎn)品和服務(wù),開發(fā)和運(yùn)營(yíng)工作必須緊密合作。
DevOps:企業(yè)邁向敏捷之鑰
DevOps的出現(xiàn),源于在傳統(tǒng)模式下的開發(fā)和運(yùn)維組織上的分離造成的管理混亂,開發(fā)要不斷的迭代新版本上線新功能,但是運(yùn)維關(guān)注的是穩(wěn)定,這兩種需求實(shí)際上是矛盾的。但DevOps旨在打破這道混亂之墻,讓開發(fā)、運(yùn)維、測(cè)試協(xié)同作戰(zhàn),提高研發(fā)效率,實(shí)現(xiàn)高效交付,解決傳統(tǒng)模式下的運(yùn)維之痛。
而事實(shí)證明,DevOps確實(shí)能夠較好的解決開發(fā)和運(yùn)維之間的混亂問題,提升研發(fā)效率,實(shí)現(xiàn)高效交付。在近期中國(guó)信通院(CAICT)發(fā)布的《中國(guó)DevOps現(xiàn)狀調(diào)查報(bào)告(2019年)》(以下簡(jiǎn)稱報(bào)告)中,超八成企業(yè)表示,通過采用DevOps中的核心工程實(shí)踐——持續(xù)交付——獲得了研發(fā)效率的顯著提升。同時(shí)調(diào)查發(fā)現(xiàn),具備清晰、明確變更管理系統(tǒng)的組織,平均變更前置時(shí)間(即從代碼被成功提交到成功運(yùn)行在生產(chǎn)環(huán)境平均需要的時(shí)間),即通常意義上的交付時(shí)間也相對(duì)較短。
正是因?yàn)镈evOps能夠給企業(yè)帶來的諸多益處,目前,DevOps已經(jīng)成為企業(yè)軟件研發(fā)的主流,被眾多企業(yè)所采用。報(bào)告顯示,超半數(shù)企業(yè)使用DevOps的敏捷工程實(shí)踐管理開發(fā)項(xiàng)目,近6成企業(yè)選擇編碼規(guī)范、單元測(cè)試和持續(xù)集成。
DevOps:想說愛你不容易
然而,雖然眾多企業(yè)都期望DevOps能夠給它們帶來更高效的交付效率,提升客戶滿意度,創(chuàng)造更多的商業(yè)價(jià)值,但成功實(shí)踐DevOps依然是一個(gè)難題。在報(bào)告中,實(shí)際能夠真正成功實(shí)施DevOps的企業(yè)僅有31.65%,另外,還有接近四成(41.13%)的企業(yè)居然不清楚自己是否成功實(shí)施DevOps,這不得不說是一個(gè)令人感到意外的結(jié)果。
而當(dāng)我們認(rèn)真研究當(dāng)前中國(guó)企業(yè)的DevOps現(xiàn)狀時(shí),就會(huì)明白這個(gè)結(jié)果也在情理之中。當(dāng)前,雖然國(guó)內(nèi)應(yīng)用DevOps的眾多,DevOps已經(jīng)在國(guó)內(nèi)逐步落地實(shí)踐,但大部分企業(yè)仍然位于DevOps能力成熟度初始級(jí)和基礎(chǔ)級(jí),其比例高達(dá)7成。
而在DevOps的細(xì)分領(lǐng)域,例如DevOps的敏捷開發(fā)管理成熟度方面,同樣是近七成企業(yè)仍然處在基礎(chǔ)級(jí)和全面級(jí),僅有1.83%的企業(yè)處于卓越級(jí)。而且雖然大多數(shù)企業(yè)普遍采取了敏捷開發(fā)方法以提升研發(fā)效率,但敏捷開發(fā)技術(shù)普及率有待提升,研發(fā)管理流程嚴(yán)謹(jǐn)性不足。同樣,在應(yīng)用設(shè)計(jì)方面和安全風(fēng)險(xiǎn)管理方面,多數(shù)企業(yè)也是位于初始級(jí)和基礎(chǔ)級(jí)。同時(shí),在持續(xù)交付方面,企業(yè)的自動(dòng)化測(cè)試整體覆蓋率普遍偏低;在技術(shù)運(yùn)營(yíng)方面,企業(yè)整體運(yùn)營(yíng)能力有待提高,缺乏對(duì)潛在風(fēng)險(xiǎn)的管理。
再加上企業(yè)中有近7成的的研發(fā)人員DevOps經(jīng)驗(yàn)少于1年,在這樣的情況下,得到上述的調(diào)查結(jié)果也就不足為奇了。
總之,從報(bào)告來看,目前國(guó)內(nèi)大多數(shù)企業(yè)的DevOps應(yīng)用還是處在初始級(jí)和基礎(chǔ)級(jí)的階段,需要向全面級(jí)、優(yōu)秀級(jí)、卓越級(jí)轉(zhuǎn)變。
DevOps:工具技術(shù)如何選
而要實(shí)現(xiàn)企業(yè)DevOps從初始級(jí)、基礎(chǔ)級(jí)向全面級(jí)、優(yōu)秀級(jí)、卓越級(jí)轉(zhuǎn)變,除了企業(yè)要增強(qiáng)對(duì)于DevOps的重視度之外,選擇合適的DevOps工具和技術(shù)就顯得至關(guān)重要了。而從報(bào)告中顯示,近九成的企業(yè)會(huì)選擇云來助力DevOps實(shí)踐落地,這是因?yàn)?,DevOps就是在開發(fā)和部署周期中設(shè)計(jì)開發(fā)人員需要的環(huán)境的自動(dòng)化,以減少開發(fā)人員的等待時(shí)間,并允許開發(fā)人員在代碼基礎(chǔ)上獲得更多的迭代??紤]到這些環(huán)境一直處于變化狀態(tài),因此,DevOps是基于云計(jì)算的天然盟友,在云計(jì)算的支撐下企業(yè)能夠立即啟動(dòng)支持開發(fā)和部署過程中涉及的各種環(huán)境所需的資源以實(shí)施DevOps。
同時(shí),在易用性、可伸縮性和性能方面有著卓越表現(xiàn)的微服務(wù),成為了企業(yè)軟件開發(fā)較受歡迎的架構(gòu),而微服務(wù)和DevOps有著非常密切的聯(lián)系。微服務(wù)在具有眾多優(yōu)勢(shì)外也帶來了實(shí)施上的復(fù)雜性,整個(gè)系統(tǒng)由單一應(yīng)用拆分為多個(gè)服務(wù),微服務(wù)之間存在較強(qiáng)的依賴關(guān)系,服務(wù)之間如何協(xié)作如何處理就變得非常復(fù)雜。由于微服務(wù)是一個(gè)網(wǎng)狀分布的,有很多服務(wù)需要維護(hù)和管理,對(duì)它進(jìn)行部署維護(hù)和監(jiān)控管理的時(shí)候就比較復(fù)雜。因此使用微服務(wù),第一步是要構(gòu)建一個(gè)一體化的DevOps平臺(tái)。DevOps包含了持續(xù)集成與持續(xù)發(fā)布,服務(wù)依賴關(guān)系管理,服務(wù)的發(fā)現(xiàn)與負(fù)載均衡,以及集中化監(jiān)控管理,這些都是微服務(wù)生態(tài)系統(tǒng)所必不可少的工具和實(shí)踐。
而近幾年火熱的容器技術(shù)也被譽(yù)為是DevOps的天作之合,它的出現(xiàn)使DevOps落地實(shí)踐相對(duì)容易,而保持跨環(huán)境的一致性和靈活的可移植性是企業(yè)選擇容器的主要因素。
這些調(diào)查結(jié)果表明,大多數(shù)企業(yè)在DevOps實(shí)踐過程中,基于云計(jì)算、微服務(wù)、容器給企業(yè)帶來的諸多益處,都會(huì)選擇云+微服務(wù)+容器的方式來具體落地DevOps。而在具體的工具選擇上,國(guó)外廠商的產(chǎn)品仍然占據(jù)大半江山,JIRA在需求和項(xiàng)目管理領(lǐng)域拔得頭籌、Gitlab位居代碼管理首位。
一體化DevOps:DevOps的潛力股
雖然國(guó)外老牌傳統(tǒng)工具JIRA仍然以52.13%的市占率高居DevOps工具選擇之首,但與云結(jié)合的DevOps工具的發(fā)展勢(shì)頭良好,國(guó)內(nèi)廠商也在其中占據(jù)了一席之地,特別是在軟件開發(fā)一體化管理領(lǐng)域,排名前兩位的分別是國(guó)內(nèi)公有云大廠華為云DevCloud與阿里云效,分別占據(jù)16.46%與10.98%的市場(chǎng)份額。盡管從整體上來看,軟件開發(fā)一體化的DevOps平臺(tái)目前在市場(chǎng)中的占有率仍然偏低,但從未來發(fā)展的趨勢(shì)來看,與云結(jié)合的一體化DevOps將是未來DevOps平臺(tái)發(fā)展的一個(gè)重要方向,這從報(bào)告中的企業(yè)廣泛選擇云以及與云計(jì)算有著緊密聯(lián)系的微服務(wù)架構(gòu)和容器可以得到很好地佐證。
而在這個(gè)領(lǐng)域,之所以中國(guó)廠商能夠占據(jù)領(lǐng)先的地位,和兩家廠商在中國(guó)公有云市場(chǎng)的強(qiáng)勢(shì)發(fā)展是分不開的。特別是華為云DevOps之所以能夠成為報(bào)告中唯一占據(jù)一個(gè)首位的DevOps工具,首先應(yīng)該得益于華為30多年軟件研發(fā)的沉淀,這些在多年軟件研發(fā)中積累的豐富經(jīng)驗(yàn),使得華為深知開發(fā)者到底需要怎樣的DevOps工具,在這樣的理念上推出的DevCloud,受到企業(yè)和開發(fā)者的青睞,自然就是水到渠成的事情了。其次,華為云DevCloud針對(duì)需求變動(dòng)頻繁、開發(fā)測(cè)試環(huán)境復(fù)雜、多版本分支維護(hù)困難、無法有效監(jiān)控進(jìn)度和質(zhì)量等開發(fā)者研發(fā)中的普遍痛點(diǎn),使開發(fā)人員實(shí)現(xiàn)軟件研發(fā)過程可視、可控、可度量,還可以實(shí)現(xiàn)一鍵式部署,解決開發(fā)者在應(yīng)用部署方面的挑戰(zhàn)。而云端代碼檢查、自動(dòng)化測(cè)試管理和APP測(cè)試功能,能夠顯著避免代碼出錯(cuò)情況的發(fā)生,分布式代碼托管功能更是為開發(fā)者的代碼提供了一個(gè)可靠的“家園”。第三,華為云DevCloud不僅對(duì)外服務(wù),其本身就孵化于華為內(nèi)部的軟件研發(fā)能力中心,至今還在為內(nèi)部所有軟件研發(fā)人員服務(wù),在可用、可靠、安全性方面都經(jīng)過了實(shí)踐應(yīng)用的檢驗(yàn)。這些優(yōu)點(diǎn)匯聚起來,得到這樣的結(jié)果也就在情理之中了。
DevOps:未來誰(shuí)領(lǐng)風(fēng)騷
實(shí)際上,從本質(zhì)上講,DevOps 不只是一種技術(shù)或方案,它更多的是文化,它重視“軟件開發(fā)人員(Dev)”和“IT運(yùn)維技術(shù)人員(Ops)”之間溝通合作,以提高整個(gè)軟件開發(fā)生命周期的效率以及質(zhì)量。因此,誰(shuí)擁有更多的開發(fā)者,誰(shuí)更加了解開發(fā)者,誰(shuí)就能更加準(zhǔn)確的掌握開發(fā)者的需求,引領(lǐng)軟件工程能力的趨勢(shì),也能做出更加接地氣的產(chǎn)品,誰(shuí)更新迭代的速度更快,誰(shuí)就越有可能在未來的長(zhǎng)跑中獲勝。
雖然從此次調(diào)查結(jié)果來看,國(guó)外廠商的DevOps產(chǎn)品仍然處于領(lǐng)先地位,但我們相信,在以華為云為代表的國(guó)內(nèi)廠商的共同努力下,我國(guó)的軟件工程能力將會(huì)得到顯著的提升,我國(guó)的DevOps產(chǎn)品的能力也會(huì)得到迅速的提高,從而幫助中國(guó)企業(yè)落地DevOps,推動(dòng)中國(guó)企業(yè)從DevOps的初始級(jí)和基礎(chǔ)級(jí)的階段,向全面級(jí)、優(yōu)秀級(jí)、卓越級(jí)轉(zhuǎn)變,全方位的促進(jìn)國(guó)內(nèi)軟件產(chǎn)業(yè)發(fā)展,打造軟件產(chǎn)業(yè)發(fā)展新模式,推動(dòng)中國(guó)軟件產(chǎn)業(yè)不斷向前發(fā)展。