網際網路IT運維體系實踐
編輯推薦: |
本文來源cnblogs,主要介紹了分享螞蟻金服在技術架構和運維體系的一些實踐經驗等相關內容。 |
從2010年支撐雙十一最高交易峰值2萬筆/分鐘到2015年雙十一的8.59萬筆/秒,螞蟻金服在技術架構和運維體系方面不斷摸索實踐所取得的成果。在這個過程中,以持續技術演進和創新來支撐網際網路金融業務的飛速發展,服務網際網路金融生態夥伴,助力更多中小型金融機構成功向新金融轉型發展和創新,是螞蟻金服在技術持續發展道路上所堅持的願景。
螞蟻金服長期致力於技術運維體系建設,有效保障歷年雙11的平穩執行,在大促當天業務量年年翻倍的基礎上,持續保持系統可靠安全、無資金差錯和順暢的使用者體驗。茲通過本文就“網際網路IT運維體系”這一主題,和各位致力於金融業IT資訊化建設的同行朋友們分享螞蟻金服在該領域的一些實踐經驗,以拋磚引玉互通有無。
一、螞蟻金服整體運維體系構成
螞蟻金服的運維體系由三個主要版塊構成:運維架構、運維平臺、組織機制 。如下圖所示:
通過一系列相互支援的分層元素的有機結合,形成一個完整的運維體系,來保障網際網路金融業務的連續性。
(1)運維架構:奠定了架構基礎,作用於IaaS層,目的在於通過一定的架構設計,使得基礎設施能夠達到高擴充套件性和具備快速容災的能力;目前螞蟻金服整體運維架構,採用的是自研的“異地多活架構”,與傳統的“兩地三中心”部署架構有所不同。
(2)運維平臺:是網際網路金融運維的重點設施。為了具備高效、安全、智慧的系統運維能力,提高運維效率和保障系統穩定,螞蟻金服基於運維平臺化、資料化的設計理念,集合大資料計算和雲端計算的能力,形成了可控的金融級運維能力。其中包括金融安全風險控制能力、金融級業務連續性自動化保障能力等,並整體上形成了螞蟻金融雲PaaS解決方案。
(3)組織機制:作為運維體系的重要組成,組織機制保障了在運維過程中能夠充分發揮運維架構和運維平臺的強大合成能力,達成系統持續可用的最佳狀態。
下面將結合雙11大促的具體應用場景從三方面進行介紹:
“異地多活”的運維架構
金融級業務連續性與自動化保障
業務連續效能力的組織機制保障
二、“異地多活”的運維架構
螞蟻金服的運維架構定義了基礎設施和應用系統等在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,日常就在承接真實業務流量,其穩定性和業務的正確性是一直被確保的。
以下是螞蟻金服“異地多活架構”示意圖:
除了具備更快速的故障應急隔離和恢復能力之外,基於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)根據變更資訊和故障裝置的應急策略,智慧決策應急方案,發起人工介入稽核應急處理流程,或者自動啟動應急預案處理故障。
通過運維平臺的建設,能夠高效、高質量地完成複雜的應急工作,併為知識積累提供載體,使運維質量和效率不再依賴於個人的經驗和智慧,使所有運維人員都可以勝任高效的日常運維。
四、業務連續效能力的組織機制保障
在組織機制保障,螞蟻金服構建了三道資訊科技風險管理防線。
除此之外,螞蟻金服還根據網際網路金融的人員、組織特徵,構建了多層次的組織機制保障體系,以保障整體架構規劃實施、制度規範能夠很好地在一線團隊落地,保障從規劃到執行的高質量落地;並且一線團隊的實際問題可以反饋到上層架構組織和管理層,反作用於運維架構和運維平臺的持續優化發展,進一步推進系統架構和運維水平向更高級別演進發展。
五、未來是雲的時代
隨著業務和運維架構平臺的不斷髮展,除了本身平臺能力朝著更高效、更安全、更智慧方向提升之外,還嘗試把運維平臺和人員組織進行“雲”化,能夠快速支援螞蟻金服集團內部業務發展,為業務團隊快速具備DevOps運維能力賦能。
螞蟻金服在精粹提煉多年技術沉澱的過程中,研發了“螞蟻金融雲”技術平臺。該平臺深度濃縮了螞蟻金服對未來金融系統IT運維發展方向的沉澱總結。整個平臺體系從應用執行時、彈性服務、基礎服務、交付管理等幾個方面,對整體從研發到運維的技術平臺進行整合。
該平臺不僅為研發人員提供了一套標準研發模型,也為運維人員提供了一套標準運維模型,這套基於金融雲技術的體系,使得架構更替對研發人員更透明,也遮蔽了很多技術複雜性,讓整體架構更容易管控和進行可靠運維,大大提高了對創新業務的快速支撐能力。
這一技術平臺的強大支撐,在螞蟻的理財業務、保險業務、芝麻信用、網商銀行等多個創新區域得到了驗證。通過基於“螞蟻金融雲”的運維體系,幫助我們在快速創新的過程中不斷降低成本。隨著螞蟻金服“網際網路推進器”計劃的推出和實施,螞蟻金服希望在5年內助力1000家中小型金融機構向新金融轉型升級。
網際網路金融IT系統的運維建設之路,後續期待和各位同行更多的交流和一起大力推進發展。