一、 背景介紹
隨著證券公司在雲計算、大數據、AI、區塊鏈等技術領域的不斷投入,企業業務快速變化、用戶環境日益複雜,而且版本迭代頻繁、信息交互的不通暢都成為IT運維「越做越難」的因素。
傳統CMDB還處於價值發揮的初級階段,主要高頻使用場景是查詢資產信息和支撐基礎的監控管理。大部分的配置數據還是通過人工進行維護,數量龐大且變化頻繁,人工維護成本高昂。用戶一旦發現數據不準,很容易放棄使用CMDB。所以,實現自動化數據維護,是建設CMDB的底座。
傳統CMDB通過資產盤點、抽樣等方式來檢查數據質量,耗費人力,無法有效及時發現數據質量問題。破解困局,實現自動化檢查數據質量,是應用CMDB的動力。
傳統CMDB在表單和拓撲圖展示方面存在易用性不足、對用戶不友好等問題,難於運營。所以,利用可視化技術提升數據展現能力,是運營CMDB的方向。
同時公司內部很多複雜場景化問題需要解決:
電信公司通知我們專線故障,需要在某個時間點維修,我們如何快速查出影響了哪些業務系統,並同時告知應用負責人?公司準備對某個網絡區域的接入交換機進行混沌工程試驗,怎麼查出此次試驗的爆炸半徑(即影響的設備和業務系統)?公司交易系統進行了常規的擴容操作,如何保證在監控系統中沒有遺漏設備監控的覆蓋?資產配置信息散落在各處,例如傳統的ITOM平臺和各業務系統通過人工維護的Excel,如何提供準確、一致的數據服務?傳統的IT資源數據展現方式都是表格的方式,在企業IT架構如此複雜的今天,如何利用可視化技術讓IT數據中心和架構變成一張張「數圖連通」且能自動更新的地圖? 為了解決上述問題,必須要找到新的建設方向以及突破口,在調研和考察了不同領域的成果後,我們發現「數字孿生」具有的四大特點完美的解決了CMDB建設過程中的困境,所以我們提出了基於數字孿生的IT資源可視化管理,並總結了「三新」理念,重塑平臺體系。新思維:改變傳統的配置管理認知,導致管理範圍容易蔓延。我們認為配置管理應該往IT資源管理轉變,強化數據驅動思維。新理論:IoT領域在數字空間建立模型,通過模型反映真實世界。我們認為CMDB建設也應該按照保真性、實時性、互操作性、閉環性的特點來建設,強化數位化理論。
新技術:利用可視化技術實現從宏觀到微觀的全維度對象數位化;利用動態感知技術,重新定義IT資源管理,強化科技技術。
二、 何謂數字孿生
調研發現在IoT領域有一個新詞頻繁的出現:數字孿生,於是去研究何為數字孿生。「數字孿生」是具有數據連接的特定物理實體或過程的數位化表達,該數據連接可以保證物理狀態和虛擬狀態之間的同速率收斂,並提供物理實體或流程過程的整個生命周期的集成視圖,有助於優化整體性能。最早由美國空軍研究實驗室提出了Digital Twin(數字孿生)的概念,由美國國防部提出利用數字孿生技術用於航空航天飛行器的健康維護與保障。首先在數字空間建立真實飛行器的模型,並通過傳感器實現與飛行器真實狀態完全同步,這樣每次飛行後,根據現有情況和過往載荷,及時分析評估是否需要維修、能否承受下次的任務載荷等。
數字孿生主要有四個特徵:(1)保真性:指描述數字虛體模型和物理實體的接近性;(2)實時性:即以一種計算機可識別和處理的方式管理數據以對隨時間軸變化的物理實體進行表徵;(3)互操作性:數字孿生中的物理對象和數字空間能夠雙向映射、動態交互和實時連接;(4)閉環性:對現實對象或虛擬對象的狀態數據進行監視、分析推理、優化,以便於閉環跟蹤。CMDB也符合上述四個特徵:(1)保真性:指CMDB數據模型描述IT環境的能力,當CI模型的粒度足夠細,CI就和現實對象完全一致了;(2)實時性:指CMDB數據應該與IT環境是一致的,IT環境變化,CMDB數據也要自動變化;(3)互操作性:對CI的編程可觸發對現實IT環境的調整(比如重啟一個伺服器對象,現實伺服器就重啟了),這裡需要實現CMDB與自動化平臺、流程管控平臺的緊密結合;(4)閉環性:對現實對象的任何操作都有日誌記錄,每次軟硬體變更都應留有記錄,支持利用技術手段最大化的自動化檢查數據質量。
下面詳細的講一下CMDB是如何對應這四個特性的:
保真性說的就是配置模型,配置模型的優劣決定了CMDB描述IT環境的水平。總體上,IT資源配置模型被劃分為三個大的層次:應用層、基礎資源層、基礎設施層。每一層都有特定的CI分類和關係,通過CI以及關係就直觀的說明了我們的IT環境。有了好的配置模型,CMDB就有了堅實的根基,接下來要解決數據的實時性問題,就是保證數據在線。
現在的IT環境都比較複雜,主要面臨著以下三個方面的挑戰:
大部分IT對象不會主動上報數據,需要部署探針採集,涉及開通帳號權限和安全訪問策略,會有安全風險和隱患;
IT環境變化快,新對象因為權限或安全隔離原因而無法掃描到,需要通過運營來持續提升自動發現覆蓋率,成本投入高;
不少信息(使用人、應用級別等)是無法通過掃描獲得的;
所以,CMDB的實時性不是簡單的自動發現工具就能解決,確保CMDB數據在線是一個系統性工程,需要流程、CMDB、自動化操作平臺、自動發現平臺的相互配合。就自動發現本身而言,應該多策略、多方案並舉。譬如我們在獲取虛機實時信息的時候,發現通過直接對接vCenter平臺來同步在線數據的成本最低,此時就不需要自動化發現工具。
前面兩點已經對CMDB的模型和數據準確性給出了很好的解決方案,那麼如何保證物理世界裡面的變更能夠實時反映到數字空間(即CMDB)中呢?
應該讓CMDB發揮統籌協調作用,通過梳理IT服務管理過程中的各項活動,形成標準化流程,並將這些流程整合成有依賴關係的作業和作業流,對接自動化服務平臺來自動執行流程,從而減少操作過程中的人為失誤,簡化管理的複雜度,讓流程數據與操作數據保持一致。
最典型的流程自動化場景是應用上線投產管理。我們通過對接自動化裝機平臺和自動化服務平臺,將伺服器上架和應用的部署從傳統的手工操作升級為自動化部署,極大的提升了效率、降低風險。
2.4、閉環性
CMDB與流程自動化結合,除了能夠支撐自動化業務外,還對IT資源管理本身有很大好處,能夠解決兩個資源管理難題:
配置信息難以驗證:大部分運維人員不能全面掌握全公司IT系統的整體架構、變化過程以及相互依賴性。所以傳統人工方式難以驗證配置信息的準確性。配置變更難以追蹤:理想情況下,每次軟硬體升級都應留有記錄,但隨著系統規模及複雜度成本增長,傳統人工維護配置信息的方式已不可持續。我們在IP的管理上運用了動態發現技術,將生產上IP位址的分配、回收、監控等行為都記錄下來,同時通過動態發現來追蹤、管控非法接入網絡的終端設備。
每個公司由於管理水平、發展階段、當前痛點都不一樣,所以CMDB的具體落地方式也不一樣。
經過我們的探索,覺得利用上述數字孿生的特性可以解決最開始我們遇到的幾個場景問題。
場景1:利用保真性解決線路故障通知問題
當電信告知我們,現在有一條連接到主數據中心的專線出現故障,需要通知使用了該專線的應用系統負責人處理。但因為監控系統無法識別使用專線的應用系統負責人,所以將告警全部都報給了網絡團隊。這就給網絡團隊增加了額外的信息傳遞成本,還增加了告警處理時間。如果通過CMDB,將應用系統責任人信息豐富給告警,讓告警及時傳遞給正確的人員,就很好的替網絡團隊解決了這一困擾。
場景2:利用實時性來解決數據不準確問題
CMDB的數據應當與IT環境是保持一致的,但是傳統的建設方式將流程自動化與CMDB更新分離,導致了數據割裂,維護困難。
一方面我們在系統建設時,要求所有的服務請求流程數據必須沉澱到CMDB,讓流程與CMDB聯動,同時部分流程對接自動化服務平臺,讓流程中的配置數據直接通過平臺下發到對應資源上。這樣確保了審批與操作的一致性,解決了數據不準確的問題,同時將運維人員從大量重複性工作中解脫出來,從而有更多時間開展業務優化。
另一方面通過CMDB與自動發現平臺結合,對全網掃描的動態發現,能夠將伺服器與交換機之間的連接關係、伺服器與伺服器之間的連接關係進行動態感知,從而加強了系統對資源的感知能力,利用這種核對機制也能提升數據準確性。
場景3:利用互操作性來解決監控覆蓋問題
以前用戶通過服務請求完成資源申請和部署後,主機運維團隊、應用運維團隊和資料庫運維團隊還需要針對新部署的資源進行監控部署操作。這就有可能因為各種原因導致監控遺漏,而這種遺漏很難發現,因為運維人員並不清楚目前IT環境中到底有哪些伺服器、資料庫和中間件,根本無從統計監控覆蓋率。
現在我們利用CMDB互操作性,統籌協調多流程,通過自動化流程來提升監控覆蓋率。首先將CMDB配置模型與監控指標的關聯,形成層次化的、面向業務的監控指標體系,基於該指標體系,可以開展監控自動部署、監控覆蓋率分析等工作。其次通過CMDB與監控平臺對接,把新上線的設備清單同步給監控系統,並告知這些資源放在哪一類的應用系統下,自動根據模板給新上線資源部署基礎監控。最後給相關應用系統維護人員派發一個監控配置工單,根據實際應用要求調整監控閾值。
場景4:利用閉環性來滿足內部審計要求
在日常的變更管理工作中,分析變更影響,進行變更過程評審是變更管理中的重點。就變更影響分析而言,如果CMDB中的關係數據不夠完善,影響範圍的確認就會變得很難。
我們通過自動發現已經將IT資源間關係數據同步到CMDB,同時支持變更記錄的回溯,從而滿足了內部變更審計的要求。同時通過建立自動化的數據追蹤檢查能力,對配置數據質量進行量化與可視化,幫助數據責任方及時發現數據質量問題。
四、 技術創新性及應用實踐
IT資源主要有幾類數據源:流程數據源、自動化數據源、監控數據源、自動發現數據源。
(1)流程數據源:通過流程流轉輸出的配置數據,比如:應用系統註冊能夠輸出應用系統數據;資源管理流程能夠輸出硬體設備的資產編號、設備型號、物理位置、維保等數據;資源申請流程能夠輸出使用人與IT基礎資源的關係數據;
(2)自動化數據源:通過自動化系統採集配置數據,比如:通過salt,能夠採集系統的主機名、IP位址、MAC地址、作業系統版本、內核版本、內存空間和磁碟空間等信息,此外,各種雲平臺、持續部署工具也能給CMDB提供大量準確的配置數據;
(3)監控數據源:通過監控系統採集到的配置數據,比如:open-falcon就是一款廣泛使用的開源監視工具,能有效監控Windows、Linux和Unix的主機狀態以及交換機路由器等網絡設備。採集數據後,可以供應給CMDB,從而實現配置數據的自動維護。
(4)自動發現數據源:指通過配置自動發現工具,該工具與CMDB緊密結合,可自動掃描是否存在變更後未入庫的配置項、配置庫中指定範圍的配置信息與物理環境是否一致,若存在未入庫的配置項或不一致的配置信息則可自動通知配置審計員開展審計。
自動化的數據維護能力,指通過與這些數據源的集成,實現配置數據的自動更新,從而有效的降低數據維護成本、提升數據準確性。
隨著IT規模和複雜度的逐年上升以及變更發布的日益頻繁,導致CMDB數據準確性面臨重大挑戰。如何更早的發現並解決CMDB的數據質量問題,是提升CMDB消費動力、持續發揮配置數據價值的關鍵。數據質量一般包含下面幾個方面:
完整性檢查:屬性完整性
準確性檢查:是否存在孤立的CI或者重複的CI
合規性檢查:CI間關係是否合規
傳統的通過人工抽檢數據在大規模下是不可行的,一定要利用技術手段儘可能的自動化檢查數據質量。
自動化的數據質量檢查能力,指能夠通過界面靈活配置檢查規則、設置檢查頻率並可視化檢查結果,從而及時反映數據質量現狀,指導IT資源管理改進。
對用戶來說,如何對CI的數據進行篩選和呈現,降低數據的理解成本,才能提升數據消費動力。數據查詢主要有兩種方式:1、基於屬性條件的篩選;2、基於關聯關係的篩選。數據展現的兩種形式:1、表單展現,根據用戶的查看習慣,構建數據表單,比如,根據應用運維團隊的習慣,將應用、資料庫、伺服器三種不同類型的CI組裝成成一個完整的信息界面,減少層層鑽取的繁瑣操作。2、拓撲圖展現,拓撲圖能夠直觀表達應用系統與IT基礎設施之間的影響、依賴關係,如何更有效的生成和管理圖,提升拓撲圖的準確性是當前的主要挑戰。
可視化運營能力,指利用更先進的數據可視化技術,支持靈活設置,滿足不同用戶、不同場景下的數據消費需求。同時要監測CMDB的訪問和使用情況,對數據的消費內容、消費頻率等指標進行量化與可視,幫助配置團隊了解數據的消費現狀和問題,及時制定改進策略。
基於IT資源可視化管理體系,可以建設應用牆、變更牆、IT架構可視化、數據中心可視化、混沌工程等應用實踐。下面介紹一下具體應用情況:
運營保障的事件管理,其核心目標是制定各項保障措施,儘早發現潛在問題,協同高效的完成事件恢復,保證服務質量與可用性水平,並對事件管理進行舉一反三的持續優化。基於IT資源可視化管理,在協同效率方面,從管理與工具層面解決故障處理過程中的信息孤島問題,CMDB在這個部分最典型的使用場景就是告警豐富和故障定位;在故障恢復方面,一切決策以快速恢復業務方式開展,需要通過管理與工具層面對問題定位、影響分析、應急措施、故障升級等環節進行建設,CMDB在其中發揮的作用主要是支撐應急切換;在混沌工程演練方面,故障演練的範圍控制、告警通知、操作權限控制都可以從CMDB中獲取,同時通過架構可視化可以豐富故障演練場景,從而提早發現問題,避免問題演變成了事件。
根據以往的事件處理經驗,大概80%的時間花費在故障定位環節。當發生複雜事件時,往往需要專家現場繪製各類架構圖以幫助不同專業團隊了解故障對象間的交互關係。下圖是為了提高故障定位能力,我們利用IT資源數據建設了可視化的應用牆和應用部署架構,在故障時可幫助運維人員更加直觀的判斷故障域和故障節點。
應用牆
應用部署架構可視化
應用數字孿生的理念將數據中心作為一個整體對象進行了數位化孿生轉換,讓機房運維人員能夠方便的通過電腦程式完成從宏觀上的數據中心園區到微觀上設備乃至板卡的可視化管理。
五、 結語這篇文章初稿寫於CMDB建設期間,也得益於當初與優鍩的交流,今天重新整理並進行了優化,簡單分享一下,如有寫的不對的地方請多包涵。
再想到今年春晚劉德華通過雲錄製參與春晚的數字舞臺表演,以及上一篇文章中提到的南京江北新區提出的2025年建成「數字孿生城市」的目標,是不是表明數字孿生技術的春天已經到來,各種應用場景的落地、實踐也會不斷增加其活力。同時在數字經濟起步和數據成為生產要素的背景下,從對數據的收集、管理,到對數據價值的挖掘、利用,數字孿生解決了數據與業務彼此融合,深入挖掘數據價值,加速企業的數位化進程。
另外,《數字孿生應用白皮書(2020版)》已經發布,該書針對當前數字孿生技術熱點、應用領域、產業情況和標準化現狀進行了梳理分析,大家有興趣可以看看。