
作者 | 聰敬、蘇玮、玖玄、林濤
來源 | 阿裡技術公衆号
一 前言
基礎網絡産品的生命周期大緻包含研發、架構、傳遞、優化和營運等幾個環節,每一個環節的品質保證都涉及重要的一環,即預期驗證測試。比如研發的功能測試,架構的POC測試/AVL測試,傳遞的配置驗收,優化的灰階變更和方案測試,營運的GNOC模版測試/演練/LANDING測試等等。如何安全、高效和低成本地保證這些環節能夠穩定持續運作呢?自動化測試平台Full-Automation-Simple-Touch(FAST)應運而生,為網絡全生命周期測試提供了平台,提升網絡的穩定性。
本文将重點講解一下如何在仿真測試平台進行灰階變更測試,進而保證變更的穩定性。
二 技術引領穩定變更的必要性
衆所周知,網絡變更的數量在逐年遞增,從2016到2020年,變更數量增加了5倍,同時網絡規模複雜度也在提升,如何在人力資源沒有增加的前提下保證變更的穩定性,是一件非常具有挑戰而且非常重要的事情。設想如果能在真正變更前把變更方案在測試環境中提前灰階驗證,保證提前發現并解決潛在的問題,将大幅度提高變更穩定性。
三 變更穩定性流程剖析
灰階變更測試是為變更流程中的各個環節提供提前驗證的能力。比如說驗證方案中的CLI是否能正确下發到裝置,驗證配置下發到裝置後的行為是否符合預期,驗證裝置之間的狀态互動是否正常。還可以模拟異常條件,提供緊急應對措施的驗證。提前發現問題并且驗證解決方案,是灰階變更測試的核心價值之一(保證穩定性)。
另外一個核心價值就是成本效率的提升,使用了廠商提供的鏡像,通過仿真技術可以快速搭建一個灰階測試環境, 一般是在分鐘/小時級别,具體要看規模。而搭建一個相同的實體環境需要幾個星期,甚至是幾個月,因為涉及到采購,傳遞上架,連線等等,另外仿真裝置本身的成本也遠低于實體裝置的成本。
四 阿裡巴巴AIS網絡仿真系統
阿裡巴巴AIS網絡仿真系統是什麼樣的呢?
在2018年前是沒有網絡仿真環境的,2018後我們開始着手搭建了核心網的仿真灰階環境,根據現網裝置配置/現網拓撲/現網路由,加上廠商提供的裝置鏡像,通過仿真技術,搭建了一個協定1:1低成本高保真的仿真環境,并且完成了和線上自動化運維系統的對接,實作了灰階變更測試從0到1的飛躍。
上圖的左半邊是一個典型的阿裡生産網絡,2個IDC資料中心通過骨幹網連結起來,操作人員通過跳闆機連結到實體目标裝置,然後進行一系列操作。上圖的右半邊是我們仿真出來的一個仿真網絡。從操作人員的角度來看,也是通過跳闆機,經過仿真和真實之間的TCP/IP代理服務,就可以輕松地進入虛拟世界,對仿真裝置進行相應的操作。除了基本的操作能力外,在仿真系統中也加入仿真特有的功能,比如預期判斷/故障演練/健康檢查/安全防護等等。
同時由于是仿真環境,我們可以輕松地制造出多個仿真環境,用于不同的場景。
五 仿真系統建構的挑戰示例
建構仿真系統挑戰很多,這裡列舉了幾個比較重要的挑戰:
大規模光纖仿真
我們模拟了整個近千台裝置的互聯,怎麼保證這些連結的穩定可靠至關重要,因為連結不可靠,容易導緻丢包/延遲等,嚴重影響環境品質。
鏡像和實體裝置端口不一緻
仿真鏡像自身有一些無法改動的設定,包括端口名字和數目,無法直接和現實網絡做到嚴格1:1。
自身可信度保障
建立仿真環境後,面臨的很大的挑戰就是,怎麼驗證和線上的一緻性。
路由注入
仿真環境鏡像/連線/配置完成後,還需要引入實際業務資料,比較關注的就是自動化的路由注入。
廠商鏡像不足
IDC内部分廠商的鏡像還沒有鏡像,我們采用了混部多協定邏輯驗證 (HPLV hybrid protocols logic verification)來擴充IDC裝置。
六 業界産品比較
相對于其他公司,其實阿裡的網絡更複雜,主要展現架構更多,裝置的廠商更多,這些都給網絡帶來了更大的複雜度,是以可以想象,要在阿裡的網絡裡面完成灰階測試環境的搭建難度要遠比想象中的大。
七 流程規範化的挑戰
有了仿真環境後,還需要有可靠的流程來保障灰階變更,為此我們在變更流程中引入了方案測試和灰階測試兩個環節。
方案測試是在方案設計之後,評審上線之前,用于判斷測試方案的各個環節是否都有被測試覆寫、不同次元測試是否完整。理論上隻有經過方案測試達标後的方案才能評審上線,為方案的穩定性設立的第一道關卡。
方案測試的特點如下:
- 根據次元自動生成用例(這裡的次元指的是一類屬性的概念,比如廠商,角色等等)
- 批量并發執行,提高執行效率。
- 執行完後有統計資料支援次元級别的精确上線控制。
變更測試的第二個關卡是在變更工單稽核之前做了流程卡點,對于核心網變更,如果沒有經過灰階測試是無法送出工單稽核的,從流程中保證了“無灰階不變更”。
八 落地場景與結果
- 自動化系統能力的保障
- 月平均攔截40次變更風險
九 未來展望
- 擴大支援覆寫率
- 平台自助化/智能化
- 商業化
免費領取電子書
《Dubbo分布式服務治理實戰》
Dubbo是阿裡巴巴開源的高性能分布式RPC服務治理架構,提供了六大核心能力:面向接口代理的高性能RPC調用、智能容錯和負載均衡、服務自動注冊和發現、高度可擴充能力、運作期流量排程、可視化的服務治理與運維。本書将帶同學們了解并掌握Dubbo3.0新特性及相關實踐實戰。
點選這裡,立即下載下傳吧~