關(guān)于DevOps的10個(gè)"最佳實(shí)踐"
在2015年6月,Gartner預(yù)測(cè),“到2017年底,手機(jī)APP開(kāi)發(fā)服務(wù)的市場(chǎng)需求將比內(nèi)部IT組織提供的能力要快至少五倍。”事實(shí)上,企業(yè)已經(jīng)看到他們的app工作量飆升。因此,更多的組織采用DevOps - 一種通過(guò)讓app開(kāi)發(fā)人員和運(yùn)維專家在端到端的應(yīng)用程序開(kāi)發(fā)和部署過(guò)程中進(jìn)行協(xié)作來(lái)加快應(yīng)用程序開(kāi)發(fā)和交付的方法。這里有在組織中得到認(rèn)可的10個(gè)DevOps“***實(shí)踐”。
1. 打破IT中的壁壘
打破IT職能間的功能壁壘必須來(lái)自上級(jí)管理層,因?yàn)镮T已經(jīng)被組織成職能豎井幾十年了。在這種環(huán)境下,應(yīng)用程序開(kāi)發(fā)工作歷來(lái)是采用裝配線方法(瀑布流模式),其中一個(gè)部門構(gòu)建app,然后將應(yīng)用程序發(fā)送到運(yùn)維組集成,接著app由QA組進(jìn)行測(cè)試,之后該app回到運(yùn)維組部署。
這種功能分離限制了協(xié)作,帶來(lái)了延遲部署應(yīng)用程序的問(wèn)題。為了更快地交付今天的app,IT經(jīng)理已經(jīng)開(kāi)始將IT重組為DevOps團(tuán)隊(duì),這些團(tuán)隊(duì)是所有IT方法論的組合,每個(gè)團(tuán)隊(duì)都會(huì)對(duì)特定類別的app負(fù)責(zé)。
2. 調(diào)整績(jī)效評(píng)估
當(dāng)IT文化需要“脫軌”時(shí),通過(guò)團(tuán)隊(duì)績(jī)效和個(gè)人參與的團(tuán)隊(duì)績(jī)效評(píng)估,可以大步走進(jìn)這個(gè)過(guò)程。為開(kāi)發(fā)人員和運(yùn)營(yíng)人員提供更多的績(jī)效評(píng)估,使他們的團(tuán)隊(duì)能夠滿足app開(kāi)發(fā)和部署目標(biāo)。
3. 構(gòu)建項(xiàng)目的實(shí)時(shí)可見(jiàn)性
當(dāng)前項(xiàng)目管理軟件現(xiàn)在已經(jīng)具有內(nèi)置的自動(dòng)化功能,可以減輕項(xiàng)目更新的麻煩。項(xiàng)目管理工具可以提供對(duì)應(yīng)用程序的實(shí)時(shí)可見(jiàn)性,以及提供開(kāi)發(fā)部署過(guò)程中的準(zhǔn)確位置。它還可以顯示當(dāng)前任務(wù)的人員和任務(wù)關(guān)鍵資源(看板)。項(xiàng)目管理軟件可以作為跨職能IT團(tuán)隊(duì)的“單一版本”(對(duì)所有可見(jiàn),統(tǒng)一理解),使項(xiàng)目協(xié)調(diào)工作變得更加容易。
4. 隨時(shí)隨地使用軟件自動(dòng)化
您可以通過(guò)選擇與IT環(huán)境兼容的應(yīng)用程序自動(dòng)化工具集來(lái)縮短時(shí)間,錯(cuò)誤和成本。這種自動(dòng)化可以擴(kuò)展到應(yīng)用程序源代碼開(kāi)發(fā),系統(tǒng)和中間件配置,甚至數(shù)據(jù)庫(kù)和網(wǎng)絡(luò)更改。在部署前的重要的類生產(chǎn)測(cè)試,如回歸測(cè)試和負(fù)載測(cè)試也可以自動(dòng)化。這樣可以節(jié)省開(kāi)發(fā)人員和運(yùn)維人員的時(shí)間和精力。
5. 選擇相互兼容的工具
DevOps使用工具和自動(dòng)化的另一個(gè)注意事項(xiàng)是工具在應(yīng)用程序和系統(tǒng)兩個(gè)級(jí)別上產(chǎn)生的狀態(tài)信息不會(huì)沖突。從單一供應(yīng)商選擇工具通常更為有效,因?yàn)檫@些工具已經(jīng)彼此緊密集成。這樣可以改善app開(kāi)發(fā)人員在應(yīng)用程序的健康狀況下收到的狀態(tài),與運(yùn)維人員在其app中看到的內(nèi)容一致。
6. 從小而成功的項(xiàng)目開(kāi)始
CIO希望IT文化脫離壁壘,就需要確保新整合的DevOps工作團(tuán)隊(duì)能夠取得一些快速的成功。這樣會(huì)建立了他們對(duì)新方法的信念和合作。切忌貪大求全,需要有單點(diǎn)突破的能力,甚至說(shuō)構(gòu)建完整的持續(xù)交付流水線都是錯(cuò)誤的。這個(gè)地方的方法是整體設(shè)計(jì),分塊構(gòu)建,對(duì)于每個(gè)角色來(lái)說(shuō)以高頻交互場(chǎng)景為優(yōu)先切入點(diǎn)。
7. 別忘了用戶!
您正在開(kāi)發(fā)的應(yīng)用程序是最終業(yè)務(wù)。沒(méi)有業(yè)務(wù)利益相關(guān)者的關(guān)鍵支持,您的DevOps工作將會(huì)面臨失敗。從您坐下來(lái)與他們定義應(yīng)用程序需求的那一刻,原型開(kāi)發(fā),單元測(cè)試集成/回歸測(cè)試,培訓(xùn)和部署整個(gè)DevOps進(jìn)程都要包含最終用戶。這種包含是以用戶的價(jià)值為依歸,從用戶的角度出發(fā),考慮其在業(yè)務(wù)連續(xù)性、可用性、用戶體驗(yàn)、滿意度等多方面的要求。今天看來(lái),讓用戶參與設(shè)計(jì),是一種detailed 設(shè)計(jì)方式,可以借助一些輕量級(jí)的技術(shù)手段,比如說(shuō)A/B測(cè)試來(lái)減輕和加速這個(gè)過(guò)程。
8. 協(xié)同管理變更
當(dāng)多方合作開(kāi)展快速發(fā)展的開(kāi)發(fā)工作時(shí),其中涉及原型設(shè)計(jì)和其他工具,app的更改即將發(fā)生。這就是為什么一個(gè)有效的變更管理過(guò)程對(duì)每個(gè)DevOps項(xiàng)目至關(guān)重要。當(dāng)app需要更改的那一刻,這個(gè)請(qǐng)求應(yīng)該面向團(tuán)隊(duì)中的每個(gè)人,無(wú)論他們工作在哪個(gè)IT環(huán)節(jié)上。這種溝通也應(yīng)該指向最終用戶利益相關(guān)者。分布式研發(fā)管理模式下,工具非常重要,采用一個(gè)分布式管理工具、自動(dòng)化構(gòu)建和測(cè)試工具都是為了提高協(xié)同的效率。
9. 持續(xù)部署應(yīng)用程序
DevOps在持續(xù)應(yīng)用部署模式中最有效,其中網(wǎng)站不要等待將各種增強(qiáng)功能捆綁到獨(dú)立的軟件版本中,而是選擇不斷修改和交付修訂的應(yīng)用程序(基于MVP,增量迭代式的開(kāi)發(fā)模式)。一個(gè)具有強(qiáng)大變更管理系統(tǒng)的app持續(xù)交付模式使得新的app功能更快速的交付業(yè)務(wù)。變更管理平臺(tái)需要有灰度發(fā)布、A/B測(cè)試的能力,而不是更多的靠人為來(lái)保證。
10. 在公司內(nèi)創(chuàng)建一個(gè)服務(wù)環(huán)境
IT溫室時(shí)代已經(jīng)結(jié)束了。 為了做好面向業(yè)務(wù)的交付,IT部門必須牢記業(yè)務(wù)用戶需求,并交付滿足或超過(guò)功能和上市時(shí)間預(yù)期的app。 如果改變文化可以強(qiáng)調(diào)團(tuán)隊(duì)精神的價(jià)值,開(kāi)放式溝通和客戶滿意度的承諾,即使客戶駐留在相鄰的辦公室也可以這樣做。總而言之,要把自己的服務(wù)意識(shí)放在離客戶最近的地方。
【本文是51CTO專欄作者“王津銀”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)注明出處】