新聞發(fā)布
管理系統(tǒng)DevOpsGuys 列出了十二個(gè) DevOps 反類型,Jez Humble、Gene Kim、Damon Edwards(以及其他許多人)也說(shuō)過(guò)類似的事情。在這里我增加三個(gè)額外的團(tuán)隊(duì)結(jié)構(gòu),關(guān)于這三種類型我之前很少見過(guò)或聽過(guò)人提及:全嵌入式/共享運(yùn)維(Fully Embedded),DevOps 即服務(wù)(DevOps-as-a-Service),和臨時(shí) DevOps 團(tuán)隊(duì)(Temporary DevOps Team)。
DevOps Anti-Types
首先,看待事物的一個(gè)有效方式是去觀察它不好的一面,這種方式我們稱之為“反類型”(在普遍存在的“反模式”之后)。
Anti-Type A:獨(dú)立谷倉(cāng)/Dev 和 Ops 分離
這是一種傳統(tǒng)的分裂了 Dev 和 Ops 的“拋過(guò)墻法”。這意味著 story point(需求點(diǎn))可以被提前估算(“DONE”意味著功能完整,但是不意味著可以在生產(chǎn)中使用),同時(shí)軟件的可運(yùn)維性受損,因?yàn)?Devs (開發(fā)人員)沒有足夠的上下文環(huán)境去了解功能操作,Ops (運(yùn)維人員)也沒有時(shí)間或傾向參與到 Devs 中去共同解決軟件上線前的問(wèn)題。
我們可能都知道這種類型很糟糕,但我認(rèn)為很多的團(tuán)隊(duì)結(jié)構(gòu)實(shí)際上更糟糕;至少到目前為止,我們已經(jīng)意識(shí)到這個(gè)反類型 A 的問(wèn)題所在了。
Anti-Type B:獨(dú)立的 DevOps 谷倉(cāng)
這種獨(dú)立的 DevOps 團(tuán)隊(duì)通常情況下來(lái)自經(jīng)理或執(zhí)行官,他們“需要一點(diǎn) DevOps 的事情”,然后就啟動(dòng)了一個(gè)“DevOps 團(tuán)隊(duì)”(也有可能有一個(gè)人的名字叫做 “DevOp”)。這個(gè) DevOps 的成員會(huì)迅速形成另一個(gè)團(tuán)體,讓 Dev 和 Ops 分得更開,因?yàn)樗麄円獜摹盁o(wú)知的 Devs”和“恐龍一樣的 Ops”手里保衛(wèi)自己的角色、技能和工具集。
唯一一個(gè)讓這種模式可以被理解的情況就是當(dāng)團(tuán)隊(duì)組織為臨時(shí)的、時(shí)間短于十二或十八個(gè)月的時(shí)候。其目的是讓開發(fā)人員和運(yùn)營(yíng)人員更緊密地聯(lián)系在一起,并明確授權(quán)在這段時(shí)間之后,這個(gè)團(tuán)隊(duì)將變得多余。
Anti-Type C:“我們(開發(fā))不需要 Ops(運(yùn)維)”
這種團(tuán)隊(duì)結(jié)構(gòu)是由開發(fā)人員和開發(fā)經(jīng)理的幼稚自大結(jié)合而來(lái)的,特別是當(dāng)一些新項(xiàng)目啟動(dòng)的時(shí)候。假設(shè) Ops 現(xiàn)在已經(jīng)成為了過(guò)去式 (“我們現(xiàn)在有云了,對(duì)吧?),開發(fā)人員嚴(yán)重低估運(yùn)維技能和活動(dòng)的復(fù)雜性及重要性,認(rèn)為沒有這些技能和活動(dòng)他們?nèi)钥梢宰龅剑蛘咧灰ㄙM(fèi)一些空余時(shí)間就可以。
當(dāng)他們的軟件變得更復(fù)雜,更多的運(yùn)維活動(dòng)開始淹沒“開發(fā)”(即編程)的時(shí)候,這種 Anti-Type C 的類型可能終會(huì)需要 Type 3(IaaS)或者 Type 4 DevOps topology(DevOps-as-a-Service)。
只要這樣的團(tuán)隊(duì)能認(rèn)識(shí)到運(yùn)維作為一個(gè)規(guī)則的重要性和軟件開發(fā)一樣重要和有價(jià)值時(shí),他們將能夠避免許多痛苦和不必要的(以及非?;镜模╁e(cuò)誤。