偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

如何讓混沌工程實(shí)驗(yàn)降本增效

原創(chuàng) 精選
開發(fā)
“混沌工程實(shí)驗(yàn),類似于探索性測試。實(shí)驗(yàn)本身沒有明確的輸入和預(yù)期的結(jié)果,而是通過對系統(tǒng)和服務(wù)的干預(yù),來觀察系統(tǒng)的反應(yīng)。”測試人員在測試總結(jié)中這樣寫道。

“混沌工程實(shí)驗(yàn)性價(jià)比太低了。測試、研發(fā)和運(yùn)維三個(gè)部門都投入了大量人力物力,在準(zhǔn)生產(chǎn)環(huán)境做了不少故障注入實(shí)驗(yàn)。但發(fā)現(xiàn)的問題還是比較少?!痹谝淮位煦绻こ虒?shí)踐回顧會(huì)上,一位測試人員如是說。

近十幾年來,隨著企業(yè)業(yè)務(wù)不斷微服務(wù)化,并遷移到復(fù)雜分布式的云生產(chǎn)環(huán)境,云上各個(gè)微服務(wù)業(yè)務(wù)系統(tǒng)之間相互訪問的穩(wěn)定性,以及與所依賴的第三方系統(tǒng)之間相互訪問的穩(wěn)定性,都會(huì)受到錯(cuò)綜復(fù)雜的云生產(chǎn)環(huán)境的未知暗債(“暗債”是 IT 系統(tǒng)中具有以下特點(diǎn)的漏洞——在引發(fā)故障之前,這些漏洞不為人知或不可見。"暗債“源自物理學(xué)術(shù)語“暗物質(zhì)”,兩者都能影響世界,但人們卻無法直接檢測或看到它們。)的影響,而損害業(yè)務(wù)連續(xù)性?;煦绻こ叹褪菢I(yè)界在應(yīng)對上述問題的過程中孕育而生的良好實(shí)踐。

通過在測試環(huán)境和生產(chǎn)環(huán)境上,注入經(jīng)過精心設(shè)計(jì)并控制好爆炸半徑的故障,進(jìn)行故障注入實(shí)驗(yàn),就可以觀察和學(xué)習(xí)復(fù)雜分布式系統(tǒng)的運(yùn)行模式和失效模式,從而提升團(tuán)隊(duì)的系統(tǒng)穩(wěn)定性設(shè)計(jì),讓團(tuán)隊(duì)能夠快速應(yīng)對業(yè)務(wù)系統(tǒng)在云環(huán)境上的未知故障。

我們知道,要想保持業(yè)務(wù)系統(tǒng)在云環(huán)境上運(yùn)行的穩(wěn)定性,離不開包括業(yè)務(wù)、研發(fā)、測試和運(yùn)維部門的密切協(xié)作。這家企業(yè)的這4個(gè)部門的協(xié)作情況是怎樣的呢?

最先響應(yīng)運(yùn)維部門實(shí)踐混沌工程召喚的,是測試部門。測試部門認(rèn)為混沌工程的故障注入實(shí)驗(yàn),能豐富他們的壓力測試和探索性測試的場景,從而發(fā)現(xiàn)更多軟件缺陷。

然而相比之下,研發(fā)和業(yè)務(wù)部門的一線人員對此的參與度卻不夠高。他們認(rèn)為,混沌工程的故障注入實(shí)驗(yàn),其實(shí)就是另一種測試而已。

確實(shí),測試部門就是把混沌工程故障注入實(shí)驗(yàn),當(dāng)作探索性測試來做的?!盎煦绻こ虒?shí)驗(yàn),類似于探索性測試。實(shí)驗(yàn)本身沒有明確的輸入和預(yù)期的結(jié)果,而是通過對系統(tǒng)和服務(wù)的干預(yù),來觀察系統(tǒng)的反應(yīng)?!睖y試人員在測試總結(jié)中這樣寫道。

缺乏明確的穩(wěn)態(tài)行為假說

由于測試人員使用探索性測試的方法,來實(shí)踐混沌工程故障注入實(shí)驗(yàn),所以在實(shí)驗(yàn)結(jié)果報(bào)告中,找不到“系統(tǒng)穩(wěn)態(tài)行為假說”的字眼。只是在“風(fēng)險(xiǎn)問題”的以下描述中,隱約看到穩(wěn)態(tài)行為假說的影子:“預(yù)期主節(jié)點(diǎn)的docker服務(wù)關(guān)閉后,kubelet/api/etcd/controllers等pod會(huì)失效,之后這些核心服務(wù)的進(jìn)程會(huì)重啟,能繼續(xù)提供服務(wù)”。

隱含的穩(wěn)態(tài)行為假說沒有反映用戶價(jià)值

從上面的描述能看出,這個(gè)混沌工程實(shí)驗(yàn)的穩(wěn)態(tài)行為假說,并不是沒有,而是隱含存在的,即“能繼續(xù)提供服務(wù)”。那如何才算“能繼續(xù)提供服務(wù)”呢?這一點(diǎn)可以從測試方案的監(jiān)控方式中,看出一點(diǎn)線索。即對于所有實(shí)驗(yàn),無論注入的故障是什么,測試人員只關(guān)注3類指標(biāo):

  • 系統(tǒng)業(yè)務(wù)指標(biāo):如系統(tǒng)業(yè)務(wù)交易的錯(cuò)誤率
  • 系統(tǒng)性能指標(biāo):如系統(tǒng)業(yè)務(wù)交易的TPS(每秒事務(wù)處理量)和響應(yīng)時(shí)長的變化趨勢
  • 系統(tǒng)資源指標(biāo):如系統(tǒng)的CPU、內(nèi)存、磁盤IO和網(wǎng)絡(luò)資源指標(biāo)的變化趨勢

看到這3類指標(biāo),我產(chǎn)生了一個(gè)疑問:“用戶真的在乎業(yè)務(wù)交易錯(cuò)誤率和TPS變化趨勢嗎?”我相信,用戶會(huì)更在乎自己下的訂單,是否能在3秒內(nèi)成功處理。這一點(diǎn)所有人都能很好理解。那未能反映用戶價(jià)值的穩(wěn)態(tài)行為假說,會(huì)導(dǎo)致什么后果呢?或許這種充滿技術(shù)細(xì)節(jié)的穩(wěn)態(tài)行為假說,不便于業(yè)務(wù)人員和領(lǐng)導(dǎo)直觀感知其業(yè)務(wù)影響,吸引不了他們的注意,從而喪失了獲得他們支持的機(jī)會(huì),并弱化了實(shí)驗(yàn)的價(jià)值。

隱含的穩(wěn)態(tài)行為假說不夠量化

再看上面這個(gè)通過觀察TPS變化趨勢來判斷是否“能繼續(xù)提供服務(wù)”的例子。如果這個(gè)實(shí)驗(yàn)是由測試人員手工執(zhí)行的,憑借豐富的經(jīng)驗(yàn),測試人員是能判斷系統(tǒng)是否“能繼續(xù)提供服務(wù)”的。但如果將這個(gè)實(shí)驗(yàn)自動(dòng)化,用工具在晚上自動(dòng)執(zhí)行實(shí)驗(yàn),那么工具該如何界定系統(tǒng)是否“能繼續(xù)提供服務(wù)”呢?所以要想實(shí)現(xiàn)自動(dòng)化,必須要把穩(wěn)態(tài)行為的假說進(jìn)行量化,以便工具自動(dòng)執(zhí)行實(shí)驗(yàn)。

良好穩(wěn)態(tài)行為假說示例

這里試著給出一個(gè)能反映用戶價(jià)值,且有量化指標(biāo)的穩(wěn)態(tài)行為假說的示例:

即使在實(shí)例失效的條件下,系統(tǒng)仍然能在3秒之內(nèi),完成已受理的用戶的交易,否則也能在5秒之內(nèi)提示用戶業(yè)務(wù)暫時(shí)不可用。

這個(gè)穩(wěn)態(tài)行為假說,不僅體現(xiàn)了成功場景,也體現(xiàn)了失敗場景。

良好穩(wěn)態(tài)行為假說能節(jié)省實(shí)驗(yàn)成本

如何設(shè)計(jì)一個(gè)能節(jié)省實(shí)驗(yàn)成本的穩(wěn)態(tài)行為假說呢?讓我們看看發(fā)生在這家企業(yè)測試人員身上的故事。

這些測試人員正在使用一款開源工具,來進(jìn)行混沌工程故障注入實(shí)驗(yàn)。由于這款工具,提供了5種可供注入的原子故障,于是測試人員也就設(shè)計(jì)了5個(gè)實(shí)驗(yàn)。如果用上述示例的寫法,來編寫穩(wěn)態(tài)行為假說的話,會(huì)是這個(gè)樣子:

  • 實(shí)驗(yàn)1的穩(wěn)態(tài)行為假說:即使在實(shí)例中止的條件下,系統(tǒng)仍然能在3秒之內(nèi),完成已受理的用戶的交易,否則也能在5秒之內(nèi)提示用戶業(yè)務(wù)暫時(shí)不可用。
  • 實(shí)驗(yàn)2的穩(wěn)態(tài)行為假說:即使在實(shí)例CPU爆滿的條件下,系統(tǒng)仍然能在3秒之內(nèi),完成已受理的用戶的交易,否則也能在5秒之內(nèi)提示用戶業(yè)務(wù)暫時(shí)不可用。
  • 實(shí)驗(yàn)3的穩(wěn)態(tài)行為假說:即使在實(shí)例內(nèi)存爆滿的條件下,系統(tǒng)仍然能在3秒之內(nèi),完成已受理的用戶的交易,否則也能在5秒之內(nèi)提示用戶業(yè)務(wù)暫時(shí)不可用。
  • 實(shí)驗(yàn)4的穩(wěn)態(tài)行為假說:即使在實(shí)例磁盤爆滿的條件下,系統(tǒng)仍然能在3秒之內(nèi),完成已受理的用戶的交易,否則也能在5秒之內(nèi)提示用戶業(yè)務(wù)暫時(shí)不可用。
  • 實(shí)驗(yàn)4的穩(wěn)態(tài)行為假說:即使在關(guān)閉實(shí)例網(wǎng)絡(luò)的條件下,系統(tǒng)仍然能在3秒之內(nèi),完成已受理的用戶的交易,否則也能在5秒之內(nèi)提示用戶業(yè)務(wù)暫時(shí)不可用。

如果手工執(zhí)行每個(gè)實(shí)驗(yàn)平均花30分鐘,那么執(zhí)行這5個(gè)實(shí)驗(yàn),要花150分鐘。

等一下!我們是企業(yè)的測試人員,不是開源混沌工程工具的測試人員!這5個(gè)原子故障好比病毒,它們所導(dǎo)致的癥狀都是同一個(gè)——實(shí)例失效。而對于企業(yè)的測試人員,只要從上述5個(gè)故障中任選一個(gè)注入,就能達(dá)成讓實(shí)例失效的目的。畢竟測試人員只須關(guān)注業(yè)務(wù)系統(tǒng)在實(shí)例失效后,是否能繼續(xù)提供服務(wù)。換句話說,這5個(gè)原子故障,同屬一個(gè)等價(jià)類。對于等價(jià)類,我們只要注入一個(gè)原子故障就夠了。如果一定要全面注入這5個(gè)原子故障,那么可以在以后的各輪回歸實(shí)驗(yàn)中,每輪實(shí)驗(yàn)依次輪流選擇一種不同的原子故障注入即可。這樣對于“實(shí)例失效”的實(shí)驗(yàn),我們就能節(jié)省80%的實(shí)驗(yàn)成本。這下你就知道上面的良好穩(wěn)態(tài)行為假說示例,為何要寫“癥狀”了——“即使在實(shí)例失效的條件下”。這也在某種程度上,揭示了文章一開頭測試人員所抱怨的混沌工程實(shí)驗(yàn)“性價(jià)比太低”的原因。

這個(gè)故事給我們的啟發(fā)是,如果針對“癥狀”而不是“病毒”來設(shè)計(jì)系統(tǒng)穩(wěn)態(tài)行為假說,就能幫助我們識別等價(jià)類,從而只選擇少量的“病毒”注入,達(dá)成同樣“癥狀”的效果,進(jìn)而降低實(shí)驗(yàn)成本。

總結(jié)

編寫反映用戶價(jià)值、便于量化且針對“癥狀”的系統(tǒng)穩(wěn)態(tài)行為假說,能讓混沌工程實(shí)驗(yàn)的價(jià)值更容易讓業(yè)務(wù)人員和領(lǐng)導(dǎo)理解,從而獲得他們的支持,也能更有利于自動(dòng)化,并能通過等價(jià)類劃分,來降低實(shí)驗(yàn)成本,進(jìn)而達(dá)成降本增效的目的。

責(zé)任編輯:趙寧寧 來源: Thoughtworks洞見
相關(guān)推薦

2024-09-30 08:47:07

數(shù)據(jù)分析降本增效覆蓋用戶

2024-08-07 11:06:49

2024-03-27 12:31:54

數(shù)據(jù)分析降本增效促銷活動(dòng)

2024-09-20 08:20:20

2022-07-13 14:54:52

邊緣計(jì)算人工智能機(jī)器學(xué)習(xí)

2024-02-20 13:29:04

網(wǎng)絡(luò)安全研發(fā)

2023-07-28 09:48:37

2025-02-18 07:00:00

AICIO采購

2018-04-25 19:58:00

華為

2023-12-25 15:38:55

2016-08-10 21:22:34

大數(shù)據(jù)運(yùn)營商

2024-02-19 14:14:02

云計(jì)算人工智能大語言模型

2022-12-07 13:58:56

Cloudera

2023-10-12 19:05:13

研發(fā)管理降本增效AI

2023-05-05 07:05:22

DPD路由器芯片

2022-11-29 15:11:54

騰訊云開源FinOps

2022-03-25 13:46:25

SD-WAN網(wǎng)絡(luò)安全

2022-03-28 14:31:01

Python編程語言工具包
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號