螞蟻金服互聯網IT運維體系實踐


摘要: 本文來自螞蟻金服首席技術架構師,基礎技術部負責人胡喜。從2010年支撐雙十一最高交易峰值2萬筆/分鍾到2015年雙十一的8.59萬筆/秒,螞蟻金服的技術架構和運維體系一直都在不斷摸索和實踐。本文就“互聯網IT運維體系”這一主題,和朋友們分享螞蟻金服在該領域的實踐經驗。

8月30-31日20:00-21:30,一場別開生面的技術大會—— “螞蟻金服&阿里雲在線金融技術峰會”將在線舉辦。本次將聚焦數據庫、應用架構、移動開發、機器學習等熱門領域,幫助金融業技術開發者深入解析互聯網應用的前沿應用與技術實踐。
螞蟻金服&阿里雲在線金融技術峰會專題: https://yq.aliyun.com/activity/109
峰會統一報名鏈接:http://yq.aliyun.com/webinar/join/38

本文作者及簡介:胡喜 螞蟻金服首席技術架構師,基礎技術部負責人。2007年加入支付寶,主持支付平台基礎技術的架構設計與研發工作,並且參與螞蟻金服幾代核心支付平台的架構設計和系統研發工作,現在主要的研究領域在分布式高可用技術平台和雲計算方面。


正文:

 

從2010年支撐雙十一最高交易峰值2萬筆/分鍾到2015年雙十一的8.59萬筆/秒,螞蟻金服在技術架構和運維體系方面不斷摸索實踐所取得的成果。在這個過程中,以持續技術演進和創新來支撐互聯網金融業務的飛速發展,服務互聯網金融生態伙伴,助力更多中小型金融機構成功向新金融轉型發展和創新,是螞蟻金服在技術持續發展道路上所堅持的願景。 

螞蟻金服長期致力於技術運維體系建設,有效保障歷年雙11的平穩運行,在大促當天業務量年年翻倍的基礎上,持續保持系統可靠安全、無資金差錯和順暢的用戶體驗。茲通過本文就“互聯網IT運維體系”這一主題,和各位致力於金融業IT信息化建設的同行朋友們分享螞蟻金服在該領域的一些實踐經驗,以拋磚引玉互通有無。

一、螞蟻金服整體運維體系構成

螞蟻金服的運維體系由三個主要版塊構成:運維架構、運維平台、組織機制 。如下圖所示:
1ce7d31f0135aa8f36e5eb5d9b378386d71dfb29

通過一系列相互支持的分層元素的有機結合,形成一個完整的運維體系,來保障互聯網金融業務的連續性。

(1)運維架構:奠定了架構基礎,作用於IaaS層,目的在於通過一定的架構設計,使得基礎設施能夠達到高擴展性和具備快速容災的能力;目前螞蟻金服整體運維架構,采用的是自研的“異地多活架構”,與傳統的“兩地三中心”部署架構有所不同。

(2)運維平台:是互聯網金融運維的重點設施。為了具備高效、安全、智能的系統運維能力,提高運維效率和保障系統穩定,螞蟻金服基於運維平台化、數據化的設計理念,集合大數據計算和雲計算的能力,形成了可控的金融級運維能力。其中包括金融安全風險控制能力、金融級業務連續性自動化保障能力等,並整體上形成了螞蟻金融雲PaaS解決方案。

(3)組織機制:作為運維體系的重要組成,組織機制保障了在運維過程中能夠充分發揮運維架構和運維平台的強大合成能力,達成系統持續可用的最佳狀態。

下面將結合雙11大促的具體應用場景從三方面進行介紹:
  1. “異地多活”的運維架構
  2.   金融級業務連續性與自動化保障
  3.   業務連續性能力的組織機制保障    

二、“異地多活”的運維架構

螞蟻金服的運維架構定義了基礎設施和應用系統等在IDC上的部署架構。隨着螞蟻金服業務的快速發展,傳統以IDC為基礎運維單元的“兩地三中心”運維架構已經很難滿足需求。當前螞蟻金服已經演化形成“異地多活”的運維架構,以單元化機房(后面簡稱為LDC)為基礎運維單元,以滿足快速發展的互聯網金融業務對基礎設施擴展和容災的高時效性、金融級安全性要求。

傳統運維架構的部署模式,主要面臨以下三個問題:

1、基於IDC的運維部署管理模式,在系統規模越來越大、復雜度越來越高的情況下,無論是網絡、DB還是應用層面,其伸縮性能力無法持續提升,很難匹配各個層面的容量增長,將無法滿足業務快速發展的要求。

如:“在應用服務器完成擴容之后,發現DB連接數和事務數又成為了瓶頸;等DB完成擴容,又發現網絡帶寬已經不夠,需要對網絡帶寬進行擴容”;“當應用擴展到一定程度,DB的連接數成為突出瓶頸,對於傳統的所有應用連接到一個DB分庫上的架構部署模式,這個問題十分棘手”以上所面臨的挑戰,推進螞蟻金服的運維架構向可按更小單元維度擴展的更優可伸縮方案演化。

2、對單元進行標准化建設的過程,即是對整體運維架構進行標准化的過程。單元標准化,需要保障每個單元的內部設施必須完全一致,標准化、可管理、可復制,而如何屏蔽各個IDC自身的基礎設施差異性,是其中的一大挑戰,這對整體運維管理提出了更高的要求。

3、傳統IDC架構只能實現“兩地三中心”的容災架構,該架構模式下,異地容災系統一般是“冷”的,其備份系統的功能完備性和切換時長均很難保障和控制,投入了大量建設成本,但可能會陷入“有而不敢用”的怪圈。在飛速發展的互聯網金融應用場景下,要求運維架構上突破“兩地三中心”的傳統模式,向N+1“多活”的災備方案演進,進一步提升故障恢復的體系性能力。

針對以上挑戰和需求,螞蟻金服提出了“LDC”架構,其核心思想是:把數據水平拆分的思路,向上提升到接入層、終端層,從接入層開始,把原來部署在一個IDC中的系統集群,進一步分成多個更細粒度的部署單元。該部署單元有以下三個特性:

1. 每個單元對外是封閉的,在一個單元內的系統調用鏈路和各類存儲訪問是局部化在本單元內的;

2. 每個單元的實時數據是獨立不共享的;會員或配置類信息等對延時性要求不高的數據全局共享;

3. 單元間的通信統一管控,盡量以異步化消息進行通信;同步調用則通過單元間代理方案實現。

 

該架構解決了以下四個關鍵問題:

1. 由於盡量減少了跨單元交互和使用異步化,使得異地部署成為可能。整個系統的水平可伸縮性大大提高,不再依賴同城IDC;

2. 可以實現N+1的異地災備策略,大大縮減災備成本,同時確保災備設施真實可用;

3. 整個系統已無單點存在,大大提升了整體的高可用性;同城和異地部署的多個單元可用作互備的容災設施,通過運維管控平台進行快速切換,有機會實現100%的持續可用率;

4. 該架構下業務級別的流量入口和出口形成了統一的可管控、可路由的控制點,整體系統的可管控能力得到很大提升。基於該架構,線上壓測、流量管控、灰度發布等以前難以實現的運維管控模式,現在能夠十分輕松地實現。

2013年螞蟻金服完成了同城LDC的落地,並順利通過了2013年大促的考驗。2015年在同城LDC架構的基礎上,進一步升級完成“異地多活架構”並成功支撐了2015年大促的全天平穩運行。

“異地多活架構”是指基於LDC的擴展能力,在不同地域的IDC中部署LDC單元,並且每個LDC單元都是“活”的,是真正承接線上真實業務流量的,在發生故障時,可以進行LDC單元之間的快速切換。

這比傳統的“兩地三中心”架構有更好的業務連續性保障。“異地多活架構”下,一個LDC對應的災備LDC是一個“活”的LDC,日常就在承接真實業務流量,其穩定性和業務的正確性是一直被確保的。

 

以下是螞蟻金服“異地多活架構”示意圖:

2d6ff11aa2682721427586dfccfda09583f1453b

除了具備更快速的故障應急隔離和恢復能力之外,基於LDC架構,螞蟻金服還具備了“藍綠發布”和“灰度發布”的可靠變更驗證能力。在單個LDC單元內部,又分成A /B兩個邏輯組,A/ B組部署的系統鏈路是完全相同的。日常情況下,調用請求按照對等概率隨機路由到A組或B組 。當開啟藍綠發布模式時,上層路由組件會調整路由計算策略,隔離A組與B組之間的調用,A組內應用訪問封閉在A組內,而不會去訪問B組。

以上粗略概況介紹了螞蟻金服的底層運維架構,對應於IaaS層次,重點闡述了從傳統IDC部署架構模式到基於LDC的“異地多活”架構的升級演進。下面將基於運維架構,介紹運維平台的部分,即金融雲PaaS層次。

三、金融級業務連續性與自動化保障

在2015年雙十一當天,螞蟻金服的支付峰值達到8.59萬筆/秒,其中業務上關於支付工具和支付場景的規則達數百種,涉及的安全規則達上萬種。不難想象,為了支持這些業務規模,需要管控的運維設備規模和程序代碼變更頻次的規模將是十分巨大的。(螞蟻金服的十幾個業務部門共計數百個業務,每周發一個版本,雙11大促准備期間的頻率更高)。

按照傳統的方式很難高效、高質量地管理規模如此龐大的復雜系統,解決方案便是通過運維平台的建設,通過提供更高效、更安全、更智能的運維能力賦能於運維工作,從而支撐業務的快速穩定發展。

1. 高效 : 通過運維工作的平台化來提高運維效率。如系統監控平台、變更管控平台、動態資源管控平台、調度中心、注冊中心等。

2. 安全: 基於自動業務驗證平台和大數據運算規則,保障系統運行的穩定性與正確性。如數據核對中心、依賴管控平台、容量檢測管控平台等。

3. 智能:基於大數據的分析和規則計算,進行智能化的運維管控。如自動故障分析處理系統、容量自動探測擴容系統等。

下面通過大促中的2個場景,也是日常運維過程中常見的兩個場景(集群容量管理和故障應急處理),來整體介紹運維平台這三個特性的具體體現。

 

場景一(自動化容量管理):通過自動化的全鏈路壓測、自動化的容量模型計算、自動化鏈路收集、自動化的擴容來實現日常的系統容量管理。

大致的步驟如下:

(1) 首先,通過“全業務路徑壓測”的方式,探測系統的容量瓶頸點。基於 LDC架構,在全鏈路壓測之前,為每個LDC單元創建“影子LDC”,其數據與提供線上服務的LDC單元天然隔離,但充分利用了真實服務器集群的容量能力,可以有效的對線上實際容量進行探測驗證。

(2) 通過基於大數據分析的監控系統,動態收集系統的運行時性能指標。

(3) 根據業務鏈路和容量模型,進行容量的瓶頸點分析。

(4) 彈性伸縮,進行擴容/縮容:對於內部系統,會計算出最后實際需要擴容的容量,通過PaaS平台,一鍵進入擴容流程,經過審核后,自動進行系統彈性擴容。如果是合作伙伴的瓶頸,會進行流量控制,並且通知合作伙伴擴容。

在本場景中,通過應用大數據和智能決策技術,能夠高效、安全完成彈性容量管理工作,實現精益化運維。

 

場景二(自動故障處理):當故障發生時,監控系統通過對系統指標的監控,判定出受影響的業務和相關系統鏈路;通過大數據計算找到故障根因;結合變更和應急預案,直接提示應急方案,直至最后聯動到應急平台,自動執行應急預案。

大致步驟如下:

(1)通過業務指標監控,快速發現有錯誤的業務;

(2)根據各個維度指標的計算,判定業務SLA的損失量是否達到需要啟動應急預案的級別;

(3)根據業務管控策略配置,自動通知(旺旺、短信、電話等方式)相關人員上線進行應急處理;

(4)運維平台根據業務鏈路上系統依賴情況的梳理,繪制系統依賴圖;根據系統鏈路圖、錯誤數據、系統響應時間等數據,智能判斷出錯誤源頭,並根據變更管控信息,判斷是否由於變更操作(線上發布、數據變更、網絡變更、動態開關推送等)引起;

(5)根據變更信息和故障設備的應急策略,智能決策應急方案,發起人工介入審核應急處理流程,或者自動啟動應急預案處理故障。

通過運維平台的建設,能夠高效、高質量地完成復雜的應急工作,並為知識積累提供載體,使運維質量和效率不再依賴於個人的經驗和智慧,使所有運維人員都可以勝任高效的日常運維。

四、業務連續性能力的組織機制保障

在組織機制保障,螞蟻金服構建了三道信息科技風險管理防線。

48fe4af797655bf3360812e056ddc4c1f1e4cb59

除此之外,螞蟻金服還根據互聯網金融的人員、組織特征,構建了多層次的組織機制保障體系,以保障整體架構規划實施、制度規范能夠很好地在一線團隊落地,保障從規划到執行的高質量落地;並且一線團隊的實際問題可以反饋到上層架構組織和管理層,反作用於運維架構和運維平台的持續優化發展,進一步推進系統架構和運維水平向更高級別演進發展。

五、未來是雲的時代

隨着業務和運維架構平台的不斷發展,除了本身平台能力朝着更高效、更安全、更智能方向提升之外,還嘗試把運維平台和人員組織進行“雲”化,能夠快速支持螞蟻金服集團內部業務發展,為業務團隊快速具備DevOps運維能力賦能。

螞蟻金服在精粹提煉多年技術沉淀的過程中,研發了“螞蟻金融雲”技術平台。該平台深度濃縮了螞蟻金服對未來金融系統IT運維發展方向的沉淀總結。整個平台體系從應用運行時、彈性服務、基礎服務、交付管理等幾個方面,對整體從研發到運維的技術平台進行整合。   

該平台不僅為研發人員提供了一套標准研發模型,也為運維人員提供了一套標准運維模型,這套基於金融雲技術的體系,使得架構更替對研發人員更透明,也屏蔽了很多技術復雜性,讓整體架構更容易管控和進行可靠運維,大大提高了對創新業務的快速支撐能力。

這一技術平台的強大支撐,在螞蟻的理財業務、保險業務、芝麻信用、網商銀行等多個創新區域得到了驗證。通過基於“螞蟻金融雲”的運維體系,幫助我們在快速創新的過程中不斷降低成本。隨着螞蟻金服“互聯網推進器”計划的推出和實施,螞蟻金服希望在5年內助力1000家中小型金融機構向新金融轉型升級。

互聯網金融IT系統的運維建設之路,后續期待和各位同行更多的交流和一起大力推進發展。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM