根據(jù)一份報(bào)告指出,盡管組建DevOps團(tuán)隊(duì)的比例正在上升,但是在企業(yè)中是否應(yīng)該存在DevOps團(tuán)隊(duì)這一問(wèn)題上依然存在著分歧。有些人擔(dān)心會(huì)創(chuàng)造更多的“孤島”(Silos),或是認(rèn)為DevOps是組織中的每個(gè)人都應(yīng)掌握的方法。另有觀點(diǎn)認(rèn)為,DevOps團(tuán)隊(duì)是一種轉(zhuǎn)變?yōu)樾鹿ぷ鞣绞降挠行緩健?/p>
這份報(bào)告是今年六月發(fā)布的第六次年度“DevOps狀態(tài)報(bào)告”(State of DevOps Report),報(bào)告是根據(jù)采集自27000份調(diào)研反饋中的實(shí)驗(yàn)數(shù)據(jù)而得出的。在報(bào)告中指出:
隨著DevOps的演進(jìn)和擴(kuò)散,我們注意到,任職于DevOps團(tuán)隊(duì)的員工比例呈逐年遞增。在2014年,在反饋結(jié)果的被調(diào)查者中有16%的人工作于DevOps團(tuán)隊(duì)。而三年后,這一數(shù)字達(dá)到了27%。
“DevOps狀態(tài)報(bào)告”并未對(duì)DevOps給出一個(gè)明確的定義,但是Matthew Skelton和Manuel Pais在devopstopologies.com上對(duì)此話題做了深入的探討。據(jù)現(xiàn)有的觀察情況,可使DevOps工作的團(tuán)隊(duì)拓?fù)浣Y(jié)構(gòu)包括:
開(kāi)發(fā)(Dev)與運(yùn)維(Ops)間的協(xié)作,這是DevOps的“應(yīng)許之地”(譯者注:“Promised Land”一詞源于圣經(jīng),指上帝賜給亞伯拉罕及其族人的土地)。 運(yùn)維職責(zé)的完全分擔(dān)。 將運(yùn)維作為IaaS。 將DevOps作為一種外部服務(wù)。 具有過(guò)期失效機(jī)制的DevOps團(tuán)隊(duì)。 DevOps狂熱者團(tuán)隊(duì)。 SRE團(tuán)隊(duì)(Google的模式)。 由容器驅(qū)動(dòng)的協(xié)作。 運(yùn)維和DBA間的協(xié)作。專門(mén)設(shè)立一個(gè)團(tuán)隊(duì)執(zhí)行DevOps,或是采納了相關(guān)的工具,這并不意味著我們正在做一件正確的事情。自CEO以下的每名員工,都需要真正地參與到DevOps工作中。
“DevOps并非某個(gè)人的工作,而是每位員工的工作”。這一理念在業(yè)界逐漸得到了廣泛的認(rèn)同,并與DevOps是否或應(yīng)該體現(xiàn)在職位頭銜上這一問(wèn)題緊密關(guān)聯(lián)。正如Threat Stack運(yùn)維和支持總監(jiān)Pete Cheslock在“DevOps頭銜毫無(wú)裨益”(DevOps in Your Job Title Is Doing You Harm)一文中所說(shuō):
事實(shí)上,DevOps是一種文化,應(yīng)該被企業(yè)中的方方面面所采納。每個(gè)員工都需要擁抱DevOps文化所帶來(lái)的變革,而非專屬于某個(gè)人。
但是,有人依然認(rèn)為DevOps(特別是DevOps工程師)應(yīng)適得其所。SpikeLab的創(chuàng)始人Spike Morelli是一位Google的前員工,并曾任斯坦福大學(xué)技術(shù)創(chuàng)業(yè)MOOC(Technology Entrepreneurship MOOC)的助教。在他看來(lái):
DevOps并非一種職位頭銜,但是DevOps工程師是。其中DevOps用作限定詞。
DevOps是一種方法,而非一種職位頭銜。我們并不會(huì)將開(kāi)發(fā)人員稱為敏捷工程師,他們依然是開(kāi)發(fā)人員,只是遵循了敏捷的方法。因此他們的職位并非是去實(shí)現(xiàn)敏捷,而是去創(chuàng)建很好的產(chǎn)品。
DevOps應(yīng)該滲透到組織中,而設(shè)立一個(gè)DevOps小組在某種程度上會(huì)喪失DevOps的意義。DevOps應(yīng)該嵌入到一個(gè)企業(yè)的架構(gòu)之中,而不是作為一種開(kāi)發(fā)過(guò)程中的輔助工具。如果DevOps沒(méi)有嵌入企業(yè)中,我們?nèi)绾文軐?shí)踐DevOps?
因此,在DevOps市場(chǎng)中存在著矛盾。事實(shí)上越來(lái)越多的組織開(kāi)始支持DevOps團(tuán)隊(duì),與之形成鮮明對(duì)比的是一些觀點(diǎn)認(rèn)為DevOps團(tuán)隊(duì)是一件壞事。“DevOps狀態(tài)報(bào)告”的撰寫(xiě)人對(duì)DevOps的增長(zhǎng)給出了如下的觀察:
我們認(rèn)為,這種增長(zhǎng)不僅表明了人們對(duì)DevOps工作的認(rèn)可,而且事實(shí)上DevOps團(tuán)隊(duì)代表了將整個(gè)企業(yè)從舊有的工作方式轉(zhuǎn)換為新的DevOps過(guò)程的一種戰(zhàn)略。
這種對(duì)DevOps團(tuán)隊(duì)的不利反應(yīng)并非新近才有。“DevOps狀態(tài)報(bào)告”的撰寫(xiě)人之一Jez Humble,他也是《持續(xù)交付》(Continuous Delivery)、《精益企業(yè)》(Lean Enterprise)和《DevOps手冊(cè)》(The DevOps Handbook)等書(shū)的作者,曾在2012年宣稱“并不存在所謂的DevOps團(tuán)隊(duì)”:
……DevOps運(yùn)動(dòng)意在解決由功能“孤島”組成的組織會(huì)導(dǎo)致運(yùn)作不暢的問(wèn)題。在嘗試并解決這些問(wèn)題時(shí),很明顯創(chuàng)建另一個(gè)位于開(kāi)發(fā)和運(yùn)維之間的功能“孤島”是一種不好的(令人啼笑皆非的)問(wèn)題解決方式。DevOps建議了一些替代策略,用于創(chuàng)建更好的功能“孤島”間協(xié)作,或者是完全地消除功能“孤島”并創(chuàng)建跨職能的團(tuán)隊(duì),或者是以某種方式組合這些方法。
InfoQ與Humble做了核實(shí)。時(shí)至2017年,他依然秉持此觀點(diǎn)。Humble強(qiáng)烈贊同Streets提出的觀點(diǎn)。但是他相信現(xiàn)在是時(shí)候去探討DevOps團(tuán)隊(duì)的問(wèn)題:
要讓開(kāi)發(fā)人員對(duì)他們所創(chuàng)建的系統(tǒng)負(fù)起責(zé)任,需要開(kāi)發(fā)人員可以得到來(lái)自于運(yùn)維的支持,以了解如何構(gòu)建可持續(xù)部署到那些橫向擴(kuò)展的不可靠平臺(tái)上的可靠軟件。他們需要自身服務(wù)于環(huán)境和部署,理解如何編寫(xiě)可測(cè)試并可維護(hù)的代碼,并需要知道如何打包軟件、實(shí)現(xiàn)部署中和部署后的支持工作。在此過(guò)程中,需要有人為開(kāi)發(fā)人員提供支持。如果有人想將做這樣事情的人稱為“DevOps團(tuán)隊(duì)”,那么我也不反對(duì)。
Puppet產(chǎn)品營(yíng)銷總監(jiān)Alanna Brown的觀點(diǎn)是:
一個(gè)專職的DevOps團(tuán)隊(duì),通常是由一些有經(jīng)驗(yàn)的運(yùn)維人員組成,這些運(yùn)維人員掌握多種技能,包括使用版本控制、編寫(xiě)作為架構(gòu)的代碼以及作持續(xù)交付。DevOps團(tuán)隊(duì)通常從解決最令人痛苦的事情著手,例如自動(dòng)化部署等。如果他們?nèi)〉昧顺晒Γ敲纯梢宰鲞M(jìn)一步的發(fā)展,并為企業(yè)中的其它部門(mén)提供共享的服務(wù)。
盡管在報(bào)告中普遍認(rèn)為DevOps團(tuán)隊(duì)是一種反模式,但是報(bào)告也指出,DevOps團(tuán)隊(duì)和IT企業(yè)性能間存在著正向關(guān)聯(lián):
在2014年的《DevOps狀態(tài)報(bào)告》中給出了一個(gè)驚喜,那就是16%的被調(diào)查者認(rèn)為自己是專職于在DevOps部門(mén)的。這些DevOps團(tuán)隊(duì)成員中有90%的人任職于那些高績(jī)效或中等績(jī)效的IT企業(yè)中。
Pivotal的Michael Coté在敏捷和DevOps團(tuán)隊(duì)的角色和職責(zé)上具有豐富的經(jīng)驗(yàn)(這里需要澄清一點(diǎn),Coté的觀點(diǎn)是“DevOps中包括了敏捷”):
通常我們能看到兩種類型的團(tuán)隊(duì):一種是“業(yè)務(wù)能力團(tuán)隊(duì)”,工作針對(duì)那些出現(xiàn)問(wèn)題的實(shí)際軟件或服務(wù)上(即“應(yīng)用”);另一種是“敏捷運(yùn)維團(tuán)隊(duì)”……
這里,Coté并未介紹敏捷運(yùn)維團(tuán)隊(duì)所做的工作,但是在他看來(lái),這是圍繞這生產(chǎn)PAAS的平臺(tái)工程、站點(diǎn)可靠性和架構(gòu)的工作。
無(wú)論業(yè)界是否認(rèn)同DevOps團(tuán)隊(duì)是推進(jìn)企業(yè)整體DevOps能力的正確方法,現(xiàn)實(shí)中DevOps團(tuán)隊(duì)與日俱增。讀者們是否認(rèn)為DevOps團(tuán)隊(duì)的趨勢(shì)將會(huì)繼續(xù)?更重要問(wèn)題的是,讀者們是否認(rèn)為DevOps團(tuán)隊(duì)?wèi)?yīng)該繼續(xù)發(fā)展下去?
查看英文原文: The Industry Just Can't Decide about DevOps Teams