我們一起聊聊克服 DevOps 瓶頸的四個(gè)步驟
在具有挑戰(zhàn)性的視頻游戲中升級(jí)所需的步驟與提升 DevOps 之旅所需的步驟非常相似。
譯自4 Steps for Getting Over a DevOps Plateau,作者 Andy Corrigan。
在貴組織的DevOps 采用歷程中,您會(huì)覺得已經(jīng)發(fā)揮了真正的潛力。然而,您可能會(huì)關(guān)注類似的組織,看到他們的表現(xiàn)更好,并想知道他們是如何做到的。您可能一時(shí)想不到下一步該怎么做。
請(qǐng)放心,這不是您的巔峰。這是一個(gè)瓶頸。
瓶頸很有趣:它們既令人欣慰,又令人沮喪。您并沒有落后,但停滯不前會(huì)成為一個(gè)真正的問題,因?yàn)樗馕吨矝]有前進(jìn)。
那么,您如何克服瓶頸呢?
好消息是,這可能比您想象的要容易,而且您可能已經(jīng)具備儲(chǔ)物柜中所需的技能。
您是否曾經(jīng)享受過基于技能的愛好,例如藝術(shù)、音樂或?qū)W習(xí)一門新語言?如果是這樣,您可能在學(xué)習(xí)過程中克服了許多瓶頸,有時(shí)甚至沒有意識(shí)到。
組織可以應(yīng)用相同的基本概念來克服 DevOps 瓶頸。
需要說服嗎?我將通過將此場景與我在愛好之一中遇到的挑戰(zhàn)進(jìn)行比較來說明:格斗游戲。
對(duì)初學(xué)者進(jìn)行快速解釋:格斗游戲是一種競爭性的 1 對(duì) 1 視頻游戲類型,其中兩位玩家分別控制一個(gè)色彩繽紛的角色,并在三輪比賽中決一勝負(fù)。
作為一個(gè)類型,高水平的比賽通常要求極高,因?yàn)樾枰獎(jiǎng)幼鬏斎?、特殊?dòng)作和復(fù)雜的連擊。成功的玩家需要快速的思考、更快的反應(yīng)和實(shí)時(shí)策略。
該類型中最廣為人知的特許經(jīng)營權(quán)是街頭霸王系列。如果您對(duì)它有所了解,您應(yīng)該明白本文的其余部分。
以下是您需要采取的步驟來克服瓶頸,無論是在格斗游戲中還是在持續(xù)交付領(lǐng)域:
1. 找到更有效地做事的方法
除非您知道存在問題,否則您無法解決問題。要了解您的表現(xiàn)為何停滯不前,您需要進(jìn)行一些自我反省。
對(duì)我來說,“街頭霸王 6”(我目前玩得最多的格斗游戲)意味著意識(shí)到我的錯(cuò)誤。我觀看比賽的重播,記下讓我措手不及或需要做得更好的事情。
當(dāng)我發(fā)現(xiàn)游戲中的弱點(diǎn)時(shí),我會(huì)努力解決它們。如果我不斷對(duì)抗特定的攻擊模式,我會(huì)嘗試在訓(xùn)練模式中找到解決方案。這些解決方案通常會(huì)給我其他改進(jìn)的想法。
對(duì)于 DevOps,您可能沒有重播和訓(xùn)練模式,但您確實(shí)有工具,它們可以為您提供類似的反饋。
您從每個(gè)部署周期中獲得的信息應(yīng)該是您發(fā)現(xiàn)自己做得好的事情和可以做得更好的事情的第一步。而持續(xù)交付 (CD)是什么,如果不是解決錯(cuò)誤的過程?您部署更改,結(jié)果塑造下一個(gè)變更。
例如,查看您的管道部署后可能會(huì)發(fā)現(xiàn)一個(gè)測試花費(fèi)的時(shí)間比預(yù)期長或失敗的次數(shù)比您意識(shí)到的多??赡苡幸粋€(gè)手動(dòng)審批步驟阻礙了您,您可以更好地管理或刪除它。也許您的軟件規(guī)模已經(jīng)超出了您的部署能力,您需要考慮使用新工具來幫助簡化擴(kuò)展。
切勿假設(shè)您的管道盡可能高效。總有更多的效率可以從某個(gè)地方榨取出來,找到它也可能帶來更多改進(jìn)的領(lǐng)域。
如果您一開始沒有得到反饋,那么這是您需要解決的第一個(gè)問題。確保您的管道為您提供有用的信息,幫助您做出有意義的決策。它將幫助您更快地識(shí)別這些弱點(diǎn)。
2. 勇敢地放棄成功的技術(shù)
有時(shí),讓您走到現(xiàn)在的工具和技術(shù)不再足以完成工作,您需要走出安全、熟悉的流程,嘗試一些新東西。
我一直在嘗試在“街頭霸王 6”中克服瓶頸。我在游戲的在線白金段位中停留了兩個(gè)月,一直無法晉升到鉆石段位(盡管我?guī)状味剂钊司趩实亟咏耍?/p>
原因是什么?我無法像他們懲罰我的錯(cuò)誤那樣懲罰對(duì)手的錯(cuò)誤。盡管承認(rèn)這一點(diǎn)很痛苦,但幫助我輕松通過黃金段位的中間技術(shù)只能讓我在白金段位中走這么遠(yuǎn)。
提高我的表現(xiàn)的唯一方法是放棄回報(bào)較低的技術(shù)并學(xué)習(xí)更好的技術(shù),這樣我才能在關(guān)鍵情況下兌現(xiàn)更多(這是一個(gè)正在進(jìn)行的工作)。
同樣,當(dāng)流水線中的技術(shù)或工具已發(fā)揮到極致時(shí),您應(yīng)該用能獲得更好結(jié)果的東西來替換它。
我理解做出這些決定時(shí)的猶豫。畢竟,您可能對(duì)幫助您大幅提升的工具情有獨(dú)鐘。您可能自然而然地傾向于遵循“如果它沒壞,就不要修理它”的古老諺語。
但有時(shí)選擇不改變只會(huì)強(qiáng)化現(xiàn)狀,并阻止您進(jìn)步。熱愛幫助您走到現(xiàn)在的工具和策略,但當(dāng)它們阻礙您時(shí),要勇敢地放棄它們。
3. 接受改變需要時(shí)間來適應(yīng)
無論我在格斗游戲的訓(xùn)練模式中練習(xí)多少新技術(shù)或連招,我都需要一段時(shí)間才能在比賽中有效地使用它們。
我需要讓新技巧成為肌肉記憶,以便在不假思索的情況下釋放它們。了解和執(zhí)行技術(shù)還不夠——我還需要了解使用該技術(shù)的正確情況。
學(xué)習(xí)這些東西只能在實(shí)戰(zhàn)中進(jìn)行,這意味著我的表現(xiàn)可能會(huì)因此受到影響。我的排名可能會(huì)暫時(shí)下降,或者在我弄清楚事情時(shí)可能會(huì)輸?shù)粢恍┍荣?,但這沒關(guān)系!如果它能帶來長期更大的收益,那么短期內(nèi)的痛苦是值得的。
實(shí)施新流程、更換工具或提升團(tuán)隊(duì)技能等增值活動(dòng)可能會(huì)產(chǎn)生同樣的效果。
例如,學(xué)習(xí)新工具的細(xì)微差別需要時(shí)間。引入它可能會(huì)以您未曾考慮過的方式擾亂管道的一部分。如果您幸運(yùn)的話,您可能會(huì)讓新工具直接投入使用。但您可能無法像花更多時(shí)間、耐心和經(jīng)驗(yàn)?zāi)菢佑行У厥褂盟?/p>
在做出重大改變后,可能需要一點(diǎn)時(shí)間和試驗(yàn)才能看到結(jié)果。但要抵制退回到安全地帶的沖動(dòng)。畢竟,擁抱 DevOps 意味著使用可靠的證據(jù)和既定的研究來幫助制定決策。
只要您的整體表現(xiàn)呈上升趨勢,出現(xiàn)一點(diǎn)小問題是可以接受的。不要擔(dān)心波動(dòng)。
4. 向他人尋求靈感
當(dāng)我在游戲中遇到困難時(shí),圍繞格斗游戲建立的社區(qū)是一個(gè)極好的資源。社區(qū)中的人們了解該類型游戲的難度,并希望其他人也能享受他們所享受的東西,因此他們創(chuàng)建了資源來幫助學(xué)習(xí)之旅。那些親自見面玩游戲的人很樂意解釋如何克服困難的角色問題,或幫助您解決遇到的問題(當(dāng)然,前提是你們不在同一場比賽中競爭)。
同樣,DevOps 已發(fā)展成為不僅僅是一套最佳實(shí)踐。它也是一個(gè)不斷壯大、充滿熱情且歡迎新人的社區(qū),里面充滿了人們想要分享的經(jīng)驗(yàn)和專業(yè)知識(shí)。
有很多機(jī)會(huì)與其他組織的同行聊天或聽取他們的意見。參加專門活動(dòng)意味著您可以從行業(yè)專家那里獲得想法。網(wǎng)上有無數(shù)網(wǎng)絡(luò)研討會(huì)和指南可以激發(fā)您的靈感。
DevOps 還得到了諸如DORA 的 DevOps 狀態(tài)報(bào)告等易于獲取的研究的支持。這項(xiàng)研究可以幫助您了解在類似情況下對(duì)其他人有效的方法,并可以向您保證您走在了正確的道路上。
教訓(xùn)?始終為迎接下一個(gè)挑戰(zhàn)做好準(zhǔn)備
DevOps 中的性能停滯令人沮喪,但與其他情況(例如格斗游戲)不同,您擁有時(shí)間、經(jīng)過充分研究的理論和經(jīng)過驗(yàn)證的實(shí)踐作為指導(dǎo)燈的奢侈,不受您的思維速度或反應(yīng)時(shí)間的阻礙。從這個(gè)意義上說,DevOps 是一條走得比較多的道路。
但是,當(dāng)您確實(shí)突破了瓶頸時(shí),如何才能減少未來再次遇到瓶頸的可能性?對(duì)于 DevOps 來說,它與其他任何事情都是一樣的:您永不放棄,并且永不停止嘗試改進(jìn)。



































