還記得上周的DevOps Master培訓(xùn)么,小伙伴已經(jīng)覺得看到價(jià)格很震驚吧,不過對(duì)于收獲來說是巨大的,覺得不值的應(yīng)該是你學(xué)了沒辦法變現(xiàn)而已! 從我聽說敏捷到現(xiàn)在可能也有快10年了,在我看來敏捷很好但是非常不適合國情,主要原因無非是我們自己能力的問題,做不到敏捷所要達(dá)到的精干團(tuán)隊(duì),從一開始的基本TDD、PP、CI等都很難做到,哪怕到了現(xiàn)在各種開發(fā)模式下來,我能看到開發(fā)解耦做好的還是很少很少。而最近幾年熱門的DevOps也包括我在做的DevOps產(chǎn)品線支持,都是圍繞著“后敏捷”,對(duì)大家來說看到的都是CI&CD以及DevOps流水線下的工具鏈,到底什么是DevOps我自己也存在的一些模糊的地方的,而這次培訓(xùn)讓我想清楚了很多事情。 首先提出DevOps不是一個(gè)工具問題解決的問題,大多數(shù)公司在落地敏捷的時(shí)候往往是開發(fā)按照自己的理解為了快速發(fā)版做了一套流程,然后把部署文件丟給運(yùn)維(測(cè)試),然后就和自己無關(guān)了。而部署上線出問題后,運(yùn)維百思不得其解只能再去問開發(fā),結(jié)果往往是部署問題(大多數(shù)情況是部署流程依賴于人)或者是Bug(開發(fā)會(huì)推脫為測(cè)試的責(zé)任或者快速發(fā)布的時(shí)間問題),而解決的過程就是運(yùn)維懟開發(fā),開發(fā)懟運(yùn)維。如果這個(gè)公司大一點(diǎn),那么會(huì)有個(gè)測(cè)試部門在中間做一個(gè)緩沖,就會(huì)成為測(cè)試懟開發(fā),開發(fā)懟運(yùn)維,運(yùn)維懟測(cè)試的循環(huán)。 上面一張圖結(jié)合所謂的Facebook沒有測(cè)試,就可以看到在開發(fā)的看法中,自己測(cè)了就行了,所以原本的三件馬車(Dev、Test、Ops)就只剩下的DevOps了。 那么DevOps究竟是啥呢?引用一下官方文檔 DevOps不能簡(jiǎn)單認(rèn)為是一種工具、方法、技能或組織結(jié)構(gòu),DevOps的框架是結(jié)合所有這些元素來建立一個(gè)流水線的過程,使業(yè)務(wù)更快地運(yùn)營,并能更快地應(yīng)對(duì)變化。DevOps還可以通過戴明博士的計(jì)劃(戴明環(huán))來提升其成熟度。企業(yè)級(jí)的DevOps不僅僅是增強(qiáng)的敏捷開發(fā)和持續(xù)交付,同時(shí)也通過IT服務(wù)管理和應(yīng)用程序管理來實(shí)現(xiàn)和促進(jìn)業(yè)務(wù)增長(zhǎng)并保障業(yè)務(wù)連續(xù)性。 在這里首先要澄清,DevOps基于敏捷和持續(xù)交付,但是并不僅僅局限于此!在我看來DevOps更是以O(shè)ne-piece-flow單件流模式追求Ji-Kotei-Kanketsu (JKK)質(zhì)量的一種最佳實(shí)踐模式。 DevOps依賴于3大支柱(敏捷、持續(xù)交付、IT服務(wù)管理)和1個(gè)基礎(chǔ)(TPS理念為基礎(chǔ)),這里對(duì)這個(gè)基礎(chǔ)做點(diǎn)擴(kuò)展。TPS(Toyota Production System)包含了JIT(Just In Time)和自動(dòng)化,希望通過建立一個(gè)流水線式的單件流模式來進(jìn)行生產(chǎn),而出現(xiàn)問題時(shí)能夠隨時(shí)停止。這一段可能會(huì)很難理解,簡(jiǎn)單來說就是要讓軟件工程中的每一個(gè)人成為流水線上的一個(gè)小員工,每一個(gè)UserStory好比是流水線上的一個(gè)最終產(chǎn)品,能夠串行的(非并行)拼裝,如果中間任何一個(gè)環(huán)節(jié)出現(xiàn)問題都能暫停排查,將影響控制到最小。這個(gè)思路和傳統(tǒng)流水生產(chǎn)線的思路是幾乎相同的,極大的降低了錯(cuò)誤修復(fù)的成本并更快的交付用戶最終產(chǎn)物,配合了工業(yè)4.0的定制化需求。 那么DevOps工具鏈也就是這條自動(dòng)化生產(chǎn)線,但并不是裝一條生產(chǎn)線就能夠有效的解決問題;而在整個(gè)軟件周期以及DevOps中,最關(guān)鍵的人物反而不是開發(fā),更多的時(shí)候瓶頸在于測(cè)試!開發(fā)在10年前已經(jīng)開始做敏捷轉(zhuǎn)型了(互聯(lián)網(wǎng)快速發(fā)布下的推動(dòng),讓開發(fā)必須走敏捷),運(yùn)維在5年前已經(jīng)開始做云以及智能運(yùn)維了(從100臺(tái)到10000臺(tái)服務(wù)器的維護(hù),讓運(yùn)維人員必須走智能運(yùn)維,開發(fā)運(yùn)維),而測(cè)試只有在最近2年開始有開發(fā)測(cè)試的概念,而且僅僅局限在簡(jiǎn)單的自動(dòng)化上,試想開發(fā)和運(yùn)維已經(jīng)將自己的處理能力提升了100倍了,而測(cè)試似乎并沒有什么進(jìn)展,這也是為什么在整個(gè)DevOps流水線上瓶頸會(huì)體現(xiàn)在測(cè)試上的原因,簡(jiǎn)直就是4個(gè)王者帶一個(gè)會(huì)點(diǎn)自動(dòng)化自我感覺良好的鉑金(可能還是只會(huì)點(diǎn)的青銅)節(jié)奏。(關(guān)于生產(chǎn)線的問題以及測(cè)試瓶頸的問題在后續(xù)沙盤項(xiàng)目中進(jìn)行介紹) 測(cè)試欠的技術(shù)債還很多,當(dāng)開發(fā)、運(yùn)維沖在一線在努力的解決問題的時(shí)候,大多數(shù)測(cè)試還在心安理得的做著后勤的工作,現(xiàn)在當(dāng)測(cè)試面臨著跟不上就淘汰的局面,未來是光明還是黑暗? 我很看好,而你呢? (未完待續(xù)) 關(guān)于TestOps更多優(yōu)秀文章: TestOps|測(cè)試運(yùn)維 全生命周期推動(dòng)質(zhì)量 |
|