阿里仿真灰度变更测试简介
簡(jiǎn)介:?基礎(chǔ)網(wǎng)絡(luò)產(chǎn)品的生命周期大致包含研發(fā)、架構(gòu)、交付、優(yōu)化和運(yùn)營(yíng)等幾個(gè)環(huán)節(jié),每一個(gè)環(huán)節(jié)的質(zhì)量保證都涉及重要的一環(huán),即預(yù)期驗(yàn)證測(cè)試。本文將重點(diǎn)講解一下如何在仿真測(cè)試平臺(tái)進(jìn)行灰度變更測(cè)試,從而保證變更的穩(wěn)定性。
作者 | 聰敬、蘇瑋、玖玄、林濤
來(lái)源 | 阿里技術(shù)公眾號(hào)
一 前言
基礎(chǔ)網(wǎng)絡(luò)產(chǎn)品的生命周期大致包含研發(fā)、架構(gòu)、交付、優(yōu)化和運(yùn)營(yíng)等幾個(gè)環(huán)節(jié),每一個(gè)環(huán)節(jié)的質(zhì)量保證都涉及重要的一環(huán),即預(yù)期驗(yàn)證測(cè)試。比如研發(fā)的功能測(cè)試,架構(gòu)的POC測(cè)試/AVL測(cè)試,交付的配置驗(yàn)收,優(yōu)化的灰度變更和方案測(cè)試,運(yùn)營(yíng)的GNOC模版測(cè)試/演練/LANDING測(cè)試等等。如何安全、高效和低成本地保證這些環(huán)節(jié)能夠穩(wěn)定持續(xù)運(yùn)行呢?自動(dòng)化測(cè)試平臺(tái)Full-Automation-Simple-Touch(FAST)應(yīng)運(yùn)而生,為網(wǎng)絡(luò)全生命周期測(cè)試提供了平臺(tái),提升網(wǎng)絡(luò)的穩(wěn)定性。
本文將重點(diǎn)講解一下如何在仿真測(cè)試平臺(tái)進(jìn)行灰度變更測(cè)試,從而保證變更的穩(wěn)定性。
二 技術(shù)引領(lǐng)穩(wěn)定變更的必要性
眾所周知,網(wǎng)絡(luò)變更的數(shù)量在逐年遞增,從2016到2020年,變更數(shù)量增加了5倍,同時(shí)網(wǎng)絡(luò)規(guī)模復(fù)雜度也在提升,如何在人力資源沒(méi)有增加的前提下保證變更的穩(wěn)定性,是一件非常具有挑戰(zhàn)而且非常重要的事情。設(shè)想如果能在真正變更前把變更方案在測(cè)試環(huán)境中提前灰度驗(yàn)證,保證提前發(fā)現(xiàn)并解決潛在的問(wèn)題,將大幅度提高變更穩(wěn)定性。
三 變更穩(wěn)定性流程剖析
灰度變更測(cè)試是為變更流程中的各個(gè)環(huán)節(jié)提供提前驗(yàn)證的能力。比如說(shuō)驗(yàn)證方案中的CLI是否能正確下發(fā)到設(shè)備,驗(yàn)證配置下發(fā)到設(shè)備后的行為是否符合預(yù)期,驗(yàn)證設(shè)備之間的狀態(tài)交互是否正常。還可以模擬異常條件,提供緊急應(yīng)對(duì)措施的驗(yàn)證。提前發(fā)現(xiàn)問(wèn)題并且驗(yàn)證解決方案,是灰度變更測(cè)試的核心價(jià)值之一(保證穩(wěn)定性)。
另外一個(gè)核心價(jià)值就是成本效率的提升,使用了廠商提供的鏡像,通過(guò)仿真技術(shù)可以快速搭建一個(gè)灰度測(cè)試環(huán)境, 一般是在分鐘/小時(shí)級(jí)別,具體要看規(guī)模。而搭建一個(gè)相同的物理環(huán)境需要幾個(gè)星期,甚至是幾個(gè)月,因?yàn)樯婕暗讲少?gòu),交付上架,連線等等,另外仿真設(shè)備本身的成本也遠(yuǎn)低于物理設(shè)備的成本。
四 阿里巴巴AIS網(wǎng)絡(luò)仿真系統(tǒng)
阿里巴巴AIS網(wǎng)絡(luò)仿真系統(tǒng)是什么樣的呢?
在2018年前是沒(méi)有網(wǎng)絡(luò)仿真環(huán)境的,2018后我們開(kāi)始著手搭建了核心網(wǎng)的仿真灰度環(huán)境,根據(jù)現(xiàn)網(wǎng)設(shè)備配置/現(xiàn)網(wǎng)拓?fù)?現(xiàn)網(wǎng)路由,加上廠商提供的設(shè)備鏡像,通過(guò)仿真技術(shù),搭建了一個(gè)協(xié)議1:1低成本高保真的仿真環(huán)境,并且完成了和線上自動(dòng)化運(yùn)維系統(tǒng)的對(duì)接,實(shí)現(xiàn)了灰度變更測(cè)試從0到1的飛躍。
上圖的左半邊是一個(gè)典型的阿里生產(chǎn)網(wǎng)絡(luò),2個(gè)IDC數(shù)據(jù)中心通過(guò)骨干網(wǎng)鏈接起來(lái),操作人員通過(guò)跳板機(jī)鏈接到物理目標(biāo)設(shè)備,然后進(jìn)行一系列操作。上圖的右半邊是我們仿真出來(lái)的一個(gè)仿真網(wǎng)絡(luò)。從操作人員的角度來(lái)看,也是通過(guò)跳板機(jī),經(jīng)過(guò)仿真和真實(shí)之間的TCP/IP代理服務(wù),就可以輕松地進(jìn)入虛擬世界,對(duì)仿真設(shè)備進(jìn)行相應(yīng)的操作。除了基本的操作能力外,在仿真系統(tǒng)中也加入仿真特有的功能,比如預(yù)期判斷/故障演練/健康檢查/安全防護(hù)等等。
同時(shí)由于是仿真環(huán)境,我們可以輕松地制造出多個(gè)仿真環(huán)境,用于不同的場(chǎng)景。
五 仿真系統(tǒng)構(gòu)建的挑戰(zhàn)示例
構(gòu)建仿真系統(tǒng)挑戰(zhàn)很多,這里列舉了幾個(gè)比較重要的挑戰(zhàn):
大規(guī)模光纖仿真
我們模擬了整個(gè)近千臺(tái)設(shè)備的互聯(lián),怎么保證這些鏈接的穩(wěn)定可靠至關(guān)重要,因?yàn)殒溄硬豢煽?#xff0c;容易導(dǎo)致丟包/延遲等,嚴(yán)重影響環(huán)境質(zhì)量。
鏡像和物理設(shè)備端口不一致
仿真鏡像自身有一些無(wú)法改動(dòng)的設(shè)置,包括端口名字和數(shù)目,無(wú)法直接和現(xiàn)實(shí)網(wǎng)絡(luò)做到嚴(yán)格1:1。
自身可信度保障
建立仿真環(huán)境后,面臨的很大的挑戰(zhàn)就是,怎么驗(yàn)證和線上的一致性。
路由注入
仿真環(huán)境鏡像/連線/配置完成后,還需要引入實(shí)際業(yè)務(wù)數(shù)據(jù),比較關(guān)注的就是自動(dòng)化的路由注入。
廠商鏡像不足
IDC內(nèi)部分廠商的鏡像還沒(méi)有鏡像,我們采用了混部多協(xié)議邏輯驗(yàn)證 (HPLV hybrid protocols logic verification)來(lái)擴(kuò)展IDC設(shè)備。
六 業(yè)界產(chǎn)品比較
相對(duì)于其他公司,其實(shí)阿里的網(wǎng)絡(luò)更復(fù)雜,主要體現(xiàn)架構(gòu)更多,設(shè)備的廠商更多,這些都給網(wǎng)絡(luò)帶來(lái)了更大的復(fù)雜度,所以可以想象,要在阿里的網(wǎng)絡(luò)里面完成灰度測(cè)試環(huán)境的搭建難度要遠(yuǎn)比想象中的大。
七 流程規(guī)范化的挑戰(zhàn)
有了仿真環(huán)境后,還需要有可靠的流程來(lái)保障灰度變更,為此我們?cè)谧兏鞒讨幸肓朔桨笢y(cè)試和灰度測(cè)試兩個(gè)環(huán)節(jié)。
方案測(cè)試是在方案設(shè)計(jì)之后,評(píng)審上線之前,用于判斷測(cè)試方案的各個(gè)環(huán)節(jié)是否都有被測(cè)試覆蓋、不同維度測(cè)試是否完整。理論上只有經(jīng)過(guò)方案測(cè)試達(dá)標(biāo)后的方案才能評(píng)審上線,為方案的穩(wěn)定性設(shè)立的第一道關(guān)卡。
方案測(cè)試的特點(diǎn)如下:
- 根據(jù)維度自動(dòng)生成用例(這里的維度指的是一類(lèi)屬性的概念,比如廠商,角色等等)
- 批量并發(fā)執(zhí)行,提高執(zhí)行效率。
- 執(zhí)行完后有統(tǒng)計(jì)數(shù)據(jù)支持維度級(jí)別的精確上線控制。
變更測(cè)試的第二個(gè)關(guān)卡是在變更工單審核之前做了流程卡點(diǎn),對(duì)于核心網(wǎng)變更,如果沒(méi)有經(jīng)過(guò)灰度測(cè)試是無(wú)法提交工單審核的,從流程中保證了“無(wú)灰度不變更”。
八 落地場(chǎng)景與結(jié)果
- 自動(dòng)化系統(tǒng)能力的保障
- 月平均攔截40次變更風(fēng)險(xiǎn)
九 未來(lái)展望
- 擴(kuò)大支持覆蓋率
- 平臺(tái)自助化/智能化
- 商業(yè)化
原文鏈接
本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的阿里仿真灰度变更测试简介的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 15M安装包就能玩《原神》,带你了解云游
- 下一篇: 庖丁解InnoDB之REDO LOG