IT運(yùn)維值得關(guān)注的DevOps成功關(guān)鍵
將軟件開(kāi)發(fā)和IT運(yùn)維團(tuán)隊(duì)整合到單一的DevOps組織可以帶來(lái)更強(qiáng)大的軟件開(kāi)發(fā)項(xiàng)目交付能力,但兩類(lèi)團(tuán)隊(duì)的文化差異、以及缺乏有效的工具都會(huì)阻礙DevOps的成功。
越來(lái)越多的公司開(kāi)始向DevOps模式轉(zhuǎn)型,希望能更迅速地將越來(lái)越多的軟件更新和修補(bǔ)程序交付到用戶手上,而且能實(shí)現(xiàn)比傳統(tǒng)模式更短的軟件更新周期。
在持續(xù)的競(jìng)爭(zhēng)壓力下,能夠更快發(fā)布軟件產(chǎn)品的公司顯然會(huì)擁有更強(qiáng)的競(jìng)爭(zhēng)優(yōu)勢(shì)。
Gartner研究總監(jiān) Colin Fletcher 在2014 Gartner IT基礎(chǔ)架構(gòu)和運(yùn)營(yíng)管理峰會(huì)上表示,“它(DevOps)將決定你進(jìn)軍新市場(chǎng)或者推出新產(chǎn)品的速度”。Fletcher認(rèn)為,新興市場(chǎng)的競(jìng)爭(zhēng)壓力、適應(yīng)新的計(jì)算平臺(tái),為產(chǎn)品增加新功能、提升能力,這些都是轉(zhuǎn)向DevOps的理由。
傳統(tǒng)的軟件開(kāi)發(fā)是一個(gè)人工過(guò)程,每一代產(chǎn)品從源代碼到測(cè)試到發(fā)布的過(guò)程都會(huì)跨越組織內(nèi)部多個(gè)相對(duì)分離的領(lǐng)域。雖然讓開(kāi)發(fā)人員、測(cè)試人員和其它崗位人員融合無(wú)間,消除相互之間的合作壁壘是DevOps的終極目標(biāo),但每個(gè)公司都會(huì)用不同的辦法將DevOps付諸實(shí)現(xiàn)。
Gartner公司資深VM分析師Ronni Colville表示,開(kāi)發(fā)人員和運(yùn)營(yíng)人員對(duì)于軟件發(fā)布管理的看法完全不同。在軟件開(kāi)發(fā)人員眼里,軟件是代碼、功能和性能。然而,運(yùn)營(yíng)人員眼里的軟件是致力于將代碼數(shù)據(jù)傳送到目的地的一個(gè)流程或者行為。如果能整合兩方的看法,就能大幅精簡(jiǎn)流程,減少理解上的誤差。
1.應(yīng)對(duì)DevOps帶來(lái)的文化沖擊
平穩(wěn)的文化過(guò)渡是讓DevOps獲得長(zhǎng)期成功應(yīng)用和增強(qiáng)發(fā)布軟件產(chǎn)品的綜合能力的關(guān)鍵。第一步是,明確DevOps的定義,調(diào)動(dòng)開(kāi)發(fā)和運(yùn)營(yíng)部門(mén)之間的協(xié)作,鼓勵(lì)運(yùn)營(yíng)人員采納軟件開(kāi)發(fā)方法,并利用云計(jì)算基礎(chǔ)設(shè)施來(lái)完成真實(shí)的測(cè)試和代碼部署。
在軟件開(kāi)發(fā)、測(cè)試、質(zhì)量保證(QA)、集成、預(yù)生產(chǎn)和生產(chǎn)部署等方面的任何舊小團(tuán)隊(duì)必須打散,因?yàn)槊總€(gè)小團(tuán)隊(duì)都可能拖延開(kāi)發(fā)周期并且?guī)?lái)不可預(yù)料的問(wèn)題。
以上策略能更好地整合開(kāi)發(fā)和運(yùn)營(yíng)人員,通過(guò)整合團(tuán)隊(duì)成員來(lái)產(chǎn)生效益。例如,在討論運(yùn)營(yíng)解決方案或擾亂事后評(píng)估報(bào)告時(shí)應(yīng)該邀請(qǐng)開(kāi)發(fā)人員加入。相反地,應(yīng)該邀請(qǐng)運(yùn)營(yíng)人員列席開(kāi)發(fā)人員規(guī)劃會(huì)議。讓交叉組合的工作模式成為制度,可以讓團(tuán)隊(duì)之間合作融洽,消除溝通不暢導(dǎo)致的延誤或疏忽,使DevOps的推進(jìn)更加有效。
這種文化上的改革并不容易。它需要公司提供統(tǒng)一的考核標(biāo)準(zhǔn),以相同的形式衡量開(kāi)發(fā)人員和運(yùn)維人員的業(yè)績(jī)。培養(yǎng)一種團(tuán)隊(duì)精神,讓大家一起向一個(gè)共同的目標(biāo)努力,而不再只是為了從前各自的狹隘的小團(tuán)體目標(biāo)。在這里有時(shí)可以運(yùn)用崗位輪換或者知識(shí)共享的方法。Colville鼓勵(lì)大家勇于嘗試——嘗試用創(chuàng)造性的新方法處理問(wèn)題,謹(jǐn)慎應(yīng)對(duì)風(fēng)險(xiǎn),從失敗中積累經(jīng)驗(yàn)。
在Bob Jones 大學(xué)的案例里,開(kāi)發(fā)和運(yùn)營(yíng)團(tuán)隊(duì)之間的文化差異成為巨大的挑戰(zhàn)。
“從前我們的客戶都沒(méi)有好臉色”,Bob Jones大學(xué)IT運(yùn)營(yíng)總監(jiān)Terry Worley表示,“我不得不拿著鞭子驅(qū)趕運(yùn)營(yíng)和開(kāi)發(fā)人員,迫使他們?cè)诠ぷ魃险J(rèn)真地合作。我深有體會(huì),文化差異是攔路虎,我要么坐著等死,要么就該去殺了它!”
Worley已經(jīng)證明了文化變革的好處,他指出,在采用了優(yōu)化后的DevOps模式完成兩個(gè)項(xiàng)目之后,開(kāi)發(fā)人員們就再也不想回到從前的傳統(tǒng)軟件開(kāi)發(fā)模式了。
2.DevOps需要齊全的工具箱
想要超越文化的影響,組織還必須依靠各種 DevOps 工具。例如,開(kāi)發(fā)人員編寫(xiě)代碼需要工具、QA測(cè)試人員需要用工具完成新版軟件的部署,環(huán)境準(zhǔn)備、將新代碼在測(cè)試系統(tǒng)和生產(chǎn)系統(tǒng)之間遷移也必須用到云資源調(diào)度工具。Fletcher表示,工具本身都不是問(wèn)題,重要的是能夠讓各種工具互相配合,在軟件的生命周期內(nèi)提供支持。
當(dāng)前在應(yīng)用程序發(fā)布自動(dòng)化工具市場(chǎng)已經(jīng)存在眾多的供應(yīng)商。運(yùn)營(yíng)工具方面的供應(yīng)商有BMC Software, CA Technologies Inc. 和 XebiaLabs Inc.等公司。軟件開(kāi)發(fā)工具方面的供應(yīng)商包括IBM,Electric Cloud Inc.和Serena Software Inc。
關(guān)于開(kāi)發(fā)人員工作流程、架構(gòu)設(shè)計(jì)和軟件發(fā)布工具方面的專(zhuān)業(yè)供應(yīng)商也在不斷涌現(xiàn),這些供應(yīng)商包括Atlassian, CollabNet Inc., Rally Software, ThoughtWorks Inc. ,OpenMake Software Inc.等公司。在評(píng)估這些新供應(yīng)商時(shí),應(yīng)明智地預(yù)計(jì)到這些公司隨時(shí)可能會(huì)被并購(gòu),其產(chǎn)品可用性和未來(lái)發(fā)展也會(huì)因此受影響——請(qǐng)記得在選擇新的軟件發(fā)布自動(dòng)化產(chǎn)品時(shí)多留個(gè)心眼。