云計(jì)算時(shí)代,為何要重提CMDB
? ? ? ?前段時(shí)間,領(lǐng)導(dǎo)丟過來了一個(gè)已經(jīng)做了10多年、經(jīng)過了至少5個(gè)廠家的不斷失敗的CMDB項(xiàng)目,真天降鐵餅了。從事運(yùn)維服務(wù)的IT背鍋俠,對(duì)于CMDB一定都是如雷貫耳,但是對(duì)筆者這種軟件開發(fā)及行業(yè)解決方案出身的程序猿及產(chǎn)品汪來說,CMDB是個(gè)什么鬼東西啊,對(duì)于產(chǎn)品任務(wù)基本一臉懵逼,也不知道為何要做這樣一個(gè)產(chǎn)品。說來其實(shí)筆者也當(dāng)局者迷,人在廬山中,不認(rèn)廬山真面目罷了。
? ? ? ?筆者在2014年底糊里糊涂的從傳統(tǒng)行業(yè)解決方案轉(zhuǎn)型云計(jì)算,短短的幾年間,云計(jì)算已經(jīng)從百花齊放到今日寡頭市場(chǎng)格局,除了AWS、阿里云等云計(jì)算寡頭,大部分自行研發(fā)建設(shè)云計(jì)算的企業(yè)基本都是內(nèi)部自?shī)首詷?,難以向外進(jìn)行市場(chǎng)的拓展。業(yè)內(nèi)非寡頭企業(yè)的團(tuán)隊(duì),為了能繼續(xù)在云市場(chǎng)內(nèi)分一杯羹,紛紛轉(zhuǎn)身為MSP(云管理服務(wù)提供商,Cloud Managed Service Provider),名字聽著還是挺高大上的,但是在商業(yè)模式上傳統(tǒng)IT運(yùn)維服務(wù)外包類似。
? ? ? ?雖然商業(yè)模式上云MSP和傳統(tǒng)的IT運(yùn)維服務(wù)外包類似,但是MSP服務(wù)商卻在技術(shù)、產(chǎn)品及運(yùn)維理念上有著一定的優(yōu)勢(shì),也就是說并不是任何一個(gè)傳統(tǒng)的IT服務(wù)外包商就能夠提供MSP服務(wù)的。具體如下:
技術(shù)來看:大部分MSP商家基本具備openstack云平臺(tái)的研發(fā)、實(shí)施及運(yùn)維能力,對(duì)云計(jì)算技術(shù)有深刻的了解,能夠快速掌握其他云平臺(tái)技術(shù)的集成和運(yùn)行,也能快速了解各個(gè)云平臺(tái)的優(yōu)缺點(diǎn)。這是傳統(tǒng)運(yùn)維服務(wù)商往往難以具備的。
產(chǎn)品來看:傳統(tǒng)IT運(yùn)維商具備都是采用甲方采購(gòu)HP等大廠家的CMDB產(chǎn)品,遵從ITIL原則,做了很多笨拙、繁瑣的工作,投入產(chǎn)出比嚴(yán)重失調(diào)。在云計(jì)算已經(jīng)為主導(dǎo)的今天,這些CMDB產(chǎn)品基于傳統(tǒng)的企業(yè)IT架構(gòu)出發(fā),難以適應(yīng)多云架構(gòu)環(huán)境,無法適應(yīng)業(yè)務(wù)的快速變化。傳統(tǒng)CDMB、ITSM主要服務(wù)于穩(wěn)態(tài)運(yùn)維,管理流程繁雜冗長(zhǎng),是典型的IOE式產(chǎn)品,價(jià)格昂貴不說,還產(chǎn)品操作繁雜,存在眾多人工維護(hù)的無用配置項(xiàng),就連操作手冊(cè)也苦澀難讀,在互聯(lián)網(wǎng)角度來看簡(jiǎn)直就是反人性的產(chǎn)品?,F(xiàn)在的MSP商家借鑒了傳統(tǒng)以ITIL為準(zhǔn)的穩(wěn)態(tài)運(yùn)維經(jīng)驗(yàn)、也考慮了以devops為準(zhǔn)的敏態(tài)運(yùn)維需求,構(gòu)建了輕量級(jí)的CMDB產(chǎn)品,以更高的投入產(chǎn)出比快速占領(lǐng)了市場(chǎng)。
理念來看,傳統(tǒng)IT運(yùn)維人員真是深受穩(wěn)態(tài)運(yùn)維的嚴(yán)重影響,總希望所有操作都按照自己熟悉的、既定的流程有條不紊的完成、別出任何差錯(cuò),這種工作模式和工作習(xí)慣,保障傳統(tǒng)IT運(yùn)維的穩(wěn)態(tài)功不可沒,但是它們也使得傳統(tǒng)運(yùn)維人員對(duì)所有的新技術(shù)、新產(chǎn)品都有一種莫名的抵抗,擔(dān)心這些新的東西會(huì)出現(xiàn)錯(cuò)誤。MSP商家卻大都從云計(jì)算研發(fā)轉(zhuǎn)型過來,團(tuán)隊(duì)對(duì)新技術(shù)、新產(chǎn)品都有較好的接受能力,能夠快速適應(yīng)云計(jì)算時(shí)代對(duì)運(yùn)維的新要求。
隨著云計(jì)算越來越普及,企業(yè)原來以內(nèi)部IDC機(jī)房為載體的IT基礎(chǔ)架構(gòu)也逐漸發(fā)生了很大的變化,企業(yè)的業(yè)務(wù)系統(tǒng)除了部署在原來物理架構(gòu)外,可能部署在VMware私有云、openstack私有云、阿里云公有云、AWS公有云、騰訊云、Azure等等各種云平臺(tái)之上,形成了更加復(fù)雜在多云IT基礎(chǔ)架構(gòu)。傳統(tǒng)的信息部運(yùn)維團(tuán)隊(duì)或者IT服務(wù)商的技術(shù)能力及產(chǎn)品都難以對(duì)多云架構(gòu)進(jìn)行更好的運(yùn)維管理,使得這些新形成的MSP廠家有了更加廣闊的市場(chǎng)。這些MSP廠家在新的市場(chǎng)群雄逐鹿的過程中,除了云計(jì)算技術(shù)核心能力外,相關(guān)配套產(chǎn)品也是其構(gòu)成核心競(jìng)爭(zhēng)優(yōu)勢(shì)的重要組成部分。在相關(guān)的配套產(chǎn)品中,適應(yīng)于多云架構(gòu)及“雙態(tài)運(yùn)維”(穩(wěn)態(tài)運(yùn)維、敏態(tài)運(yùn)維)的CMDB是其中的拳頭型產(chǎn)品。由此,已經(jīng)老掉牙的CMDB又重新以更加吸引眼球的方式出現(xiàn)在我們的眼前。
歸根結(jié)底,一句話“一切都是市場(chǎng)的需求”。
? ? ? ? 對(duì)于運(yùn)維行業(yè)軟件,相信還是比較小眾的。在開始前還是簡(jiǎn)要的從百度百科科普一下,比如像前一個(gè)月前的筆者,基本不懂啥是ITIL、啥是ITSM、啥是CMDB。
ITIL、ITSM、CMDB簡(jiǎn)介
ITIL概述
ITIL即IT基礎(chǔ)架構(gòu)庫(kù)(Information Technology Infrastructure Library, ITIL,信息技術(shù)基礎(chǔ)架構(gòu)庫(kù))由英國(guó)政府部門CCTA(Central Computing and Telecommunications Agency)在20世紀(jì)80年代末制訂,現(xiàn)由英國(guó)商務(wù)部OGC(Office of Government Commerce)負(fù)責(zé)管理,主要適用于IT服務(wù)管理(ITSM)。ITIL為企業(yè)的IT服務(wù)管理實(shí)踐提供了一個(gè)客觀、嚴(yán)謹(jǐn)、可量化的標(biāo)準(zhǔn)和規(guī)范。
它和運(yùn)維(IT服務(wù)管理)相關(guān)性很大,傳統(tǒng)的運(yùn)維完全就是以ITIL來藍(lán)本構(gòu)建的。ITIL主要包括六個(gè)模塊,即業(yè)務(wù)管理、服務(wù)管理、ICT基礎(chǔ)架構(gòu)管理、IT服務(wù)管理規(guī)劃與實(shí)施、應(yīng)用管理和安全管理。其中服務(wù)管理是其最核心的模塊,該模塊包括“服務(wù)提供”和“服務(wù)支持”兩個(gè)流程組。
傳統(tǒng)企業(yè)(銀行、電信、制造、航空等等傳統(tǒng)企業(yè)集團(tuán))業(yè)務(wù)相對(duì)穩(wěn)定,對(duì)應(yīng)的IT支撐架構(gòu)也是穩(wěn)定支持生產(chǎn)運(yùn)行為主要目標(biāo),為此,內(nèi)部IT服務(wù)流程也一個(gè)嚴(yán)格的、緩慢冗長(zhǎng)的管理流程。而互聯(lián)網(wǎng)企業(yè)日新月異的業(yè)務(wù)變化,使得其IT支撐架構(gòu)也是快速而敏捷的,笨拙緩慢的ITIL無法滿足互連網(wǎng)企業(yè)的需求,因而,更加偏向使用DevOps。
?ITSM概述
ITSM (IT Service Management,IT服務(wù)管理 ),它是一套幫助企業(yè)對(duì)IT系統(tǒng)的規(guī)劃、研發(fā)、實(shí)施和運(yùn)營(yíng)進(jìn)行有效管理的高質(zhì)量方法。它結(jié)合了高質(zhì)量服務(wù)不可缺少的流程、人員和技術(shù)三大要素 ---標(biāo)準(zhǔn)流程負(fù)責(zé)監(jiān)控IT服務(wù)的運(yùn)行狀況,人員素質(zhì)關(guān)系到服務(wù)質(zhì)量的高低,技術(shù)則保證服務(wù)的質(zhì)量和效率。對(duì)于傳統(tǒng)行業(yè)的開發(fā)人員來說,對(duì)應(yīng)ITSM最直接的體驗(yàn)就是提交變更的繁瑣流程。
CMDB概述
CMDB --Configuration Management Database 配置管理數(shù)據(jù)庫(kù):存儲(chǔ)與管理企業(yè)IT架構(gòu)中設(shè)備的各種配置信息,它與所有服務(wù)支持和服務(wù)交付流程都緊密相聯(lián),支持這些流程的運(yùn)轉(zhuǎn)、發(fā)揮配置信息的價(jià)值,同時(shí)依賴于相關(guān)流程保證數(shù)據(jù)的準(zhǔn)確性。在實(shí)際的項(xiàng)目中,CMDB常常被認(rèn)為是構(gòu)建其它ITIL(Information Technology Infrastructure Library,IT基礎(chǔ)架構(gòu)庫(kù))流程的基礎(chǔ)而優(yōu)先考慮,ITIL項(xiàng)目的成敗與是否成功建立CMDB有非常大的關(guān)系。
通俗淺薄的解釋一下CMDB
從上述百度百科的定義來看,還是有些苦澀難懂的。我們從應(yīng)用場(chǎng)景切入來理解CMDB,可能更加容易一些:
場(chǎng)景一:應(yīng)用運(yùn)維工程師從業(yè)務(wù)線/產(chǎn)品線的角度去,去查看某個(gè)業(yè)務(wù)線/產(chǎn)品線有多少個(gè)應(yīng)用系統(tǒng)、哪些是核心的應(yīng)用系統(tǒng),這些應(yīng)用系統(tǒng)是不是部署那些主機(jī)上,是否存在單點(diǎn)問題,資源是否合理分布等等。在一般的運(yùn)維過程中,每個(gè)應(yīng)用系統(tǒng)的信息都存在,但這些關(guān)鍵信息可能都是散亂的,比如用物理機(jī)部署的可能在某一個(gè)工具上維護(hù),用云主機(jī)部署的卻是在云平臺(tái)上進(jìn)行維護(hù),給整體的分析帶來了不便,使得無法從更高的業(yè)務(wù)角度來判斷和分析資源情況。
場(chǎng)景二:在日常的運(yùn)維管理中,我們需要面臨很多的IT資源,有物理形態(tài)的,比如機(jī)房、機(jī)柜、網(wǎng)絡(luò)設(shè)備、安全設(shè)備、物理服務(wù)器、SAN存儲(chǔ)、刀箱等等;有數(shù)字形態(tài)的,比如云平臺(tái)、云主機(jī)、IP、操作系統(tǒng)、中間件、數(shù)據(jù)庫(kù)、代碼等等。其中的任何一個(gè)資源出現(xiàn)故障,可能都會(huì)影響到業(yè)務(wù)的穩(wěn)定運(yùn)行,那么我們?cè)趺磥斫y(tǒng)一管理這些IT資源、怎么來理清這些資源之間的關(guān)聯(lián)關(guān)系、它們之間又是如何相互影響的。
CMDB的提出就是要解決這些問題的,以提高運(yùn)維的效率、甚至以達(dá)到智能運(yùn)維的目的。從管理角度看,CMDB的核心就是對(duì)這些IT資源進(jìn)行管理。為了進(jìn)行有效的管理,CMDB有這些IT資源必要的屬性信息(注意不是最完整、最全面的信息),及這些IT資源之間是如何相互關(guān)聯(lián)、相互影響的關(guān)聯(lián)信息。從運(yùn)維角度,可以一句話來簡(jiǎn)單描述就是:
“CMDB知道一個(gè)IT資源的必要信息,也知道這個(gè)IT資源發(fā)生變動(dòng)后,會(huì)影響到哪些IT資源及業(yè)務(wù)”
在CMDB中,還有兩個(gè)比較費(fèi)腦細(xì)胞的概念就是“模型”及“關(guān)聯(lián)關(guān)系”:
?模型:我們通過模型定義各個(gè)資源對(duì)象(可以理解為:對(duì)于這些資源對(duì)象,我們需要關(guān)注哪些信息--類似數(shù)據(jù)庫(kù)中的表有哪些字段一樣)。
關(guān)聯(lián)關(guān)系:定義說明這些對(duì)象之間的關(guān)聯(lián)關(guān)系,比如應(yīng)用和云主機(jī)是運(yùn)行關(guān)系,某某應(yīng)用運(yùn)行在某某云主機(jī)上,某某云主機(jī)運(yùn)行了某某應(yīng)用。
這就是CMDB的模型之說,文章的后面我們通過實(shí)際例子來正式說明。定義好了這些模型、關(guān)聯(lián)關(guān)系后就要把這些模型實(shí)例化,類似我們往表中插入一行數(shù)據(jù)一樣,這行數(shù)據(jù)有主鍵key、各個(gè)字段屬性、各個(gè)外健等等。
下面,我們將從產(chǎn)品理念、產(chǎn)品架構(gòu)、資源模型、原型設(shè)計(jì)、應(yīng)用場(chǎng)景方面進(jìn)行來說明我們?nèi)绻麡?gòu)建一個(gè)符合多云架構(gòu)、符合“雙態(tài)運(yùn)維”的輕量級(jí)CMDB產(chǎn)品。
產(chǎn)品理念和目標(biāo)
產(chǎn)品理念:以應(yīng)用場(chǎng)景為驅(qū)動(dòng),建立高效化、輕量化的運(yùn)維數(shù)據(jù)樞紐。
產(chǎn)品目標(biāo):構(gòu)建符合多云架構(gòu)、符合“雙態(tài)運(yùn)維”的輕量級(jí)CMDB,并形成運(yùn)維數(shù)據(jù)中心樞紐,該數(shù)據(jù)樞紐能夠支持多種業(yè)務(wù)場(chǎng)景,比如資產(chǎn)管理、資源可視化、運(yùn)維監(jiān)控、自動(dòng)化運(yùn)維、多云管理等等。
產(chǎn)品框架規(guī)劃設(shè)計(jì)
CMDB產(chǎn)品功能規(guī)劃上,我們做了一個(gè)最簡(jiǎn)化的組成,即由模型管理、數(shù)據(jù)中心、資源管理、采集平臺(tái)、資源可視化等組成,具體如下:

CMDB 在功能架構(gòu)上由如下核心內(nèi)容組成:
模型管理:
模型定義:通過模型把需要管理的IT資源進(jìn)行定義,描述IT資源的各種信息屬性,以便用戶能快速、清楚的了解資源情況。
關(guān)聯(lián)關(guān)系:預(yù)先定義各種關(guān)聯(lián)關(guān)系(比如運(yùn)行、歸屬、組成、屬于、默認(rèn)關(guān)聯(lián)、使用等),然后通過這些關(guān)聯(lián)關(guān)系來描述各個(gè)模型之間的相互關(guān)系,比如某某應(yīng)用運(yùn)行在某某主機(jī)上。
模型拓?fù)洌和ㄟ^拓?fù)鋱D形能夠直觀、便捷的對(duì)模型之間的關(guān)聯(lián)關(guān)系進(jìn)行展現(xiàn)和管理。
資源實(shí)例數(shù)據(jù)中心:
創(chuàng)建模型:根據(jù)模型定義,創(chuàng)建資源模型。如果數(shù)據(jù)中心建立在Mysql上,表現(xiàn)為創(chuàng)建Table;如果數(shù)據(jù)中心建立在MongoDB上,表現(xiàn)為創(chuàng)建collection。
存儲(chǔ)數(shù)據(jù):存儲(chǔ)采集平臺(tái)從各個(gè)地方采集過來的數(shù)據(jù); 存儲(chǔ)資源管理模塊手工錄入或者模板導(dǎo)入的數(shù)據(jù)。
資源管理
資源實(shí)例錄入和編輯:提供一個(gè)可視化的界面,用戶可以對(duì)資源實(shí)例的屬性、關(guān)聯(lián)關(guān)系進(jìn)行增加、編輯和刪除等。
資源可視化
資源查詢,提供界面可以快速查找各種IT資源。
常見視圖:從應(yīng)用運(yùn)維工程師角度(含業(yè)務(wù)系統(tǒng)客戶),構(gòu)建了業(yè)務(wù)視角;從云平臺(tái)運(yùn)維工程師角度,構(gòu)建了云平臺(tái)視角;從IDC運(yùn)維工程師角度,構(gòu)建了IDC視角;從存儲(chǔ)工程師角度,構(gòu)建了存儲(chǔ)視角。
視角拓?fù)涠x:可以從其他工作角色來自定義新的視圖。
采集平臺(tái)
Agent : 通過在資源端安裝Agent ,實(shí)時(shí)或者定時(shí)采集數(shù)據(jù)。
自動(dòng)發(fā)現(xiàn):通過規(guī)則自動(dòng)發(fā)現(xiàn)模型之間的關(guān)聯(lián)關(guān)系或補(bǔ)齊修改資源屬性。
批量導(dǎo)入:支持?jǐn)?shù)據(jù)的大批量導(dǎo)入。
API同步:提供接口,讓外部系統(tǒng)能夠?qū)崟r(shí)把資源屬性進(jìn)行更新。
第三方同步:比如通過ETL工具,從其他數(shù)據(jù)庫(kù)同步。
當(dāng)CMDB構(gòu)建好后,就可以向各種應(yīng)用場(chǎng)景提供服務(wù),比如資源可視化、運(yùn)維監(jiān)控、自動(dòng)化運(yùn)維、技術(shù)運(yùn)營(yíng)、智能運(yùn)維等等。
核心流程規(guī)劃設(shè)計(jì)

從業(yè)務(wù)操作流程來看其實(shí)并不復(fù)雜:
模型管理模塊定義好模型
數(shù)據(jù)中心根據(jù)定義,創(chuàng)建模型。
從過手工錄入或者自動(dòng)采集實(shí)例化資源。
通過數(shù)據(jù)中心構(gòu)建各種可視化應(yīng)用,包括資源查閱、資源拓?fù)湔宫F(xiàn)、運(yùn)維大屏之類的可視化應(yīng)用。
通過數(shù)據(jù)中心提供其他應(yīng)用。
模型規(guī)劃設(shè)計(jì)(核心部分)
傳統(tǒng)CMDB模型的缺點(diǎn)
在傳統(tǒng)CMDB項(xiàng)目的實(shí)施過程中,大家都是看了仿佛都是各種各樣的模型、五花八門的配置項(xiàng)目,然后,項(xiàng)目工作都落入定義各種配置項(xiàng)中去,筆者了解到之前的CMDB項(xiàng)目中也s落入這個(gè)陷阱而導(dǎo)致項(xiàng)目失敗。雖然我們看到項(xiàng)目過于關(guān)注模型而導(dǎo)致失敗,但是也從側(cè)面說明了模型的重要性。開發(fā)一套CMDB系統(tǒng)并不是一件困難的事,但是用好一個(gè)CMDB系統(tǒng)卻是一件困難的事。如何用好CMDB系統(tǒng),規(guī)劃設(shè)計(jì)一套可用的CMDB模型是一個(gè)關(guān)鍵。那么,我們又應(yīng)該如何規(guī)劃CMDB模型才能滿足我們的產(chǎn)品目標(biāo)呢?
在如何規(guī)劃設(shè)計(jì)CMDB模型前,我們先先說說傳統(tǒng)的CMDB模型,傳統(tǒng)的CMDB基本都是由國(guó)外的大廠家開發(fā)的,產(chǎn)品圍繞數(shù)據(jù)中心以基礎(chǔ)資源管理為主,模型配置項(xiàng)也極其繁雜,比如明細(xì)到了某個(gè)插座的型號(hào)、位置之類的,似乎要窮舉所有資源的所有屬性才擺休。傳統(tǒng)CMDB常常需要運(yùn)維人員進(jìn)行各種配置項(xiàng)后才能使用,即沒有一個(gè)可以開箱即用的模型,這個(gè)配置的過程基本把運(yùn)維人員擋在系統(tǒng)門外,最后,肯定是不如Excel來得方便。另外是過分依賴人工維護(hù),缺少自動(dòng)化發(fā)現(xiàn)及自動(dòng)采集功能,數(shù)據(jù)維護(hù)工作量巨大,系統(tǒng)投入產(chǎn)出比嚴(yán)重失調(diào),最后也是不了了之。對(duì)于敏態(tài)運(yùn)維DevOps的支持,更是無從談起。
新一代CMDB模型的出發(fā)點(diǎn)
為此,在規(guī)劃設(shè)計(jì)CMDB模型時(shí),我們可以如下幾點(diǎn)出發(fā)
要從業(yè)務(wù)應(yīng)用角度出發(fā),不能從IDC的資源管理出發(fā),畢竟所以的IT資源歸根到底都是為業(yè)務(wù)服務(wù)的。
至少要存在一套可以開箱使用的模型,不能只是提供一個(gè)工具的平臺(tái),而把難題丟給了用戶。謹(jǐn)記“開發(fā)一套CMDB系統(tǒng)并不是一件困難的事,但是用好一個(gè)CMDB系統(tǒng)卻是一件困難的事”
模型屬性盡量精簡(jiǎn)化,只需要必要屬性信息,而不是窮舉所有屬性信息。
人工維護(hù)是必要的,但是能夠系統(tǒng)自動(dòng)化就要系統(tǒng)自動(dòng)化,手工錄入是一個(gè)迫不得已的手段。
要場(chǎng)景應(yīng)用為驅(qū)動(dòng),反推和檢驗(yàn)?zāi)P汀?/p>
模型要考慮多云架構(gòu)、考慮內(nèi)外部資源
模型是為了管理,不能為了模型而模型,不能因?yàn)楦鞣N配置項(xiàng)、各種配置屬性,而把精力放在庫(kù)表的設(shè)計(jì)和管理上。
一個(gè)開箱即用的CMDB模型
如下是筆者為了滿足多云架構(gòu)及“雙態(tài)運(yùn)維”初步規(guī)劃的CMDB模型規(guī)劃:

當(dāng)然,筆者只是做一個(gè)開箱即用的簡(jiǎn)要模型,但可以滿足80%以上的運(yùn)維管理要求。
常見的關(guān)聯(lián)關(guān)系

比如,應(yīng)用和云主機(jī)是運(yùn)行關(guān)系,某某應(yīng)用運(yùn)行于某某云主機(jī)上,某某云主機(jī)運(yùn)行了某某應(yīng)用,其中應(yīng)用是源、主機(jī)是目標(biāo)。
如何定義模型屬性
重復(fù)一句:“盡量精簡(jiǎn)化,只需要必要屬性信息,而不是窮舉所有屬性信息。”
如何定義模型關(guān)聯(lián)關(guān)系
建立源與目標(biāo)的概念,任何一個(gè)對(duì)象在不同關(guān)聯(lián)關(guān)系中都不同的定位。下面以云主機(jī)為例,
云主機(jī)與云平臺(tái)是歸屬關(guān)系,云主機(jī)是源,云平臺(tái)是目標(biāo)。
云主機(jī)與應(yīng)用是運(yùn)行關(guān)系,云主機(jī)卻是目標(biāo),應(yīng)用卻是源。
如下圖:

當(dāng)然,我們也可以通過拓?fù)浞绞礁又庇^來管理這些關(guān)聯(lián)關(guān)系:

確定好有哪些模型,如何定義這些模型及模型之間的關(guān)聯(lián)關(guān)系,那么模型工作基本就可以告一段落了。接下來就是如何根據(jù)定義實(shí)例化這些模型。
實(shí)例化模型有些需要注意的地方
實(shí)例化數(shù)據(jù)庫(kù)的選擇
傳統(tǒng)的CMDB是基于關(guān)系型數(shù)據(jù)庫(kù)實(shí)現(xiàn)的,使得整個(gè)庫(kù)表架構(gòu)極其復(fù)雜,可讀性極差,對(duì)外接口更是復(fù)雜了。新一代CMDB利用MongoDB這非結(jié)構(gòu)化數(shù)據(jù)庫(kù)能夠更加適合CMDB的建模,推薦的做法是:
利用Mysql等關(guān)系型數(shù)據(jù)庫(kù),存儲(chǔ)模型的定義。
利用MongoDB等NOSQL文檔存儲(chǔ)數(shù)據(jù)庫(kù),以json的格式存儲(chǔ)資源實(shí)例。
實(shí)例和視圖分開
CMDB數(shù)據(jù)中心同時(shí)事務(wù)數(shù)據(jù)庫(kù)及數(shù)據(jù)倉(cāng)庫(kù)的功能,為了能夠滿足數(shù)據(jù)實(shí)時(shí)更新的同時(shí),也要滿足各種運(yùn)維的監(jiān)控及分析。因此,建議分成實(shí)例庫(kù)和視圖庫(kù):

盡量減少人工錄入
手工錄入是一個(gè)迫不得已的手段,能夠采集就自動(dòng)采集,能夠自定發(fā)現(xiàn)的就自動(dòng)發(fā)現(xiàn)。
最后
一句話:開發(fā)一套CMDB系統(tǒng)并不是一件困難的事,但是用好一個(gè)CMDB系統(tǒng)卻是一件困難的事。
作者:老格,擅長(zhǎng)產(chǎn)品規(guī)劃和設(shè)計(jì),擅長(zhǎng)解決方案,擅長(zhǎng)PPT制作,是一個(gè)懂技術(shù)的產(chǎn)品PM,會(huì)設(shè)計(jì)的售前咨詢。
https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=pigdnc54&utm_source=pigdnc54