Categories
程式開發

揭秘眾安科技雲上數據庫實踐和智能運維演進


揭秘眾安科技雲上數據庫實踐和智能運維演進 1

2016年,眾安科技成立。脫胎於眾安保險,眾安科技不僅繼承母公司的技術力量,而且在行業中走得更遠。

作為國內首家互聯網保險公司,眾安保險於2013年11月成立。

發展至今,眾安在6年時間已累計承保逾250億張保單;在雙十一時,使得峰值處理能力突破3.2萬筆/秒;2019年上半年,全國每六張保單就有一張出自眾安保險

支撐這些成績的正是眾安保險核心系統——“無界山”。它是一個面向海量碎片化互聯網場景,基於雲分佈式架構部署的保險核心系統。

當年老闆很有前瞻性地宣布,要做一個支撐海量業務、面向互聯網場景的保險核心系統時,我們內心都‘慌得一比’。 ”曾參與“無界山”建設的鐘海平坦承說。

鐘海平,現任眾安科技數據庫產品技術負責人。

回憶起“無界山”的建設,他介紹道,2014年4月,“無界山”在眾安保險啟用。在此之前,眾安使用的是一個外采的成熟保險系統。這個系統雖然成熟,但無法應對眾安當時的保險業務(日均百萬級),並不斷出現一些性能、效率和穩定性方面的問題。

最後,這個外採系統遂被拋棄,這才有了完全自研的雲上保險核心系統——無界山。

據鍾海平透露,之所以上雲,是因為傳統IDC無法滿足需求。一般來說,大多數金融公司通過自建IDC來滿足需求。但是,自建IDC機房卻是一個長周期過程:如果完全從土建開始,傳統的IDC建設週期為2年。即使採用改造現有廠房的方式,IDC建設週期依然長達6-8個月。

雖然我們做的是保險,但卻是互聯網保險,要面對瞬息萬變的互聯網場景,傳統長周期的IDC建設無法滿足我們彈性擴展的需求,而云正是一個很好的方案。 ”他說。

數據庫管理服務平台:雲上數據庫實踐和探索

2019年上半年,怀揣著“科技賦能保險”的願景,鐘海平轉入眾安保險全資子公司——眾安科技。

他表示,“因互聯網保險領域廣泛的業務實踐,眾安在數據庫領域一直保持創新,通過數據庫全生命週期服務管理來保障業務的連續性。”進入眾安科技後,他帶領團隊在數據庫上做了這些事:

一是產品化改造了原來DBA團隊內部孵化項目,推出了數據庫管理服務平台——綠洲。希望將此前沉澱下來的經驗,賦能更廣泛的企業。

二是從安全和運營兩方面,擴展了既有數據庫的服務能力

“安全”上,在數據庫DevOps研發流程中額外抽像出“安全員”和“審計員”兩種角色,配合“DBA”角色形成“三權分立”的安全治理。這三種角色貫穿數據庫全生命週期,從而有效地保障了業務的安全生產。

“運營”上,數據庫作為一種特殊的IT服務資源,將傳統主要依賴DBA人員分析數據庫運行狀況的數據,以診斷報告或質量服務的形式,直觀友好地開放給眾安科技業務技術管理人員,幫助他們更從容地應對業務增長和高峰活動。

揭秘眾安科技雲上數據庫實踐和智能運維演進 2

同時,還開放給IT基礎設施管理人員,讓他們在洞悉數據庫服務資源的同時,做好策略部署。

三是數據庫管理融入智能。鐘海平帶領團隊運用大數據和機器學習技術,結合智能算法,對數據庫管理中的潛在資源瓶頸、高峰業務隱患和高風險活動進行實時監控識別、趨勢預測,提供分析診斷、應急阻斷、自適應或輔助決策。

四是推進數據庫中間件領域的研發。為屏蔽數據庫複雜的部署環境和保障服務連續性,讓眾安科技的應用程序更便捷透明接入數據庫服務。

在眾安保險積累了五六年的數據庫經驗,如今轉戰眾安科技,鐘海平總結道,“我們在天然匹配眾安科技對內外部金融相關賦能業務保障外,更加融合科技能力,讓數據庫管理的質量不再依賴DBA的個人經驗,讓科技的保障更普世、賦能。”

據悉,2019年,眾安整個集團數據庫服務保障業務連續性全面達到99.99%,同時未發生任何數據庫安全事件

並且,鐘海平還表示,“對內部實踐中價值突顯的項目,我們都會孵化成對外輸出的產品,比如綠洲。”

目前,他正帶領團隊在數據庫方面也在探索新的可能性。

眾所周知,數據庫作為一種特殊的IT服務資源,其服務的保障質量過多依賴於DBA的個人經驗,一些關鍵問題的響應和處理時效很難保障。同時,對於潛在的重大隱患和數據安全風險,嚴苛的管理制度固然可以起到防控作用,但仍容易產生疏漏,也不利於高效迭代,要藉助智能手段盡可能地前置發現問題所在。

此外,現在有很多采用Paxos/Raft協議打造的分佈式數據庫產品,隨之而來的是數據庫集群維護體量更大、複雜度更高。

針對這些問題,眾安科技的數據庫團隊正在探索,如何借助高度自動化和智能化去充分應對企業,包括超大規模分佈式架構數據庫的全生命週期,通過自愈、自治的方式去保障業務連續性

通常企業內部數據存儲產品多樣,比如MySQL、MongoDB、Oracle和HBase等,每種數據庫存儲產品接入和使用方式不一樣,對使用方和維護方都有一定成本;面對高速發展的互聯網業務通常需要運營人員快速做出決策,但大多輔助決策的數據需要通過ETL工具導入到傳統大數據體系運算處理,不僅無法保證時效,而且增加人力和資源成本

鐘海平表示,他們還在探索“面對企業內部多樣的數據存儲產品,在這些數據存儲服務保障各自原有應用服務外,如何結合智能調度,提供統一抽象的入口數據服務,從而具備混合計算的能力。”

從人工到雲端智能化運維

如果說數據庫是眾安保險系統的關鍵支柱之一,那麼智能運維則是堅強的“後盾”。

揭秘眾安科技雲上數據庫實踐和智能運維演進 3

與鍾海平類似,梁亮是在2014年加入眾安保險,負責業務運維工作。 2019年,他從眾安保險轉入眾安科技,擔任智能運維產品的技術負責人。

在他看來,智能運維(AIOps)這個概念提出來有好幾年,但不是所有公司都能支持去做這件事。目前,有能力去實踐或嘗試的,幾乎都是互聯網的頭部企業。

“基本上,智能運維是要達到一定的自動化階段後,才會有‘智能’這個想法。”梁亮說。

據他介紹,眾安保險在運維體系上經歷了三個階段:

第一階段是2013年到2014年,人力運維,手工時代。人工去操作所有的變更、發布、上線和配置。

第二階段是2015年,眾安逐步把之前人工做的一些事情形成腳本。然後,又將這些腳本收集起來,實現了運維繫統的工具化,比如是發布平台、配置管理系統等。

第三階段,平台化,實現標準化、自動化運維。

據梁亮介紹,“針對項目管理、開發、測試、運維等不同角色的日常工作,我們開發了不同的系統,比如用於上線發布平台,容器管理平台,自動化測試平台,配置管理系統,監控及告警系統,運維管道和堡壘機等,通過可視化的流水線、根據不同的場景去使用”。

現在,他們正處於第四個階段,針對一些自動化場景去做智能化的嘗試。

由於在運維領域深耕多年,有著豐富的行業經驗,梁亮認為,在傳統的自動化運維體系中,重複性運維工作的人力成本和效率問題得到了有效解決。

但在復雜場景下的故障處理、變更管理、容量管理、服務資源過程中,仍需要人來掌控決策的過程,這阻礙了運維效率的進一步提升。而 AI 方法的引入,使得機器能夠代替人來做出決策,從而讓真正意義上的實現完全自動化成為了可能。

而眾安保險為何要去嘗試智能運維。他給出自己的回答:我們在實際中會遇到一些痛點,因為整個業務系統微服務化後,架構複雜、告警頻繁,而這些問題通過傳統的運維方式已經無法得到有效得到解決,尤其是在大數據複雜場景下,對運維有了更高的要求。

“比如說告警處理、智能化故障診斷、異常點檢測、根因分析等智能運維核心的問題,我希望在這些場景上通過跟人工智能、機器學習和深度學習等學科的融合,去使我們的運維工作更加高效、業務系統更加穩定。”他說。

智能運維落地的兩個關鍵

對企業而言,真正想要去落地智能運維,梁亮提出兩個關鍵點:

一是數據和工具。監控系統是運維繫統的基礎,監控系統需要具備快速蒐集和處理數據的能力,“我們要有數據才能去做數據分析。這是一個比較大的事情。因為沒有數據去做相應的分析,就無法把它變成人或機器能讀懂的信息。”他說。

二是人員或能力。建設整個自動化運維體系,乃至智能化運維體系,企業需要的人員,它是一個比較複合的人力結構。它要求團隊人員,不僅僅要有運維的一些經驗,包括運維開發,還需要一些平台的研發,包括大數據平台、機器學習平台,“我們需要有這種平台去支持我們的運維開發做研發”。此外,企業還需要具備一些的能力,去優化現有的算法和提高效率。

具體到眾安科技智能運維的具體落地產品是三個“機器人”:

首先是守護機器人。通過監控系統採集的數據,守護機器人會做一些離線和實時的數據分析,然後從運維知識庫或運維策略、調度策略中產生對異常的一些診斷分析。

比如,當業務場景碰到很多的一些異常事件和告警,需要對它做分析,這就需要守護機器人。

第二是運維助手機器人。傳統的運維是從黑屏命令行很複雜,運維人員需要上服務器,查看日誌或命令。眾安科技開發了一個運維助手,用一種命令或可視化的方式下達指令。

第三個機器人是攻擊機器人。它是為了檢驗日常業務系統的穩定性。 “按照一些特定規則,我們希望看到它去業務場景‘搗亂’,來測試整個業務系統或智能運維體系的健康度。”梁亮解釋說。

智能運維的真正價值是什麼?

在梁亮看來,智能運維的真正價值在於提高整個運維效率,提升系統的穩定性。

首先,提升整個業務系統的可用性。這通過各項業務指標的檢測、異常事件的診斷和故障的一些修復來體現;其次,成本優化。對業務系統提前做容量規劃,包括對現有業務系統運行的資源做一個判斷。 “這能建議我們去做一些性能優化,包括調度的合理分配”。

比如,在波峰或波谷時,採取相應調度,去調度我們的計算資源分配。最後,性能優化。有些業務系統,是否滿足當前的業務場景,如果不滿足,要去做一些性能優化。

此外是數據上。梁亮表示,“我們要把產生的一些監控數據去做數據分析。因為智能運維不是替代人,它不能完全取代人的工作,大量工作依然需要運維同學去做,包括整個平台建設相關的、運維知識庫的構建等。需要運維團隊、運維開發團隊、人工智能團隊、合力去做這件事,從而提高整體的效率。”

總的來說,所有業務系統總會發生問題,總會每天遇到那麼多問題,那麼多故障去處理。

這麼多的問題,如果我們通過智能運維,利用AI技術去幫我們分擔,可以減少我們出錯的一些概率,提升整個系統的穩定性。 ”他說。

通過積累的用戶和數據,以及數年沈淀的技術能力,眾安科技正在用技術去改造傳統保險,讓科技賦能金融。