《大神告訴你,DevOps美但卻難落地?》要點(diǎn):
本文介紹了大神告訴你,DevOps美但卻難落地?,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
如果你或者你的公司組織正在尋求向DevOps過(guò)渡,我建議可以多注重洞察力方面的戰(zhàn)略性前瞻思維,起碼它可以協(xié)助構(gòu)建敏捷實(shí)踐和自動(dòng)化過(guò)程.
現(xiàn)在的IT部門是企業(yè)能夠快速響應(yīng)市場(chǎng)和得到競(jìng)爭(zhēng)優(yōu)勢(shì)的主要?jiǎng)恿?IT專人開(kāi)始改變自己在行業(yè)中管理項(xiàng)目的方式方法,而管理方法本身也在不斷改進(jìn).試想一下,當(dāng)下互聯(lián)網(wǎng)正在顛覆一個(gè)個(gè)行業(yè),我們?cè)囍鴱母邔咏嵌瓤催@件事,作為信息行業(yè)的領(lǐng)導(dǎo)者/追隨者,IT項(xiàng)目管理方式不強(qiáng)大怎么行?
DevOps發(fā)起于發(fā)達(dá)國(guó)家,它們的互聯(lián)網(wǎng)起步比我們?cè)?在此理論的影響下,敏捷性和持續(xù)交付成了軟件開(kāi)發(fā)和測(cè)試領(lǐng)域的新鮮熱門話題,因?yàn)?strong>它描繪了一個(gè)有效應(yīng)對(duì)現(xiàn)代工作流程的一些核心原則和流程.
DevOps全貌沒(méi)有非黑即白立馬呈現(xiàn),想要落地就要接受一個(gè)逐步進(jìn)化的步驟和階段.換句話說(shuō),世上最不會(huì)改變的就是改變,DevOps不是老板一拍腦袋就能很快落地的事,在實(shí)施過(guò)程中的各種具體執(zhí)行也不存在一勞永逸.翻譯成IT術(shù)語(yǔ),DevOps通過(guò)簡(jiǎn)化組織的工作方式,分解組織孤島(部門墻)來(lái)實(shí)現(xiàn),有效促成合作.
本篇聊聊典型組織跟進(jìn)DevOps要跨越的彎路,以及為什么絕大部分仍舊走不出適合自己的DevOps路子.除了devops內(nèi)容,我們順便討論了不同程度的敏捷性,組織需要克服的障礙.
現(xiàn)代軟件交付鏈涉及許多重要工具和流程,許多組織正在打怪升級(jí),不斷進(jìn)入DevOps下一階段.一口雖然吃不了胖子,但DevOps內(nèi)有4個(gè)主要的敏捷階段可以作為一定的參考標(biāo)準(zhǔn).
- 瀑布流:瀑布交付是很多企業(yè)在用的交付模式,其內(nèi)涵包括一些手動(dòng)過(guò)程,比如測(cè)試.代碼按照特定節(jié)奏編寫,測(cè)試和交付.所有的整體團(tuán)隊(duì),包括開(kāi)發(fā)人員,運(yùn)營(yíng)和質(zhì)量保證,都在孤立地運(yùn)作,很少合作.
- 初始的敏捷:一般來(lái)說(shuō),有一定程度敏捷的組織正處于瀑布的快速階段.但是由于靈活性,重定位或修復(fù)bug的機(jī)會(huì)有限,最終產(chǎn)品說(shuō)不定……咳咳,我們往下說(shuō).實(shí)際操作階段,GitHub上一大堆工具是很有可能為工作流程帶來(lái)一定程度上的自動(dòng)化和可擴(kuò)展性.不過(guò)即便在此基礎(chǔ)上又有了一些自動(dòng)化方面的測(cè)試,但基礎(chǔ)流程決定約束仍然存在,比如一些并行測(cè)試.
- 持續(xù)集成:DevOps跑到一定階段的標(biāo)志是用了諸如Jenkins,CircleCI和TeamCity等持續(xù)整合平臺(tái),這些工具對(duì)構(gòu)建自動(dòng)化大有益處.這里確定交付模式存在的深層次問(wèn)題,把開(kāi)發(fā)運(yùn)營(yíng)角色職能匯聚起來(lái),使得快速診斷和快速解決得到落實(shí),又沒(méi)有占用額外資源.
- 持續(xù)交付:走到這里,DevOps基本已經(jīng)落地成型.實(shí)現(xiàn)持續(xù)交付的組織采用了近乎全自動(dòng)化的開(kāi)發(fā)流程,甚至于包括高頻而精確的自動(dòng)化測(cè)試.此外,開(kāi)發(fā),運(yùn)營(yíng)和QA團(tuán)隊(duì)也已形成一股戰(zhàn)斗力,不斷地相互同步.這個(gè)階段調(diào)整業(yè)務(wù)需求、IT項(xiàng)目、開(kāi)發(fā)團(tuán)隊(duì)和IT運(yùn)營(yíng)人員等曾經(jīng)比較頭疼的大動(dòng)作都變得更加順暢,以便持續(xù)提供新的應(yīng)用程序版本.
通過(guò)采用跟開(kāi)發(fā),交付和產(chǎn)品相關(guān)的工具開(kāi)啟DevOps落地的組織很可能會(huì)發(fā)現(xiàn)自己在敏捷方面受到高效自動(dòng)化測(cè)試流程的限制.我知道說(shuō)來(lái)容易,但破解之道確實(shí)就是提高測(cè)試效率.先前的DevOps工具和方法提高了部分測(cè)試效率,比如自動(dòng)測(cè)試、云測(cè)試、并行測(cè)試…不過(guò)這些使測(cè)試更有效率以提高敏捷性的策略迄今沒(méi)成為DevOps對(duì)話的核心部分,但它們構(gòu)成了簡(jiǎn)單,低成本的增長(zhǎng)更靈活的方法,以便實(shí)現(xiàn)全面持續(xù)交付的目標(biāo).
自動(dòng)測(cè)試對(duì)DevOps至關(guān)重要?
自動(dòng)化測(cè)試的作用本質(zhì)在實(shí)現(xiàn)持續(xù)交付方面與其他DevOps工具區(qū)別開(kāi)來(lái).當(dāng)目標(biāo)是實(shí)現(xiàn)全面的敏捷性時(shí),自動(dòng)化測(cè)試的重要性就凸顯了.在印象里,開(kāi)發(fā)Web應(yīng)用的企業(yè)在過(guò)去很多年就充分利用到受DevOps啟發(fā)的工具和技術(shù)了.從GitHub倉(cāng)庫(kù),到Jenkins,它們已經(jīng)實(shí)現(xiàn)了幾種方法來(lái)構(gòu)建部分的自動(dòng)化流程.這些摸爬滾打探索出來(lái)的流程很大程度上能確保開(kāi)發(fā)可以輕松加愉快的與QA和運(yùn)維溝通對(duì)話.換個(gè)角度,部分這些特定的企業(yè)已經(jīng)很大程度上吸收了DevOps文化.
然而熟歸熟,該指出的短處還是要指出,它們?nèi)狈ψ詣?dòng)測(cè)試的DevOps資源,還是赤手空拳打天下.雖然測(cè)試可以腳本化,但大多數(shù)測(cè)試都是在臨時(shí)搭建的基礎(chǔ)上進(jìn)行,而團(tuán)隊(duì)還沒(méi)有在構(gòu)建過(guò)程中把自動(dòng)化測(cè)試囊括進(jìn)去.
缺乏完整的測(cè)試自動(dòng)化過(guò)程意味著產(chǎn)出高頻且可靠質(zhì)量的應(yīng)用依舊(相對(duì))困難.此外,這很有可能會(huì)擾亂組織已經(jīng)執(zhí)行的其他新變更,削弱開(kāi)發(fā)和交付的管道價(jià)值.雖然這些變化已經(jīng)優(yōu)化了開(kāi)發(fā)和部署,但沒(méi)有實(shí)際的自動(dòng)測(cè)試導(dǎo)致連續(xù)交付依然困難.因此,即便工作流程更敏捷了,但還是沒(méi)達(dá)到持續(xù)交付的效果.
此階段并非對(duì)持續(xù)交付就沒(méi)什么價(jià)值,既然缺一環(huán),那就能理解它的價(jià)值在鋪墊,繼續(xù)DevOps下一步的鋪墊.使自動(dòng)化測(cè)試成為持續(xù)集成工作流程的一部分的工具,這對(duì)現(xiàn)有流程的敏捷性幫助就大了.
DevOps你也可以看成是一種交付心態(tài),一種人人為我、我為人人的協(xié)作心態(tài).團(tuán)隊(duì)每個(gè)人都肩負(fù)業(yè)務(wù)指標(biāo),協(xié)作搞定需求,共同思考開(kāi)發(fā),構(gòu)建,測(cè)試并部署到集成環(huán)境.跨團(tuán)隊(duì)合作,創(chuàng)造性挑戰(zhàn)和勇氣,隨著越來(lái)越多的迭代進(jìn)步,都包含DevOps概念.DevOps是高效軟件交付的核心部分.大多數(shù)超出用戶預(yù)期的公司,他們的IT模式早已不是你我能隨便趕超的樣子,他們都在做最好的工作,深諳DevOps之道.拋開(kāi)這種大神級(jí)文明,我們?yōu)榱诉_(dá)到持續(xù)交付實(shí)質(zhì)性階段并盡可能全面敏捷,要做的不單是用幾個(gè)DevOps工具,也可以用DevOps涉及的語(yǔ)言.
組織需要徹底改革在瀑布發(fā)展時(shí)期建立的做法,讓工作流程完全敏捷、完整的DevOps落地,才更貼近你我可能都說(shuō)不太清楚的DevOps理念.開(kāi)始工具因公司而異,但有一些東西是崗位上就要有的覺(jué)悟:運(yùn)維方面,想想你想要什么樣的自動(dòng)化;測(cè)試人員,請(qǐng)想想你想要什么樣的自動(dòng)化;開(kāi)發(fā)不是不需要考慮,能協(xié)助就是最大的幸福,畢竟聽(tīng)說(shuō)你們玩OT都是玩的最高級(jí).
文章來(lái)自微信公眾號(hào):DevOps研究院
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.snjht.com/jiaocheng/4101.html