1. CMDB vs CSDM — what's the difference?
“The architect asks you to explain, in one minute, how CSDM relates to the CMDB. What do you say?”
How to answer
- The CMDB is the physical data store — tables under cmdb_ci that hold every Configuration Item and their relationships.
- CSDM (Common Service Data Model) is the prescriptive blueprint for HOW to use those tables — which classes to populate, which relationships to draw, and how services map to applications and infrastructure.
- CSDM 4.0 organizes CIs into four domains: Foundation, Design, Build, and Manage — each stage adds richer service context (from raw hardware to consumable business services).
- You don't 'install' CSDM; you conform to it by populating the right classes (cmdb_ci_service_technical, cmdb_ci_service_offering, cmdb_ci_business_app) with the right relationships.
Reference script
// Sample CSDM-aligned service hierarchy
BusinessApp: 'Payroll' (cmdb_ci_business_app)
|-- Depends on -->
Technical Svc: 'Payroll API' (cmdb_ci_service_technical)
|-- Depends on -->
Application: 'payroll-api v3.2' (cmdb_ci_appl)
|-- Runs on -->
Server: 'prd-pay-api-01' (cmdb_ci_linux_server)
// Consumers see the Service Offering, not the tech underneath:
ServiceOffering: 'Payroll — Gold SLA' (service_offering)
|-- Offers --> BusinessApp 'Payroll'Pitfall
Treating CSDM as a one-time modeling exercise. It's a governance discipline — new apps and services must be added under the same class + relationship rules, or the model drifts within a quarter.