如何在不知道問題時(shí)解決或防止某些情況的發(fā)生? 這就是暗債問題 – 隱藏在穩(wěn)定的IT環(huán)境中最終造成嚴(yán)重破壞的漏洞执虹。
我們都聽到過技術(shù)債務(wù)廓啊,這是一種基本IT概念甸祭,但暗債看不見呢蔫。直到發(fā)現(xiàn)才知道問題恕曲。應(yīng)對這一挑戰(zhàn)的方式意義重大:忽略暗債會(huì)使系統(tǒng)故障變得更糟鹏氧, 但發(fā)現(xiàn)暗債,特別是主動(dòng)發(fā)現(xiàn)佩谣,有助于減少對IT環(huán)境的影響把还。
什么是暗債?
暗債由物理學(xué)名詞“暗物質(zhì)”派生而來,暗物質(zhì)影響宇宙茸俭,但其本身不能直接檢測或發(fā)現(xiàn)吊履,暗債是IT系統(tǒng)中的漏洞,導(dǎo)致系統(tǒng)出現(xiàn)問題之前是未知的或看不見的调鬓。
暗債指任何意外或無法防御的情況艇炎。但暗債一般不只是QC中未發(fā)現(xiàn)的小錯(cuò)誤。暗債通常是復(fù)雜的系統(tǒng)故障袖迎,復(fù)雜到設(shè)計(jì)邏輯確保系統(tǒng)中單獨(dú)的一個(gè)故障不可產(chǎn)生如此復(fù)雜的問題冕臭。
任何企業(yè)中,IT都可以處理依賴于其他應(yīng)用程序和系統(tǒng)的龐大且復(fù)雜的工作負(fù)載燕锥。重要的是辜贵,軟件系統(tǒng)并不只是基于代碼運(yùn)行。
任何系統(tǒng)最基礎(chǔ)層面归形,軟件與硬件托慨、另一完整系統(tǒng)、電子芯片和電氣設(shè)備相互作用暇榴。系統(tǒng)的這些部分緊密相連厚棵,往往不可能檢測或預(yù)測它們之間的微妙交互產(chǎn)生的影響。
隨著這些交互越來越復(fù)雜蔼紧,并在框架中廣泛蔓延婆硬,暗債也變得無處不在。
在軟件和硬件開發(fā)中奸例,我們開發(fā)功能彬犯,利用大量保障措施防止?jié)撛趩栴}的發(fā)生向楼,如故障切換、備份谐区、異常和異常處理等湖蜕。但暗債的隱蔽性很難預(yù)測這些問題如何或何時(shí)作怪。
暗債不是技術(shù)債務(wù)
技術(shù)債務(wù)是選擇編碼快捷方式的過程宋列,以加快交付成果的速度昭抒。技術(shù)債務(wù)是不可避免的代價(jià),但可以通過迅速抵償將其降到最低限度炼杖。技術(shù)債務(wù)通常有三個(gè)特點(diǎn):
· 有意或故意采用
· 在代碼中可見
· 可通過重構(gòu)來糾正 – 不改變代碼外部行為的情況下重組代碼內(nèi)部結(jié)構(gòu)的規(guī)范技巧
與技術(shù)債務(wù)不同灭返,暗債并不局限于編碼;它可以出現(xiàn)在任何地方嘹叫,并在任何復(fù)雜的系統(tǒng)中以變幻無窮的方式產(chǎn)生影響婆殿。重要的是诈乒,暗債別無選擇罩扇。
這是我們無法控制的,直到系統(tǒng)中出現(xiàn)一些反撑履ィ現(xiàn)象表明存在問題喂饥,往往表現(xiàn)為故障或意外結(jié)果。
如何確定故障根源
暗債存在并且是無形的肠鲫,我們?nèi)绾畏婪赌? 雖然不可能完全消除所有暗債员帮,但肯定可以將其降到最低限度。
有兩種方法可以檢測暗債:被動(dòng)處理导饲,一些故障或副作用可以表明暗債存在捞高,或者主動(dòng)處理,積極尋找暗債渣锦。
發(fā)生故障時(shí)硝岗,快速識(shí)別問題根源至關(guān)重要。第一反應(yīng)可能是一次檢查一個(gè)組件袋毙, 直到解決問題為止型檀,但這樣實(shí)際上浪費(fèi)更多時(shí)間。
相反听盖,應(yīng)該利用掌握的數(shù)據(jù)診斷問題胀溺。使用二進(jìn)制方法確定問題產(chǎn)生的兩個(gè)或更多可能的原因。查尋數(shù)據(jù)確認(rèn)或否定每種可能的原因皆看。不斷縮小范圍仓坞,直到找出解決故障的合理辦法。
當(dāng)然腰吟,積極查找暗債可以防止許多深夜系統(tǒng)故障无埃。通過測試系統(tǒng)故障承受能力,同時(shí)保持可接受的服務(wù)質(zhì)量,可以發(fā)現(xiàn)暗債录语。這種方法稱為混沌工程倍啥,其目的是建立系統(tǒng)抵御意外情況或事件的信心。
初級(jí)開發(fā)人員與資深開發(fā)人員 ("暗物質(zhì)開發(fā)人員") 相配合澎埠,選擇靈活的開源代碼和更智能的設(shè)計(jì)是發(fā)現(xiàn)暗債的另一種方法虽缕。
同時(shí),還要重新考慮假設(shè):我們每個(gè)人都有工具和系統(tǒng)交互的 “心像地圖”蒲稳,不管對錯(cuò)氮趋。我們不能保證這些都是正確的,除非無先入之見江耀,通過檢查日志和數(shù)據(jù)報(bào)告的準(zhǔn)確性來測試這些假設(shè)剩胁。
開放態(tài)度尤其重要,因?yàn)槲覀兊?“心像地圖”往往是靜態(tài)的祥国,而系統(tǒng)絕不是靜止的昵观。系統(tǒng)中的每一個(gè)變化都會(huì)重新定位暗債以及我們對系統(tǒng)運(yùn)行的理解。
一旦確定暗債并采取措施進(jìn)行補(bǔ)救之后舌稀,考慮寫一份簡明的事后分析報(bào)告啊犬。請記住,目的不是確定發(fā)生了什么問題 (您已經(jīng)確定了)壁查,而是指出漏洞的位置觉至。
有一件千萬不能做的事嗎? 解雇您認(rèn)為造成這種故障的人。這樣做恰恰消除了密切了解問題出在哪里的人睡腿。
文化暗債
暗債不一定隱藏在硬件和軟件中 – 它也會(huì)在企業(yè)文化中發(fā)酵语御。文化暗債可以包括對團(tuán)隊(duì)產(chǎn)生負(fù)面影響的任何取巧做法。
這種暗債以“軟技能”的方式產(chǎn)生有害作用:如果人們感覺不到自己會(huì)失敗席怪,他們就無法以有利于公司的方式學(xué)習(xí)或適應(yīng)应闯。
文化暗債的標(biāo)志是任何時(shí)候發(fā)生故障都要指責(zé)他人并尋找借口,突出表現(xiàn)為鼓勵(lì)不受歡迎的不良行為何恶、粗心大意以及工作無計(jì)劃孽锥、拖沓或質(zhì)量差。
與IT系統(tǒng)中的暗債一樣细层,確定問題的根源是十分重要的惜辑。員工凈推薦值 (NPS)調(diào)查可以跟蹤主管對負(fù)面消息是否持開放態(tài)度,以及團(tuán)隊(duì)如何工作疫赎、彼此信任及從失敗中學(xué)習(xí)盛撑。
鼓勵(lì)協(xié)作、辯論和討論 – 這是采納新思路并將其轉(zhuǎn)化為堅(jiān)定信念的最佳途徑捧搞。
在IT領(lǐng)域中抵卫,變革和失敗不可避免狮荔。處理 (或不處理) 都可能構(gòu)成暗債。