【深度好文】迴歸本質,重新認識CMDB ——CMDB項目建設思考

這十幾年來對於CMDB的理解衆說紛紜,特別是近5年來,業界針對CMDB提出了很多新的概念,比如:重新定義CMDB、以應用爲中心的CMDB、企業級CMDB和麪向消費場景的CMDB等等。

之前我對於CMDB的定位、理解和建設也有些許困惑,我去年深度閱讀了由BMC中國公司翻譯的書籍《CMDB分步構建指南》(英文原版《Step-by-Step Guide to Building A CMDB》由BMC美國公司編寫),再加上這幾年和客戶、業界大咖的交流探討,個人對於CMDB的建設有了進一步的理解,現通過對書籍內容的整理並結合自身的思考進行分享,主要圍繞4個話題進行展開:理解CMDB、設計CMDB、實施CMDB和維護CMDB。

理解CMDB

近十幾年來,大部分企業均已建設了CMDB,但還是缺少對CMDB的統一認知。我們就先從CMDB的基礎概念和本質重新思考和理解CMDB。

01CMDB基礎概念     

02迴歸CMDB本質       

從CMDB基礎概念定義中,我們提取出了8個關鍵詞,用來認識CMDB的本質。

邏輯數據庫、配置項信息和配置關係:

這三個方面都比較好理解,而且也有了相對統一的認知,在此不過多的闡述;

全生命週期:

包含全生命週期的配置信息(例如一臺物理服務器從進入機房開始到投入使用,最後下線的整個生命週期)在這點上還是有很多企業難以做到的,個人認爲主要有三個方面的挑戰:

管理流程:缺少統一的電子化流程,在全生命週期中不同的階段使用不同的流程,有紙質化流程的、有走OA流程的,也有走ITSM流程的;

工具系統:缺少統一的工具系統,全生命週期涉及到監控、管理和控制的各個工具系統,這些系統僅僅存儲了自身需要的片面信息,難以實現一體化;

部門協作:部門之間的高效協作是數字化時代面臨最大的挑戰之一,全生命週期會涉及到跨多個部門的協作,包括財務、開發、測試、安全、運維等等。

支持流程:

有句話說“CMDB是數據管道、ITSM是流程管道”,CMDB支持ITSM流程的運轉,並於流程所經之處在CMDB留痕,從而實現全生命週期的信息記錄和審計;

發揮價值:

ITIL4指導原則的第一個就是專注於價值(Focus On Value),CMDB建設之前我們需要思考清楚CMDB的價值是什麼和怎麼發揮價值;

依賴流程、數據準確性:

CMDB的建設至少需要包括數據庫、配置採集和配置管理流程3個方面,而配置管理流程是最爲關鍵的,但也是最容易被忽略的。我見過一些企業建設了配置數據庫,並通過配置採集暫時保障了數據的準確性,然而隨着時間的推移,數據的準確性急速下降,我認爲主要有2個方面的原因:

過於依賴自動發現和採集。首先,IT資源不可能實現100%的自動發現和採集;其次,自動採集的信息不一定是準確的;最後,自動採集到配置信息的變更如何識別是正常變更還是非正常變更?

缺少配置管理流程和變更管理流程。ITIL的黃金法則之一——在沒有完善的變更管理流程之前,不要建設CMDB。往往CMDB項目不長久或是數據不準確,很大部分的原因是缺少管理流程。

03爲什麼需要統一的企業級CMDB

在運維管理工具中,我們可以大致分爲3類:監控類、管理類和操作類。在這些管理工具中都存儲了一些配置信息,監控類包含了主機名、內存、CPU等信息;操作類包含了IP地址、操作系統、登錄方式等信息;管理類包含了主機別名、負責人、SLA等信息;這些管理工具的信息看起來似乎已經足夠支持工具本身的使用了,那我們爲什麼還需要統一的企業級CMDB呢?

缺少“物”的唯一標識

監管控的系統存儲的唯一標識是不太一致的,比如Zabbix監控就以主機名來標記的,操作類的可能以IP地址來識別的,管理類的可能以別名來標記的;

缺少“物”的完整信息

每個工具系統僅存儲自身所需要用的片面信息;

缺少“物”的關係信息

IT對象的關係信息同樣分散在多個平臺。

在IT運維管理中的核心就是具體的“事”,而“事”的對象是“物”,如果缺少統一的“物”的視角,更不用談具體的“事”了。在數字化時代IT管理的“物”就是“業務”,那麼如何建立“業務”的視角,實現“業務”的IT管理?——爲IT管理對象建立一個身份證和戶籍系統。

設計CMDB

在對CMDB有了統一認知和定位後,我們就可以着手開始設計CMDB了。往往很多企業在開始確定了CMDB廠商後纔開始CMDB的設計,這點我個人是不建議的;我認爲更佳的方式是在選擇CMDB廠商之前就應該根據企業的真實情況做好設計,當然在這個階段可以引入外部專家和顧問。

爲此我整理設計CMDB的10個步驟,考慮到篇幅我僅選擇我認爲比較重要的3個步驟進行闡述。

01步驟3:定義CMDB支持場景       

我們需要在項目一開始就確定CMDB支持的場景和流程,然後纔是考慮CMDB需要納管哪些配置信息,小步快跑,而不是一開始就將所有數據都納入CMDB的管理。

這裏需要謹記的是:永遠不要停止確定利益相關者的工作和需求,應該綜合考慮不同部門和不同崗位對CMDB的需求。

02步驟6:定義配置項(CI)關係     

從應用視角,我們可以把IT資源的關係分爲三類:

應用與應用:

應用服務之間的調用關係,一般是通過APM和BPC等工具實現調用關係的發現;

應用與基礎設施

應用系統與所在的運行環境和基礎設施的關係;

應用與基礎組件

應用系統與所依賴的數據庫、中間件的關係。

業界的CMDB廠商都提供了多種CI關係類型,包括:依賴於、運行於、屬於、安裝於、包含等等。值得注意的是:過多的關係類型可能會無法控制,不容易被用戶所理解。

正如上圖的例子,虛擬機與VMware宿主機的關係應該屬於哪一種?你會發現無論使用哪一種似乎都是正確的,所以我們建議是將關聯關係進行簡化爲2種——父子關係和連接關係。

03步驟7:定義配置項屬性的管理     

在管理配置項屬性時會發現一些屬性是通用的,比如:IP地址、所屬系統和管理員等,我們可以通過屬性繼承的方式來簡化屬性的管理。書籍《CMDB分步構建指南》提到了簡化配置屬性管理的2種繼承方式。

僅繼承上級(下圖左):下級屬性默認會繼承上級的屬性,只需在上級的基礎上增加個性化的屬性即可;

僅繼承頂級(下圖右):下級屬性僅繼承頂級屬性。

實施CMDB

通過CMDB的理解和設計形成標準規範和準則,那麼在實施階段就是水到渠成的事情了,同樣我也是整理了10個步驟來完成CMDB的實施工作。在此,選取3個步驟進行闡述。

01步驟7:定義數據填充順序     

數據填充順序遵循的基本原則是:優先納管容易發現的數據;其次是集成現有的系統來更新數據;最後對於複雜的組件先放一放,後期處理。

02步驟8:定義數據調和規則     

“物”的唯一標識在數據調和階段就發揮作用了,需要通過唯一標識識別不同的數據源,再根據數據源的優先級進行調和。

需要注意的是,CMDB系統上線後,我們不建議將採集到的數據自動錄入到CMDB數據庫中(首次錄入除外),一方面是採集不代表就是準確的;另一方面,單靠採集我們無法識別是授權的變更還是非授權變更。

03步驟9:合併和標準化測試數據     

合併和標準化測試數據,主要需要考慮2個方面的規則;

優先級規則:

爲不同的數據源分配不同的優先級權重;

標準化規則:

在調和活動之前,數據需要被標準化爲CMDB所存儲信息相符合的統一格式。

維護CMDB

CMDB實施階段的質量決定了CMDB建設完成後的數據準確性,但要保證CMDB長久有效和準確,CMDB配置維護流程和體系的建設就極爲重要了。在此,我選取維護階段的3個步驟進行闡述。

01步驟6:部署控制點     

在配置信息錄入CMDB數據庫之前,有沒有一種實踐可以來做數據的雙重校驗和核對?——部署控制點,應該部署檢查和控制點以確定收集到的數據的準確性和完整性。

例如對於變更的場景,只有在變更流程的信息和自動採集到的信息一致時,才能認爲是正常的變更(或計劃內變更),此時才能更新CMDB數據;否則將視爲非正常變更,形成差異報表供手工確認。

02步驟7:實現每個CI分類的生命週期管理     

回顧文章開始CMDB的概念,CMDB是包含全生命週期的配置信息的,識別全生命週期的配置信息可以分爲幾個步驟:

識別CI分類在生命週期的每一個步驟;

識別CI在每個步驟涉及哪些部門、崗位和人員;

識別CI在每個步驟涉及哪些屬性的更新。

ITIL最佳實踐之一:越接近生命週期的開始,獲得的利益越大。這個很好理解,DevOps在2009年剛提出來的時候更多是關注在開發(Dev)和運維(Ops),而現在已經擴展到BizDevSecTestOps,更加接近於業務端到端的全過程管理。

03步驟9:設定度量與指標     

要想持續改進和優化CMDB數據質量,我們得先度量它,定義CMDB質量相關的度量指標,並形成統計報表。

多維度統計信息:

業務視角和管理視角的CI統計信息和變化趨勢;

未授權CMDB變更百分比:

結合變更管理流程,記錄未授權和授權的變更信息;

CI完整性檢查:

通過IP網段掃描存活IP與CMDB數據庫進行匹配;

通過查詢VM是否關聯到宿主機;

總結

沒有“萬能藥”,但指導原則和模型是有的

以前我還在思考有沒有標準的通往成功的職業道路規劃,當然這是不可能存在的。CMDB的建設也是如此——沒有“萬能藥”。但我們可以借鑑業界實踐、指導原則和模型,並結合企業自身情況,找到屬於自身的道路和方法。

上圖是ITIL 4指導原則和持續改進模型的映射表格,在採用改進模型的同時遵循7大指導原則。

以上是我個人對於CMDB項目建設的部分思考,歡迎一起交流和探討。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章