成功的數(shù)字化轉(zhuǎn)型需要來(lái)自內(nèi)部的破壞,想要擁抱數(shù)字化未來(lái)的首席信息官們必須經(jīng)常改變他們的IT運(yùn)行模式才能實(shí)現(xiàn)這一點(diǎn)。沒(méi)有什么比開(kāi)發(fā)軟件和服務(wù)更為明顯的了。
為了更快地構(gòu)建軟件,首席信息官們開(kāi)始放棄舊的瀑布式的習(xí)慣,轉(zhuǎn)而采用敏捷方法,同業(yè)務(wù)利益相關(guān)方合作,用迭代沖刺的模式更快地構(gòu)建應(yīng)用程序。而有一些人則相信通過(guò)采用一種名為DevOps的新興哲學(xué),他們甚至可以進(jìn)一步加速軟件開(kāi)發(fā)工作。
DevOps是“開(kāi)發(fā)”和“運(yùn)營(yíng)”的混搭,描述了實(shí)現(xiàn)敏捷開(kāi)發(fā)和可擴(kuò)展運(yùn)營(yíng)所需的組織結(jié)構(gòu)、實(shí)踐和文化。DevOps使軟件組裝自動(dòng)化,利用持續(xù)集成、開(kāi)發(fā)和部署,改善客戶體驗(yàn),更快地響應(yīng)業(yè)務(wù)需求,并確保創(chuàng)新與安全和運(yùn)營(yíng)需求相平衡。你可以將DevOps視為使用了類固醇的敏捷開(kāi)發(fā)。
它正在迅速蔓延。Forrester Research的調(diào)查顯示,在237個(gè)接受調(diào)查的機(jī)構(gòu)中,有50%的機(jī)構(gòu)表示他們正在實(shí)施DevOps。分析師Robert Stroud在研究報(bào)告中寫(xiě)道:“DevOps的發(fā)展勢(shì)頭正在蔓延至所有的行業(yè)。”他表示,“由于我們即將迎來(lái)2017年年底,越來(lái)越多的詢問(wèn)集中在組織能夠如何在壓力下成功地提高應(yīng)用程序和服務(wù)的交付速度上——而且不能增加人手。”
由于組織孤島、文化障礙和變革管理等問(wèn)題,向DevOps的過(guò)渡絕非易事。來(lái)自Intuit、大都會(huì)人壽(MetLife)和Red Hat的IT高管們介紹了他們?cè)贒evOps變革方面的經(jīng)驗(yàn),并為希望擁抱DevOps的首席信息官們提供一些建議。
向DevOps轉(zhuǎn)變
對(duì)于一家擁有4500名開(kāi)發(fā)人員、而且他們都已經(jīng)習(xí)慣了瀑布式工作方式開(kāi)發(fā)應(yīng)用程序的軟件制造商來(lái)說(shuō),融合網(wǎng)絡(luò)安全和DevOps可不是一件容易的事。但是,對(duì)于Intuit的DevSecOps總監(jiān)Shannon Lietz來(lái)說(shuō),這是她的首要任務(wù)。Lietz表示:“這是一種文化上的轉(zhuǎn)變。”她表示:“越是接近客戶,開(kāi)發(fā)人員、公司里的其他人的經(jīng)驗(yàn)就愈加豐富,你的客戶也是如此。”
Lietz表示:“科學(xué)的奉獻(xiàn)精神使DevOps現(xiàn)實(shí)可行并取得成功,而我發(fā)現(xiàn)試圖將科學(xué)引入公司是非常困難的。”她表示, “這是一種完全不同的進(jìn)行方式。”
對(duì)大都會(huì)人壽(MetLife)而言,引入DevOps與創(chuàng)新攜手共進(jìn)。Alex Seidita是這家擁有150年歷史的保險(xiǎn)公司的首席技術(shù)架構(gòu)師,Alex表示,在過(guò)去幾年里,大都會(huì)人壽(MetLife)在開(kāi)始采用DevOps的同時(shí)還采用了來(lái)自微軟和IBM的云服務(wù),并使用了來(lái)自Docker的容器技術(shù)。
大都會(huì)人壽(MetLife)的ModSquad是一個(gè)由工程師、網(wǎng)絡(luò)專業(yè)人員和開(kāi)發(fā)人員組成的創(chuàng)新團(tuán)隊(duì),這個(gè)團(tuán)隊(duì)已經(jīng)接受了云計(jì)算、敏捷開(kāi)發(fā)和DevOps,采用了“快速學(xué)習(xí)、快速失敗、快速交付”的模式。ModSquad的口號(hào)是:“你不用等到自己知道了所有的事情之后才開(kāi)始動(dòng)手。”
對(duì)于容器、微服務(wù)和其他工具宗教般的狂熱,讓Mike Kelly 于2016年8月在DevOps的誘惑下加入了Red Hat。曾在McKesson 擔(dān)任首席信息官的Kelly厭倦了首席信息官是如何演變成為軟件賣(mài)家的過(guò)程,因此在離開(kāi)這個(gè)職位之后,加入了這家開(kāi)放源代碼軟件開(kāi)發(fā)企業(yè)。
Kelly表示,企業(yè)首席信息官們采購(gòu)打包軟件以確保流程效率,并管理與這些應(yīng)用程序相關(guān)的變化。但是,首席信息官們的手腳被定制軟件束縛了,這些定制針對(duì)的是太過(guò)獨(dú)特或者難以改變的流程。
在McKesson引入DevOps的Kelly表示:“我總是覺(jué)得自己能夠完成這些大項(xiàng)目,會(huì)有一些人并不開(kāi)心。” Kelly表示:“有了這些(DevOps、敏捷開(kāi)發(fā)和文化變革),我們現(xiàn)在擁有了眾所周知的工具箱中的工具,可以幫助我們解決這些長(zhǎng)期以來(lái)一直存在的問(wèn)題。”
實(shí)施DevOps的十二個(gè)最佳實(shí)踐
根據(jù)他們?cè)谙駾evOps過(guò)渡過(guò)程中的親身實(shí)踐經(jīng)驗(yàn),Lietz、Seidita和Kelly提供了以下建議,以保障DevOps的成功。
Ÿ將DevOps戰(zhàn)略與業(yè)務(wù)結(jié)合起來(lái)。確保IT和業(yè)務(wù)戰(zhàn)略的一致性是首席信息官們共同的責(zé)任,這一點(diǎn)對(duì)于DevOps來(lái)說(shuō)同樣重要,如果IT和業(yè)務(wù)不能夠保持一致,項(xiàng)目就會(huì)失敗。Lietz表示:“如果你不這樣做,那你就只是在創(chuàng)造驚喜”——而且很有可能是不受歡迎的“驚喜”。
Ÿ切入現(xiàn)有的項(xiàng)目。不要將DevOps作為一個(gè)獨(dú)立地科學(xué)項(xiàng)目;相反,把它插入到現(xiàn)有的項(xiàng)目中,這樣它就有責(zé)任遵從通常的交付截止日期。Seidita 表示:“選擇一個(gè)、兩個(gè)或三個(gè)項(xiàng)目,你可能會(huì)冒一點(diǎn)風(fēng)險(xiǎn),但時(shí)間并不是無(wú)限的。”Seidita表示:“你希望人們能夠沖刺,并最終將結(jié)果投入生產(chǎn)。”
Ÿ心胸寬廣。要想讓DevOps發(fā)揮作用,文化是至關(guān)重要的。Seidita表示,要盡可能地包容,這樣你就可以“改變心靈和思想”。Seidita補(bǔ)充表示,非常重要的一點(diǎn)是不要排斥人,因?yàn)檫@可能會(huì)造成問(wèn)題。“你必須心胸寬廣并且非常包容,這樣人們才會(huì)覺(jué)得他們參與了這段旅程,并為之做出了貢獻(xiàn)。”
Ÿ聚焦讓你獨(dú)一無(wú)二的東西。在選擇實(shí)施項(xiàng)目的時(shí)候,要選擇那些能夠增加價(jià)值,并讓業(yè)務(wù)變得與眾不同的項(xiàng)目。Kelly表示:“不要試圖在你的核心ERP系統(tǒng)上實(shí)施DevOps。”
Ÿ選擇經(jīng)過(guò)驗(yàn)證的平臺(tái)。工具是DevOps的另一個(gè)重要組成部分。從配置管理到持續(xù)交付平臺(tái),選擇具有知名網(wǎng)絡(luò)的工具。Kelly表示,把賭注押在未知的平臺(tái)上會(huì)帶來(lái)風(fēng)險(xiǎn)。
Ÿ嘗試在內(nèi)部培養(yǎng)技能。市場(chǎng)上沒(méi)有足夠的DevOps人才,因此你應(yīng)該吸引整個(gè)組織內(nèi)部有經(jīng)驗(yàn)的人才。讓他們?yōu)轫?xiàng)目做出貢獻(xiàn)。Lietz表示:“他們可以給你一個(gè)滾動(dòng)條來(lái)看待事情。”她表示,Intuit研究了“無(wú)邊界領(lǐng)導(dǎo)”,管理者可以從公司內(nèi)部抽出自愿參與的團(tuán)隊(duì)成員。更多的時(shí)候,他們同意提供幫助,是因?yàn)樗麄冎雷约赫趶氖碌墓ぷ魇菢I(yè)務(wù)戰(zhàn)略的一部分。
Ÿ避免“劃分等級(jí)”的問(wèn)題。許多組織都有喜歡冒險(xiǎn)的工程師,他們致力于新興技術(shù),也會(huì)有一些維護(hù)傳統(tǒng)技術(shù)(例如ERP系統(tǒng))的工程師。這些酷酷的冒險(xiǎn)者可能會(huì)招致怨恨。Kelly表示:“你必須非常認(rèn)真地同你的同事進(jìn)行交談,向他們解釋說(shuō)這并不是非黑即白的問(wèn)題。”他說(shuō),在傳統(tǒng)環(huán)境中工作的員工和那些實(shí)施DevOps的員工是同等重要的。
Ÿ時(shí)間永遠(yuǎn)是一個(gè)重要因素。不要低估時(shí)間的重要性,特別是那些每個(gè)季度都要公布財(cái)務(wù)報(bào)告的上市公司。Lietz表示,公司必須致力于為特定的季度創(chuàng)造價(jià)值,并讓每個(gè)利益相關(guān)方都專注于學(xué)習(xí)開(kāi)發(fā)渠道的一部分。IT和業(yè)務(wù)利益相關(guān)方都應(yīng)該學(xué)習(xí),以確保任務(wù)和結(jié)果之間的一致。
Ÿ不要看得太遠(yuǎn)。鑒于DevOps的高速度,一些組織可能會(huì)試圖解決在遙遠(yuǎn)的未來(lái)才會(huì)出現(xiàn)的問(wèn)題。這可能導(dǎo)致他們錯(cuò)過(guò)迭代創(chuàng)造價(jià)值的機(jī)會(huì),甚至?xí)?dǎo)致產(chǎn)品召回,浪費(fèi)每個(gè)人的時(shí)間。
Ÿ擁抱故事寫(xiě)作。把它看成是為客戶創(chuàng)造價(jià)值的藍(lán)圖。它從一個(gè)動(dòng)詞開(kāi)始,例如“啟用”一個(gè)特定的產(chǎn)品功能,以使其變得更加安全。Lietz表示,如果你無(wú)法創(chuàng)建一個(gè)故事線來(lái)描述你計(jì)劃如何滿足你的客戶的需求,你可能就不會(huì)打造出最好的產(chǎn)品。
Ÿ避免官僚主義。官僚主義可能會(huì)成為DevOps殺手,特別是在那些已經(jīng)圍繞著接訂單建立了成熟規(guī)則的IT組織中更是如此。Lietz表示:“不要相信有一個(gè)方法可以做出決定。” Lietz表示:“實(shí)驗(yàn)是關(guān)鍵,一旦你在DevOps融入了官僚作風(fēng),DevOps就會(huì)失敗。”
Ÿ迭代學(xué)習(xí)。確保員工為踏上這段旅程做好了準(zhǔn)備并且犯下一些錯(cuò)誤。Seidita表示:“不要把它們與嚴(yán)格的財(cái)務(wù)模型聯(lián)系起來(lái),那樣的話你就需要在今天告訴我明年你打算花多少錢(qián)。”“要一點(diǎn)點(diǎn)來(lái)。”