自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何讓混沌工程實驗降本增效

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

總結(jié)

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

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

2024-08-07 11:06:49

2024-09-30 08:47:07

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

2024-03-27 12:31:54

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

2024-09-20 08:20:20

2022-07-13 14:54:52

邊緣計算人工智能機器學(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采購

2023-10-12 19:05:13

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

2022-12-07 13:58:56

Cloudera

2023-12-25 15:38:55

2024-02-19 14:14:02

云計算人工智能大語言模型

2016-08-10 21:22:34

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

2018-04-25 19:58:00

華為

2023-05-05 07:05:22

DPD路由器芯片

2024-04-19 14:43:16

云計算分布式

2022-03-28 14:31:01

Python編程語言工具包

2023-09-25 15:13:57

數(shù)字化轉(zhuǎn)型
點贊
收藏

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