1. 程式人生 > >淺談中大型企業CMDB的建設

淺談中大型企業CMDB的建設

作者:嘉維藍鯨產品總監,賀勇


針對CMDB這個主題,之前一直想寫一篇文章來表達我的看法,但是之前一直不敢寫,為什麼?因為CMDB這個主題屬於一提大家都懂,但是深入討論大家都暈菜的一個話題;在2018年實施了幾十個自動化運維專案後,我對CMDB的理解又進一步加深,因此想談談我對CMDB的看法。


關於CMDB的兩種截然相反的論調:

  • CMDB沒什麼卵用,就是國外廠商搞出來忽悠人的,我們企業之前花上百萬上的CMDB,還沒有我使用Excel表格管理方便;

  • CMDB是運維工具建設的核心,只有CMDB建設好了,建設完善了,才能夠建設自動化。


我們不用討論對錯,其實上面兩種觀點在對應的場景下都可能是對的,如你的IT物件不多,IT管理系統和ITSM系統都沒有建設,其實用Excle表格管理比較方便;如果你的IT物件非常多,並且變化快,IT管理系統也非常多,這種情況下,你發現沒有建設好CMDB就會帶來很大的問題。


我們理解的CMDB:

  • CMDB本質上就是一個數據庫,可以開放資料服務給到各個系統來呼叫和訪問的資料庫;

  • CMDB本質上是現實世界的IT系統在數字世界的抽象。打個比方,我們每個人在現實世界是存在的,但是我們在公安系統中抽象出來的存在就是我們的×××資訊,這一串資訊代表了我們的個人資訊,以及我們和家人之間的關聯關係。


理解CMDB之後,現實中我們就不要對CMDB系統提出太高的要求,如要求CMDB系統為我們提供系統架構圖、提供業務訪問呼叫鏈關係等等。


一、站在更高的視角搞明白CMDB

有時候,我特別討厭老外建立一堆的詞彙,看到這些詞彙讓人感到頭暈,比如我剛研究CMDB的時候就瞭解到CMDB相關的詞彙如下:CMDB、CMS、ITSM、ITAM、ITOA、NSM、CM、ACM、SCM……哈哈,怎麼樣,頭暈了吧!另外更讓人鬱悶的是CMDB和CMS都被中文翻譯成配置管理,而CM也被中文翻譯成為配置管理,我當時為了理解這些東西簡直快要崩潰了。


CMDB和CMS,應該是要被放在一起講的。CMS叫配置管理服務,是用來管理和維護CMDB,並且把CMDB資料的能力開放出去給到其他系統使用的服務;


ITSM是IT服務管理,IT服務管理系統需要呼叫到CMDB提供的資料,當然也有純流程的ITSM和CMDB沒有任何的耦合,也有ITSM系統中自己帶了一個CMDB,需要使用者手動維護資料;


ITAM是IT資產管理,資產管理和財務系統有一定的關係,主要關注硬體和軟體資產資訊的管理。ITAM需要使用到CMDB中的資料;


ITOA是IT運營資料分析,如Splunk這種商業軟體和基於開源的ElasticSearch軟體,ITOA可以消費CMDB資料為海量運營資料打上標籤,提供各種資料分析的維度等;


NSM是網路及系統管理,主要是指我們通過監控、自動化等工具對運維物件進行運維管理的額各種操作;


CM、ACM、SCM這三個詞應該放到一起講,CM泛指針對IT物件的配置進行操作管理,如Puppet工具;ACM是應用配置管理,如Apollo配置管理中心;SCM是軟體配置管理,如SVN等;SCM主要是給開發團隊用的,ACM主要是運維團隊使用,因此大家溝通的時候如果不理解就更容易混淆,CM、ACM、SCM事實上和CMDB沒有非常緊密的關係,當然他們也可以去消費CMDB提供的資料。



二、CMDB建設的思路

1、業務需求分析

CMDB的建設也需要做業務需求分析?太扯淡了吧。其實我們在此說的業務不是指企業的“業務”,如快遞業務、機票業務,而是指IT業務。把IT作為業務來看待,IT業務用來支撐企業“真實的業務”;把IT作為一項業務來看待後,可以進行如下的分析:

  • 分析IT業務和“真實業務”之間的關係,如網上銀行業務和網上銀行IT系統是非常緊密耦合的關係,IT系統故障或使用體驗不好,將會直接導致網上銀行使用者的不滿和流失,當然也會導致企業的業務損失(也就是錢的損失);

  • 分析IT業務的現狀和未來的發展,如果說企業的業務正在進行網際網路轉型,那麼你的IT伺服器規模和雲端計算的使用都可能是未來要考慮的;

  • 分析企業對IT管理的需求,我們是做好基礎的監管控,保障穩定即可?還是說我們隊IT服務的質量有更高的要求?

  • 分析企業對IT安全的需求;

  • 分析企業IT採用技術的情況;

  • 分析企業目前IT業務面臨最大的挑戰和問題。


2、組織和人員安排

CMDB如此的重要,CMDB建設的組織和人員到底應該如何安排?根據CMDB落地比較好的企業,我們推薦CMDB建設的發起人應該是由IT運維總監或IT服務部門發起。


CMDB建設的負責人建議有一個人專門負責CMDB平臺的建設及推廣,並且制定CMDB對應的流程和規範,同時建議CMDB團隊應該是由各領域技術團隊和CMDB負責人組成的一個小組。


CMDB的組織和人員也需要根據IT業務發展的不同階段進行動態的變化和調整。


3、工具平臺建設

CMDB建設目前是以下三種現狀混合的狀態,根據我們的客戶調研,我們認為選擇“動態的CMDB”解決方案才是滿足中大型企業未來業務需求的CMDB。

  • 基礎CMDB建設:

    誰說用Excel構建的配置資訊表就不叫CMDB?只要能滿足IT業務的需求、維護方便、具備運維人員都遵守的流程,它就是合適的CMDB;


  • 流程CMDB建設:

    CMDB的建設僅僅是為了滿足釋出、變更等流程的需求,這樣的CMDB建設難度是非常大的,維護準確的配置資訊將會耗費運維人員很多的精力;


  • 動態CMDB建設:

    利用自動化的運維工具,構建動態的CMDB,並且能夠實現配置管理服務的提供;動態的核心是能夠自動的發現配置物件和配置資訊,能夠按照使用者設定的規則進行配置資訊入庫,並且具備很好的開放能力,把CMDB作為服務開放給其他系統進行使用。



三、CMDB的價值

1、CMDB和CMS服務的技術價值

我們用SOA的技術理念去理解CMDB帶來的技術價值:

如果沒有構建CMDB服務,可能存在以下的情形,我需要修改一個配置資訊,可能各個系統都要去做修改,並且還極容易導致配置資料的不準確;

 



如果構建了統一的CMDB,如下圖所示:



2、CMDB和CMS的業務價值

CMDB是IT現實世界在數字世界的抽象,通過這個抽象,我們能夠基於CMDB構建企業IT運營管理的各種場景,如更高效的釋出系統、甚至未來我們實行AIOPS,CMDB仍然是基礎;這就好像,我們把現實中的地理位置,抽象成為地圖,我們可以結合GPS實現導航、送餐等便捷服務,甚至未來實現智慧城市都和電子地圖有非常緊密的關係。



總之,中大型的企業構建一個“動態CMDB”,一定要從自己的IT業務需求出發,合理的安排人員、選擇技術先進的技術平臺就可以實現;另外,完善的CMDB不是通過一個專案,2~3個月就構建出來的,CMDB要具備較強的靈活性,方便管理人員進行擴充套件,通過持續的優化和改善才能夠達到目標;CMDB本身不具備很高的業務價值,只有它的資料被各種運維工具消費才會產生更高的業務價值。