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