压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

混沌:軟件工程新趨勢(shì)?

找份工作,工作內(nèi)容就是不斷破壞東西,然后讓它們更好地運(yùn)轉(zhuǎn)?聽起來(lái)像是每個(gè)好奇心重的六歲小孩的夢(mèng)想,但又確實(shí)是 DevOps 向 DevSecOps 轉(zhuǎn)型過(guò)程中的一種新興軟件工程趨勢(shì)。其宗旨就是通過(guò)測(cè)試系統(tǒng)極限,來(lái)提升任何情況下的安全及性能。

這種趨勢(shì)就是混沌工程。其前提是,即使在一切正常的時(shí)候,現(xiàn)代分布式網(wǎng)絡(luò)的本質(zhì)仍舊意味著,系統(tǒng)中存在固有的混沌元素,可導(dǎo)致不可預(yù)知的結(jié)果。

混沌工程是主動(dòng)型漏洞管理的一種形式,在受控環(huán)境中測(cè)試網(wǎng)絡(luò)在最極端情況下的表現(xiàn)。其理論基礎(chǔ)是:當(dāng)你做好了應(yīng)對(duì)最壞情況的準(zhǔn)備,就能輕松應(yīng)付常規(guī)性能問題。

在受控環(huán)境中放任混沌肆虐,可使工程師運(yùn)用收集來(lái)的數(shù)據(jù)設(shè)計(jì)出更健壯、更富彈性的系統(tǒng)。而且,聽起來(lái)就很有趣。

Netflix 為什么選擇混沌

混沌工程這一概念成型于 2010 年,作為此前 Netflix 所遭嚴(yán)重宕機(jī)事件的應(yīng)對(duì)之策。Netflix 在宕機(jī)事件后即從單一供應(yīng)商內(nèi)部部署網(wǎng)絡(luò),轉(zhuǎn)型至基于云的全球分布模式。那次宕機(jī)事件源于該公司主數(shù)據(jù)庫(kù)之一崩潰,造成公司掉線三天,數(shù)百萬(wàn)客戶無(wú)服務(wù)可用。

在一小時(shí)宕機(jī)時(shí)間即可導(dǎo)致企業(yè)平均 10 萬(wàn)美元以上損失的時(shí)代,就算掉線五分鐘也是不可接受的。宕機(jī)不僅影響企業(yè)聲譽(yù)和收益,還會(huì)令企業(yè)網(wǎng)絡(luò)更易遭受攻擊和數(shù)據(jù)泄露。

為準(zhǔn)備轉(zhuǎn)向去中心化全球網(wǎng)絡(luò),Netflix 團(tuán)隊(duì)創(chuàng)建了 Chaos Monkey (混世猴子)工具。該工具用于在非預(yù)期時(shí)間和位置上制造隨機(jī)系統(tǒng)性故障,以確定系統(tǒng)能否抗住極端情況。其中邏輯在于,如果網(wǎng)絡(luò)連這種極端情況都能對(duì)付,那肯定就能處理不那么極端的情況。

自 Netflix 將混沌作為一種軟件工程 DevOps 工具,并把他們的 “猴子” 放到了開源社區(qū),將近七年的時(shí)間里,混沌工程已經(jīng)成為 IBM、谷歌和亞馬遜等公司的標(biāo)準(zhǔn)測(cè)試過(guò)程。

混沌實(shí)戰(zhàn):混沌工程的原則

混沌工程可簡(jiǎn)單比作以網(wǎng)絡(luò)為對(duì)象的接種防疫。人體接種失活疫苗后,身體會(huì)自然產(chǎn)生抗體,抵御此后可能的感染。網(wǎng)絡(luò)安全發(fā)展至今,有些方法開始利用機(jī)器學(xué)習(xí)預(yù)測(cè)、調(diào)適和對(duì)抗內(nèi)部及外部威脅?;煦绻こ炭膳c這些先進(jìn)網(wǎng)絡(luò)安全方法緊密協(xié)作。

混沌工程原理

混沌工程的目標(biāo)之一,是通過(guò)直接解決特定謬論,糾正不熟悉分布式網(wǎng)絡(luò)的那些人的偏見。

這些謬論是:

  • 網(wǎng)絡(luò)可靠且安全
  • 零延遲
  • 帶寬是無(wú)限的
  • 拓?fù)涫遣蛔兊?/li>
  • 管理員只有一個(gè)
  • 傳輸開銷為零
  • 網(wǎng)絡(luò)是同質(zhì)的

混沌工程實(shí)驗(yàn)旨在解決全球網(wǎng)絡(luò)分布中范圍和結(jié)果的不確定性,發(fā)現(xiàn)可能影響性能和安全的系統(tǒng)性漏洞。絕大多數(shù)混沌工程實(shí)驗(yàn)遵循以下四步:

1. 定義指征正常系統(tǒng)性能的可衡量結(jié)果 “穩(wěn)定狀態(tài)”。

2. 假設(shè)該穩(wěn)定狀態(tài)將在控制和挑戰(zhàn)兩種環(huán)境中延續(xù)。

3. 引入模擬現(xiàn)實(shí)世界問題的變量,比如服務(wù)器崩潰、惡意軟件注入、網(wǎng)絡(luò)掉線和硬件故障等。

4. 通過(guò)對(duì)比控制組和挑戰(zhàn)組中網(wǎng)絡(luò)行為的差異,試圖推翻原本穩(wěn)定狀態(tài)將延續(xù)的假設(shè)。

實(shí)驗(yàn)在受控設(shè)置下進(jìn)行,以便了解分布式網(wǎng)絡(luò)行為的更多特征,尋求在發(fā)生系統(tǒng)性故障之前就修正問題。良好混沌實(shí)驗(yàn)的核心,是可產(chǎn)生非預(yù)期變量的一系列創(chuàng)意。在試圖證偽先前假設(shè)的過(guò)程中,一次改變一個(gè)重要變量,打破陳規(guī)。

有很多種方式可以創(chuàng)建新的潛在破壞性變量。很多人都會(huì)用 VPN 加密互聯(lián)網(wǎng)連接,但未必考慮過(guò)使用其地理位置功能隱藏自身 IP 地址。該軟件就通過(guò)以中間計(jì)算機(jī)連接互聯(lián)網(wǎng),來(lái)冒充其他國(guó)家的用戶,以此實(shí)現(xiàn)隱藏自身 IP 地址的目的。關(guān)鍵點(diǎn)就在于嘗試打破穩(wěn)定狀態(tài)。造成服務(wù)器崩潰。關(guān)閉虛擬機(jī)。給網(wǎng)絡(luò)制造的復(fù)雜情況越多,你對(duì)系統(tǒng)安全與性能的信心越足,而且人工智能的發(fā)展也可以生成相當(dāng)復(fù)雜的各種場(chǎng)景。

為確保混沌工程在理想狀況下執(zhí)行,產(chǎn)生出可靠數(shù)據(jù),以下原則是必須遵循的。

1. 圍繞基于可測(cè)輸出而非系統(tǒng)特征的穩(wěn)定狀態(tài)行為,形成一種假設(shè)。這將證明系統(tǒng)可抵御不可預(yù)測(cè)的壓力因素,而不僅僅是確認(rèn)其如何運(yùn)作。

2. 變動(dòng)現(xiàn)實(shí)世界事件,包含源自硬件故障、軟件漏洞及其他未必造成故障的事件,比如瞬時(shí)流量峰值或操作增加。

3. 在生產(chǎn)中實(shí)驗(yàn),以便囊括真實(shí)流量。這可確保測(cè)試的真實(shí)性與相關(guān)性,讓結(jié)果比僅僅依靠流量及壓力模擬來(lái)得更具現(xiàn)實(shí)意義。

4. 運(yùn)用自動(dòng)化技術(shù),安排和執(zhí)行持續(xù)實(shí)驗(yàn)。自動(dòng)化測(cè)試已編入混沌工程標(biāo)準(zhǔn)流程,目的是節(jié)省人工實(shí)現(xiàn)所耗費(fèi)的時(shí)間和開銷。

5. 最小化沖擊范圍,提升控制與減少網(wǎng)絡(luò)中斷。

企業(yè)運(yùn)用混沌工程的優(yōu)勢(shì)

混沌條件下實(shí)現(xiàn)測(cè)試比單純實(shí)驗(yàn)室分析提供的好處更多。技術(shù)人員能獲得有關(guān)系統(tǒng)性漏洞的更深洞見,可減少有害事件及后果,縮短上市時(shí)間。業(yè)務(wù)人員能主動(dòng)緩解盈利損失,減少停工時(shí)間,啟動(dòng)更有意義的 IT 和工程培訓(xùn)項(xiàng)目。

最重要的是,開發(fā)人員、工程師和業(yè)務(wù)人員可以支持更可靠的服務(wù)開發(fā)與交付,通過(guò)確保持續(xù)的服務(wù)可用性而增加客戶滿意度。

想要保護(hù)聯(lián)網(wǎng)系統(tǒng),在整體性能與網(wǎng)絡(luò)安全緩解計(jì)劃中融入混沌工程標(biāo)準(zhǔn)值得一試。

結(jié)語(yǔ)

網(wǎng)絡(luò)越復(fù)雜,分布范圍越廣,軟件開發(fā)人員和工程師就越想擁有適應(yīng)各種情況的有效測(cè)試協(xié)議。

引入混沌工程,可以在不中斷關(guān)鍵系統(tǒng)功能的情況下,更好地應(yīng)對(duì)非預(yù)期事件。這將提升幾乎所有挑戰(zhàn)性環(huán)境中的整體性能并增強(qiáng)系統(tǒng)安全性。

上一篇:黑客利用固件漏洞的八種方式

下一篇:北塔軟件參加IDEA企業(yè)應(yīng)用創(chuàng)新大會(huì),為企業(yè)數(shù)字化轉(zhuǎn)型出謀劃策