支付寶技術團隊是如何“偷懶”的?

當有些代碼、有些技術問題,任憑你如何加班、如何奮戰,都無法通人工來及時應對、完成的時候,那要怎麼辦?“這就要思考如何能‘偷懶’了,”來自支付寶一位程序員說。

通過機器自動化、技術平臺化等路徑,讓技術處理問題的效率提升,在支付寶的紅藍軍技術攻防演練項目中,這些做法得到非常具體的闡釋。

由藍軍主導的技術攻防演練就是那個傳說中的“瘋起來連自己都打”的項目。在支付寶,有技術藍軍,以及技術紅軍。藍軍從屬於螞蟻金服技術風險部(SRE),而紅軍則包括SRE及各業務部門的技術團隊。藍軍負責發掘各類脆弱點,並通過紅藍軍技術攻防演練,不斷驗證防禦系統的可靠性。

紅藍軍技術攻防演練與螞蟻金服技術風險部的發展息息相關,而螞蟻技術風險的演進軌跡和遊戲中的不斷打怪升級非常相像。回顧起紅藍軍多年的對抗軌跡,我們可以看到,持續不斷的攻防演練,讓藍軍和紅軍的技術能力得到了極大地提升,同時雙方“武器庫”也在不斷升級。

最初,儘管藍軍制造故障的能力有很大的提高,但大部分的故障場景主要是各個業務方提供的,只有極少數是藍軍人工梳理業務或者分析代碼產出。此時,藍軍團隊認為,日常演練常態化,在故障場景發現方面不能再依賴業務,必須建立自主發現故障場景的能力。


支付寶技術團隊是如何“偷懶”的?

用“可樂山”明志,是程序員常見的套路


2018年3月,藍軍推出故障場景挖掘平臺,基於Awatch探針探測應用內數據流,以此進行“弱點挖掘”。這套弱點挖掘體系,能夠自動發現故障場景,最高能夠在5分鐘內產生500+的故障場景,紅藍攻防的日常演練的最為重要一塊拼圖終於完成!

另一邊對於紅軍來說,藍軍的故障挖掘平臺能力毋庸置疑,但有攻擊就需要應急,高頻攻防實施亦會給紅軍帶來大量的人力消耗。持續應急壓力驅動,紅軍開展“故障自愈”架構體系升級及能力建設,以效能為目標,結合仿真,紅藍軍一起研發了“無損”攻防體系,並且推出與之匹配的度量平臺,自動度量攻防結果,數據可視化。

目前,常態紅藍技術對抗保持每週200+個故障場景的節奏在持續運作。

值得一提的是,在2018年的一次對抗中,紅軍祭出了“尖端武器”——自適應防災、防抖等,這讓藍軍吃盡苦頭,幾乎每次攻擊都無功而返。挫敗感飆升的藍軍最終放出大招,讓紅軍接受了非常猛烈的炮火洗禮。

有意思的是,似乎藍軍攻擊得越歡,紅軍的同學越高興……雖然看上去很受虐,但卻沒毛病,因為藍軍攻擊得越狠越深入,被挖掘和發現出來的技術風險就會越確定,防禦系統的能力也會因此而得到提升。

支付寶技術團隊是如何“偷懶”的?

除了設計縝密的防禦措施防止藍軍的襲擊,拜關公求庇佑也是紅軍的“習俗”

風險防控技術全面開放

螞蟻金服技術風險部門經過不斷地升級,並將紅藍技術攻防演練形成常態化

目前,支付寶的“紅藍對抗”演練已經沉澱出一整套成熟的風險防控體系,通過仿真環境模擬天災人禍,去考驗技術架構的健壯性及技術人員的應急能力,從而全面地提升系統穩定,實現系統的高可靠性和高可用性。

所謂的天災和人禍。天災指的是,當出現颱風、斷網、火情等極端異常情況的時候,系統如何快速應對。這有點類似於今年杭州雲棲ATEC大會上,螞蟻金服副CTO胡喜現場演練的異常斷網情況下,“三地五中心”自動切換,保證支付服務不中斷。人禍則是指因技術人員操作失誤引發故障後,系統如何快速應。

在螞蟻金融科技官網(https://tech.antfin.com/)上可以看到,這些技術風險相關的能力已經對外開放,目前共有3款產品,包括容災應急平臺、全鏈路壓測和資金安全監控;另外,還有3款產品,變更管控、巡檢平臺和黑屏運維管控即將上線對外開放。


分享到:


相關文章: