做者:嘉維藍鯨產品總監,賀勇數據庫
針對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系統爲咱們提供系統架構圖、提供業務訪問調用鏈關係等等。spa
有時候,我特別討厭老外建立一堆的詞彙,看到這些詞彙讓人感到頭暈,好比我剛研究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的建設也須要作業務需求分析?太扯淡了吧。其實咱們在此說的業務不是指企業的「業務」,如快遞業務、機票業務,而是指IT業務。把IT做爲業務來看待,IT業務用來支撐企業「真實的業務」;把IT做爲一項業務來看待後,能夠進行以下的分析:
分析IT業務和「真實業務」之間的關係,如網上銀行業務和網上銀行IT系統是很是緊密耦合的關係,IT系統故障或使用體驗很差,將會直接致使網上銀行用戶的不滿和流失,固然也會致使企業的業務損失(也就是錢的損失);
分析IT業務的現狀和將來的發展,若是說企業的業務正在進行互聯網轉型,那麼你的IT服務器規模和雲計算的使用均可能是將來要考慮的;
分析企業對IT管理的需求,咱們是作好基礎的監管控,保障穩定便可?仍是說咱們隊IT服務的質量有更高的要求?
分析企業對IT安全的需求;
分析企業IT採用技術的狀況;
分析企業目前IT業務面臨最大的挑戰和問題。
二、組織和人員安排
CMDB如此的重要,CMDB建設的組織和人員到底應該如何安排?根據CMDB落地比較好的企業,咱們推薦CMDB建設的發起人應該是由IT運維總監或IT服務部門發起。
CMDB建設的負責人建議有一我的專門負責CMDB平臺的建設及推廣,而且制定CMDB對應的流程和規範,同時建議CMDB團隊應該是由各領域技術團隊和CMDB負責人組成的一個小組。
CMDB的組織和人員也須要根據IT業務發展的不一樣階段進行動態的變化和調整。
三、工具平臺建設
CMDB建設目前是如下三種現狀混合的狀態,根據咱們的客戶調研,咱們認爲選擇「動態的CMDB」解決方案纔是知足中大型企業將來業務需求的CMDB。
基礎CMDB建設:
誰說用Excel構建的配置信息表就不叫CMDB?只要能知足IT業務的需求、維護方便、具有運維人員都遵照的流程,它就是合適的CMDB;
流程CMDB建設:
CMDB的建設僅僅是爲了知足發佈、變動等流程的需求,這樣的CMDB建設難度是很是大的,維護準確的配置信息將會耗費運維人員不少的精力;
動態CMDB建設:
利用自動化的運維工具,構建動態的CMDB,而且可以實現配置管理服務的提供;動態的核心是可以自動的發現配置對象和配置信息,可以按照用戶設定的規則進行配置信息入庫,而且具有很好的開放能力,把CMDB做爲服務開放給其餘系統進行使用。
一、CMDB和CMS服務的技術價值
咱們用SOA的技術理念去理解CMDB帶來的技術價值:
若是沒有構建CMDB服務,可能存在如下的情形,我須要修改一個配置信息,可能各個系統都要去作修改,而且還極容易致使配置數據的不許確;
若是構建了統一的CMDB,以下圖所示:
二、CMDB和CMS的業務價值
CMDB是IT現實世界在數字世界的抽象,經過這個抽象,咱們可以基於CMDB構建企業IT運營管理的各類場景,如更高效的發佈系統、甚至將來咱們實行AIOPS,CMDB仍然是基礎;這就好像,咱們把現實中的地理位置,抽象成爲地圖,咱們能夠結合GPS實現導航、送餐等便捷服務,甚至將來實現智慧城市都和電子地圖有很是緊密的關係。
總之,中大型的企業構建一個「動態CMDB」,必定要從本身的IT業務需求出發,合理的安排人員、選擇技術先進的技術平臺就能夠實現;另外,完善的CMDB不是經過一個項目,2~3個月就構建出來的,CMDB要具有較強的靈活性,方便管理人員進行擴展,經過持續的優化和改善才可以達到目標;CMDB自己不具有很高的業務價值,只有它的數據被各類運維工具消費纔會產生更高的業務價值。