摘要:以「數字金融新原力(The New Force of Digital Finance)」爲主題,螞蟻金服ATEC城市峯會於2019年1月4日上海如期舉辦。分論壇上,螞蟻金服高級技術專家王亞宏作了主題爲《技術風險防控平臺:打造金融交易系統的故障免疫能力》的精彩分享。git
演講中,王亞宏介紹了螞蟻金服的技術風險保障體系,同時分享了螞蟻金服如何將本身在過去多年積累的的實踐經驗經過TRaasS平臺分享給整個金融生態圈的合做夥伴,助力金融機構創建穩定可靠的金融業務。
王亞宏 螞蟻金服高級技術專家安全
本次的分享主要圍繞如下內容展開:服務器
1、金融級分佈式架構面臨的挑戰和機遇網絡
2、螞蟻金服技術風險保障體系的總體規劃架構
3、TRaaS技術風險防控平臺總體介紹運維
4、螞蟻金服技術風險防控能力實踐分佈式
5、技術風險防控平臺如何助力合做夥伴微服務
軟件產品向分佈式架構和微服務轉型已經成爲行業的共識。在架構的轉型過程當中,做爲守門員的企業運維保障部門面臨着巨大的挑戰。這些挑戰包括但不限於:1:產品需求變動頻繁、軟件開發速度也愈來愈快,但運維保障部門因爲缺少完善的保障措施只能經過控制發佈次數來下降風險,使得業務更新速度降低。2: 從大型機器轉移到PC服務器使得系統單機故障率更高,現有的容災與FO機制可否支撐系統準確地運行仍存在疑問。3:從單體架構遷移到微服務架構要求系統進行全面的迴歸測試,這帶來了巨大的測試工做量。4:,分佈式系統中的一條調用鏈路可能橫跨多個系統,問題排查變得很是困難。5:,對金融行業而言,解決分佈式系統中的數據一致性問題也很是關鍵。測試
從另一個角度看,企業運維保障部門也應看到分佈式架構帶來的機遇。在過去,單體系統發佈新版本一般要求產品經過層層測試來保證新版本上線後不出問題。但分佈式系統容許使用真實用戶和流量實現線上驗證以確保產品上線後出現問題帶來的影響最小。分佈式架構使灰度驗證和快速發佈成爲可能。此外,從前只能在線下進行的模擬演練,如今能夠隨時在生產環境中進行。全鏈路壓測還讓獲取真實流量成爲可能,讓咱們能在每次大促時作到高枕無憂。優化
在過去十年中,螞蟻金服的運維保障體系也經歷了深入的變革。經過抓住架構升級帶來的機遇,經過技術和平臺提高解決系統問題,運維保障部門作到了在架構升級的過程當中平滑過渡,系統保持很是高的可用性的同時充分享受架構升級帶來的收益。
下圖是螞蟻金服的技術風險保障體系的整體設計圖。在目標層,螞蟻金服的運維保障部門力求作到99.99%的系統高可用、系統整年無重大資金安全故障,同時實現系統運維零成本。這些也是螞蟻金服給客戶的SLA承諾。治理層:與螞蟻金服的團隊、文化和制度相關。爲了應對技術風險領域的挑戰,螞蟻金服組建了技術風險保障部門,聚焦於使用技術升級運維和質量保障手段以解決系統面臨的技術風險難題。同時,螞蟻金服創建了一系列制度保證系統內的任何變動都符合可監控、可灰度、可回滾的「三板斧」要求。在運營層:設置了四道防線。前兩條防線即需求和研發包含了風險評審、自動化測試等常規內容。第三道防線經過灰度發佈和藍綠髮布實現產品變動的驗證和管理。第四道防線即系統監控,保證了系統在線上運行過程當中具備最小的運行風險。最後一層是平臺層:技術風險保障體系的目標、治理和運營層須要依賴平臺層來實現,平臺層包括業務監控、演練中心、預案中心和變動管控等各類技術平臺。
螞蟻金服將其構建技術風險保障體系的實踐和經驗沉澱下來,造成了TRaaS技術風險防控平臺,開放給金融生態圈的全部合做夥伴。下圖右側的能力閉環展現了技術風險防控平臺的核心方法論,分爲三個部分。風險基線衡量了系統的風險保障能力,使風險保障人員瞭解系統的風險防控水平。監控/巡檢、預案自愈以及演練屬於第二個部分,確保系統在發生問題是能快速發現,定位和自動修復。此外,變動是系統風險的最大來源,螞蟻金服對系統變動進行了嚴格的管控,確保全部變動都符合三板斧制度。
下面咱們分別看一下這三個關鍵環節中,平臺具體所作的事情。
風險基線
風險基線這部分核心要解決的問題是如何評估咱們當前的風險保障能力,以及發現哪些地方存在風險隱患。 全部作風險管理的同窗都會面對一個問題:「風險分母到底有多大?」,這是一個理論上就無解的問題。
那怎麼辦呢,螞蟻金服的實踐經驗是接受風險自己的未知性,但在平臺中將已知的風險場景沉澱下來,確保將來再也不犯相似的錯誤。經過對這些沉澱下來的風險場景的風險保障能力的自動檢查,來對咱們的風險保障能力作個打分,而且發現存在問題的地方。
具體到平臺中的作法是:第一步,先獲取到全部和風險相關的實體的元信息,包括應用,服務,網絡,容器,物理機 等各個層次的風險實體,並將他們經過業務鏈路或部署拓撲關聯起來。 第二部:將風險知識沉澱爲風險模型,一個風險模型的內容能夠用一句話來歸納當XXX類型的風險實體具有XXX屬性時,必須有XXX,XXX。。。。 的風險保障措施。這裏的保障措施包括 監控,巡檢,覈對,預案,演練等一系列能力。 有了第一步,第二步獲取到的信息,咱們能夠獲取到一個相乘的笛卡爾集。在這個集合中能夠清晰的看到,基於咱們已有的風險知識沉澱,咱們當前的技術風險保障水位如何,哪些地方是存在隱患的。針對每一個風險點,風險揭示關注系統是否有完整的風險保障措施,以及對保障措施不完整的風險點應當如何處理等問題。風險揭示爲一 線風險防控人員包括業務負責人和架構師等都提供了監控視角,以評估系統的風險防控能力,應對當前系統的風險防控問題。總的來講,將風險防控經驗沉澱爲風險模型,輔以完善的系統元信息和保障機制,風險揭示平臺提升了系統發現風險的能力。
風險處理
風險處理平臺對接各類監控系統獲取監控報警信息,再將收集到的監控信息聚合爲風險事件。對於業務報警信息或單機報警信息,在聚合爲風險事件後,處理平臺提供標準的分析引擎(同時支持自定義引擎)幫助提供異常鏈路,相關變動,主成分等各類輔助定位信息。在有了對應的信息後,給用戶推送自動的應急自愈預案,或手工的業務應急預案。 最後,在問題解決後對整個故障進行復盤,將一些新產生的風險知識沉澱到風險基線中去,最終實現閉環。
變動管控
螞蟻金服的內部統計數據顯示,80%的系統生產故障都來自於代碼變動,所以變動管控對技術風險防控而言相當重要。大規模系統內每每包含着幾十乃至上百個變動來源,一旦線上發生問題,很難第一時間找到對應的變動,變動自己的質量也很難有效控制住。變動管控平臺利用變動接入API整合全部系統變動,使變動可見。同時,變動管控平臺還提供了變動編排,變動灰度檢查,變動預檢,變動結果監控等能力。確保全部生產變動都符合可灰度,可監控,可回滾的三板斧原則。 同時,經過提供變動關聯,以及變動回滾來加快線上問題處理速度。
其餘SaaS服務
上面所講的總體體系,你們可能會感受特別重,整個體系實施起來的組織成本,技術成本都仍是比較高的。 這點上確實如此,要想系統性的對技術風險進行託底保障,確實須要一套相對比較重的體系和機制來。對於一些小型企業,或者說想解決一些特定領域的問題的客戶,技術風險防控平臺還提供了一些輕量級的SaaS服務,包括全鏈路壓測、資金安全監控、流量仿真測試、高可用巡檢以及智能監控等。這些服務均可以在螞蟻金融科技的公有云或專有云平臺上輕鬆獲取,快速提高某一方面的能力。
下圖是我這邊摘抄出來的一些內部運行數據,可讓你們更有體感的去感覺螞蟻金服技術風險保障體系是怎麼運做的。
第一張圖是1218紅藍大攻防的數據,在螞蟻內部,有一支專門負責搞破壞的技術藍軍,他們天天所作的事情就是不停的對系統進行攻擊,注入,製造高可用和資金安全故障。以此來檢驗咱們的發現機制,應急機制是持續有效,不斷保鮮的。螞蟻金服在執行紅藍攻防演練時作到了每5分鐘產生超過500個故障場景,同時保持每週超過200次故障場景演練。
第二張圖是今年雙11大促前,咱們所作的技術保障工做。爲了應對雙十一大促的流量高峯,螞蟻金服進行了長達三個月甚至更長時間的全鏈路壓測、預案驗證以及線上巡檢炎症。高頻率的故障場景演習以及高時長的大促技術備戰使得螞蟻金服具備極強的防護能力。
第三張圖摘自技術風險保障週報,這裏能看到的是螞蟻金服技術風險防控團隊在平常工做中也不在斷優化系統的風險防控能力。螞蟻金服經過將容災仿真演練、高可用常態演練、資金安全常態演練以及自愈檢查等歸入每週,天天都要作的事情,以此保證螞蟻金服系統可以持續穩定安全地運行。
咱們認爲傳統的風險保障體系具備如下三個特色:
第一, 風險保障設計聚焦於風險出現後的問題處理,系統自己風險防控能力處於未知狀態,只能被動地等待出現「黑天鵝」事件。
第二, 風險保障部門經過嚴格控制發佈週期、儘可能不發佈和不變動來避免系統出現風險事件。
第三, 每次新版本發佈都伴隨着大量測試資源的投入和層層評審來下降新版本中出現風險的機率。
下一代技術風險防控體系具備如下四個特徵:
第一, 風險保障經過建設反脆弱的系統來下降意外事件帶來的影響,聚焦於系統健壯性的提高。
第二, 強調風險保障能力可見,而且可以經過持續演練持續保鮮。
第三, 重視灰度變動,強化變動過程的監控能力和回滾能力以下降系統變動風險。同時,經過技術手段和制度規約限制每次變動的影響範圍,使變動可控。
第四, 依賴於自動化測試、線上壓測和線上仿真測試等技術手段來下降系統風險。
螞蟻金服技術技術風險防控平臺但願能在這個技術升級的變革過程當中。
將咱們積累的保障能力沉澱爲平臺能力,將平臺能力開放給咱們的合做夥伴。
將咱們積累的風險知識沉澱爲沉澱爲模型,規則。將風險知識來分享給生態圈中的合做夥伴們。
系統須要經過持續演進得以不斷完善,而螞蟻金服的願景在於將自身在技術風險防控中的平臺積累及實踐經驗分享給整個金融生態圈的合做夥伴,讓生態圈中的夥伴們能通力合做、共享風險保障技術,更重要的是共享風險防護知識,一塊兒打造穩定可靠的在線業務。
點擊閱讀更多,查看更多詳情