天天看點

新一代CMDB模型建構指南

目前CMDB模型面臨的問題

目前CMDB的模型問題

當今很多CMDB的模型還是聚焦在底層資源。這個底層資源指的一部分是IaaS層的資源管理,另一部分是PaaS層中間件的資源管理。到上層應用這塊,其實它的模型表述特别簡單,隻有一些應用的基本資訊。

第二個要講的問題是無應用視角。今天我們建立管理了這麼多資源對象,但不知道是給誰用的,其實真正的着力點是應用。這個我将其總結為無應用層的了解力。

模型的動态性不強。每個模型對象調整它的屬性或者關系的時候,在傳統資料庫裡技術端的特點帶來的代價特别高。我把模型的動态性抽象成兩個次元,第一是模型對象之間在CI級别的動态性,第二個就是執行個體級。

第四個問題是場景過渡的設計。我認為場景是可以預設的,但是細粒度的模型會帶來很大的管理負擔。有時候會把場景考慮得過于複雜,導緻這裡面的模型管理後續負擔特别重。從簡到繁很容易,但是從繁到簡很難。

技術限制想象力。受CMDB平台技術本身的能力限制,導緻無法擴充這個模型。

欠缺IT架構思考力。我要講的是從業務架構到應用架構再基礎架構。業務架構中還包含了基礎設施架構和資料架構。弄清楚這三者的關系後,就能表達出在每一層架構上所帶來的本質上的關系連接配接到底是什麼。

CMDB系統截圖

新一代CMDB模型建構指南

建構CMDB模型的正确思路

新一代CMDB到底新在哪兒?

新思維:突破配置管理的認知,導緻邊界不清。配置往IT資源方向轉變。

新方法:自上而下的推動CMDB落地,而不是自下而上。

新模型:模型重構,傳統的關系模型無法滿足。

新技術:使用新的技術,新的功能架構,重新定義功能邊界。

CMDB中繼資料的兩類用途

CMDB模型最終是要執行個體化資料和關系的,正确的模型建構可以為多變的場景提供資料基礎。

第一個是面向管理層的ITSM流程。在很多傳統企業裡面,CMDB還是要為ITSM的流程做好資料支撐服務。

第二個是面向執行層的DevOps過程。端到端整個IT傳遞過程需要完整的中繼資料,特别是應用層面的中繼資料。

兩層CMDB,建構不同管理視角

新一代CMDB模型建構指南

CMDB架構分基礎資源層架構和應用資源層架構。應用層資源架構把相關的資源以應用為中心實作資源整合。資源及其資源的關系稱之為拓撲(應用拓撲、實體拓撲),資源管理方式有人工維護和自動發現兩種方式,流程是人工維護的一種複雜場景和手段。

基礎CMDB建設五原則

1、面向IaaS和PaaS設計,能夠管理底層的一切資源。

2、狀态控制借助運維流程自動化完成。

3、CI的維護要深度使用自動發現,而不是人工維護。

4、資源資訊必須能為上層應用提供服務。

5、必須滿足基礎資源的CI管理需要。

應用CMDB建設氣原則

1、提供統一的應用中繼資料管理能力,和應用類型無關。

2、核心訴求是應用生命周期管理。

3、以應用為中心,而非基礎資源為中心。

4、從應用資源的角度建構起與IT資源的彈性關系。

5、為應用資源、動作、狀态的統一管理提供支撐。

6、以統一的基礎資源層CMDB作為基礎。

7、核心場景就是持續傳遞。

應用CMDB模型階層化了解

新一代CMDB模型建構指南

應用CMDB是面向資源的完整描述,應用的資源分成應用的部署資源、服務資源和動作資源。

部署資源是一次應用部署所依賴的資源,一般又稱本地資源,比如說主機Host、程式包等等。

服務資源是應用運作依賴的資源,一般有稱之為附加資源(來自于12factor),比如說應用的服務接口、應用依賴的PaaS資源、應用依賴的應用資源等等。

場景動作是資源其上附加的動作描述,是資源的管理方法。

新模型的标準化架構新一代CMDB的資源模型架構

新一代CMDB模型建構指南

核心準則:一個資源能夠提供服務,還要看它關聯的資源,是以必須采用立體化模型方案。

IaaS層硬體對象模型

新一代CMDB模型建構指南

針對每一個象執行個體化描述它們就可以了,無非就是屬性和關系。

IaaS層軟體定義對象模型

新一代CMDB模型建構指南

如上圖所示,把IaaS層軟體定義對象模型整理成三個層次。最底下的層次其實應該叫做依賴的運作資源,主機隻是其中的一種。

這三個層次中必須要包含服務、元件執行個體和主機。服務運作過程中起了哪些運作執行個體、這些執行個體程序在哪些主機上,主機延伸出來就是IP清單。

元件執行個體有兩種,一種是自有執行個體,當程式運作的時候需要的應用包執行個體化。一種是依賴執行個體,就是将依賴元件執行個體化。

自有服務是自己啟動的服務對外提供的時候以怎樣的方式暴露出去。依賴服務則是運作時還關聯了哪些服務。

這個模型表達方法和PaaS層對象比較類似。

PaaS層對象模型核心概念

一定要深刻了解服務、執行個體和主機之間的層次關系,并且要精确表達注意元件和叢集的差別,例如Mysql元件和Mysql叢集。

應用層對象模型核心概念

新一代CMDB模型建構指南

應用層對象也要深刻了解服務、執行個體和主機之間的層次關系,并且要精确表達。

今天的分享就到這裡,謝謝大家!

Q&A

Q:虛拟化的資源怎麼描述呢?

A:我們今天把虛拟化和實體機的資源對象疊加在一起管理。在主機對象表裡增加了一個字段,就所屬母機,僅此一個次元的差別。

Q:像磁盤、網絡這些有沒有介紹?

A:我把磁盤、網絡歸納到底層IaaS的一部分。對于IaaS那部分對象CI的描述其實也比較簡單。比如硬碟就歸類為硬碟大小、分類資訊等等,隻是一些硬體資訊而已,沒有特殊的。網絡這塊要分開,要分為各種網絡,像接入、彙聚跟核心可以歸為一類的網絡裝置,防火牆則要歸為另外一類。網絡方面比較需注意資源資訊。

Q:應用如何自動發現?資源自動發現能詳細介紹一下嗎?