灰度黑洞:零風(fēng)險(xiǎn)的混沌工程實(shí)驗(yàn) | IDCF

來源:混沌工程實(shí)踐 作者:碼六賈
Netflix使用了灰度部署進(jìn)行混沌實(shí)驗(yàn),但仍會(huì)有小部分用戶可能會(huì)受到影響。灰度黑洞,為混沌工程測(cè)試的安全性提供了理想的環(huán)境,對(duì)用戶的影響則完全為零。
一、又快又穩(wěn)的新挑戰(zhàn)
人總有完美主義傾向,而現(xiàn)實(shí)是:寫的代碼不會(huì)沒有Bug,所有的測(cè)試不可能完備,生產(chǎn)的構(gòu)建部署不會(huì)沒有缺陷,用戶永遠(yuǎn)都會(huì)遇到問題。不過,我們革新和改變的動(dòng)力,往往來自慘痛的生產(chǎn)事件:
2019年7月CloudFlare的大宕機(jī),是由錯(cuò)誤配置的Web應(yīng)用防火墻造成的。 Facebook的反垃圾郵件系統(tǒng),意外地折疊了指向合法來源的鏈接。 由于臨床記錄管理系統(tǒng)的軟件更新,錯(cuò)誤地為超過10,000名的患者開了藥。

采用DevOps實(shí)踐已經(jīng)成為共識(shí),發(fā)布周期的縮短,新功能推向生產(chǎn)的速度比以往更快。同時(shí),微服務(wù)和云原生架構(gòu)正在增加應(yīng)用的復(fù)雜性。當(dāng)速度和復(fù)雜性增加時(shí),軟件缺陷進(jìn)入生產(chǎn)的機(jī)會(huì)也在增加。

二、生產(chǎn)中測(cè)試的迫切性

三、生產(chǎn)中測(cè)試的風(fēng)險(xiǎn)
影響性能或穩(wěn)定性,損害用戶體驗(yàn); 產(chǎn)生用戶數(shù)據(jù)泄漏、修改或丟失; 影響營(yíng)銷分析和運(yùn)營(yíng)指標(biāo),例如用戶流量或錯(cuò)誤率; 引起違反法規(guī)或標(biāo)準(zhǔn)的事件(遵循GDPR、PCI、HIPAA等標(biāo)準(zhǔn)的個(gè)人身份信息 PII的使用)。
四、生產(chǎn)中安全的部署策略
測(cè)試在生產(chǎn)的基礎(chǔ)設(shè)施上上運(yùn)行; 將風(fēng)險(xiǎn)控制在相對(duì)較少的用戶中; 在重大缺陷或故障的情況下回滾。

在實(shí)際的生產(chǎn)系統(tǒng)上運(yùn)行; 面向少量用戶,減少缺陷帶來的潛在影響; 便捷地向所有用戶推出經(jīng)灰度驗(yàn)證的新版本。



灰度黑洞,為混沌工程測(cè)試的可靠性提供了理想的環(huán)境。Netflix使用了灰度部署進(jìn)行混沌實(shí)驗(yàn),但仍然會(huì)有小部分用戶可能會(huì)受到影響。如果是灰度黑洞的方法,我們可以在與生產(chǎn)相同規(guī)模上運(yùn)行這些實(shí)驗(yàn),而對(duì)用戶的影響則完全為零。
五、結(jié)論


評(píng)論
圖片
表情

