CDM-Datenmodell

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 9 Minuten Lesedauer
  • Die CDM Das Datenmodell ist eine standardisierte Datenstruktur, die den breiteren Lebenszyklus der Softwarebereitstellung unterstützt – Automatisierung, Qualitätsvalidierung und CSDM. CDM Importiert vorhandene Konfigurationsdaten, validiert sie anhand von von Ihnen definierten Richtlinien und exportiert gültige Konfigurationsdaten in die vorhandenen Ihrer Organisation DevOps Pipeline zur Implementierung von Anwendungen, Services und Infrastruktur.

    Wichtig:
    DevOps Config Ist jetzt veraltet und wird nicht mehr unterstützt oder ist für eine neue Aktivierung verfügbar.

    CDM Datenmodellübersicht

    Die CDM Das Datenmodell ändert nicht die Art und Weise, wie Sie über die Konfiguration denken. Stattdessen verwenden Sie CDM REST-API und Anwenderoberfläche zum Zuordnen Ihrer vorhandenen JSON-, YAML-, INI-, XML- und anderen Konfigurationsdaten zu einer intuitiven Datenstruktur, die die folgenden Vorteile bietet:
    • Implementiert eine strenge und transparente Versionssteuerung und Change-Steuerung.
    • Ermöglicht Ihnen das Verschlüsseln vertraulicher Daten und stellt eine angemessene Zugriffssteuerung für die Daten sicher.
    • Aktiviert die automatisierte Validierung von Konfigurationsdaten.
    • Ermöglicht Ihnen die Wiederverwendung von Konfigurationsdatenstrukturen mithilfe von Variablen, einschließlich Werten, und überlagernden Werten.

    Struktur von CDM Datenmodell

    Ein Anwendung In CDM Ist die vollständige Sammlung von Konfigurationsdaten für einen Anwendungsservice, ein Anwendungsmodell oder dynamische CI-Gruppe[Infrastruktur] in CMDB. Die CDM Der Anwender erstellt einen Anwendungsdatensatz, der die folgenden leeren Ordner in einer standardmäßigen hierarchischen Struktur enthält. Nachdem das System Ihre vorhandenen Konfigurationsdaten erfasst hat, strukturieren Sie die Daten in Komponenten im entsprechenden Ordner. Sie erstellen Sammlungen der Komponenten und kombinieren die Sammlungen dann zu einem Bereitstellbar – Ein Konfigurationsdatensatz (für eine Entwicklungs-, Test- oder Produktionsumgebung), der von Ihrem Bereitstellungsprozess bereitgestellt werden kann. Jede Komponente, Sammlung, Variable und jedes bereitstellbare Element ist ein Knoten In der Struktur.

    Ordnerstruktur für einen neuen CDM Anwendung

    Komponenten
    Komponenten sind die Bausteine, die normalerweise die Konfigurationsdaten für ein logisches Element einer Anwendung oder einen Teil eines Infrastrukturservice darstellen. Zum Beispiel eine monolithische App, ein Micro-Service, ein physischer Server oder eine Docker-Vorlage.

    Eine Komponente kann untergeordnete Komponenten enthalten, entweder direkt oder enthalten. Eine Komponente kann Variablen enthalten, die verschiedene Werte in Sammlungen und annehmen können Bereitstellungen.

    Sie können Komponenten in einer Bibliothek gemeinsam genutzter Komponenten gruppieren.

    Tipp:
    Es ist häufig nützlich, einen Standardwert für eine Variable in einer Komponente oder Sammlung zu definieren. Dies ist eine leistungsstarke Strategie, da Sie aus einem kleinen Satz von Komponenten und Sammlungen eine breite Vielfalt von bereitstellbaren Elementen erstellen können. Bereitstellbare Elemente, die eine Komponente oder Sammlung erben, können Überschreibungen, Überlagerungen und Variableneinstellungen verwenden, um die Anforderungen des Umgebungstyps zu erfüllen. Zum Beispiel die Entwicklung bereitstellbarKann die gleichen Komponenten und Sammlungen wie verwenden Testen bereitstellbar. Entwicklung Verwendet den Standard Datenbank Variablenwert. Testen , Im Gegensatz dazu verwendet einen anderen Wert, der für die Testumgebung geeignet ist.
    Komponentenvariantenordner
    Die Komponenten Vars Ordner kann Variablen enthalten, die jede CDI in enthalten Komponenten Ordner kann verwenden. Es gibt nur eine Komponente Vars Ordner.
    Sammlungen

    Eine Sammlung ist der Satz von Komponenten, die zusammen ein Release definieren. Sie können sich eine Sammlung als Release-Zusammensetzung vorstellen.

    Eine Sammlung kann Variable oder Einstellungen zum Überschreiben enthalten, die für die bestimmte Version spezifisch sind. Beispielsweise unterscheiden sich die in Release-1 verwendeten VM-Konfigurationsdaten von den in Release-2 verwendeten Daten. Release-1 verwendet möglicherweise den Wert 2 Gb Für Arbeitsspeicher Einstellung ( „Arbeitsspeicher“: „2 GB“ ) Und Release-2 können einen anderen Wert angeben ( „Arbeitsspeicher“: „4 GB“ ). Darüber hinaus kann eine Sammlung Konfigurationseinstellungen enthalten, die nicht in ihren Komponenten angezeigt werden. Solche Werte werden aufgerufen Überlagerungen .

    Eine Sammlung kann eine bestimmte Version einer Anwendung, einer Lokalisierung oder eines Funktionssatzes darstellen. Zum Beispiel eine Sammlung mit dem Namen Sammlung-2 Kann den Satz von Komponenten oder Komponentenversionen enthalten, die darstellen Release 2,0 Funktionalität für die Anwendung. Im Gegensatz dazu eine Sammlung mit dem Namen Sammlung-3 Das darstellt Release 3,0 Die Funktionalität kann denselben Satz von Komponenten oder Komponentenversionen, zusätzliche Komponenten oder Komponentenversionen und andere Einstellungen für Variablen, Überschreibungen und Überlagerungen umfassen.

    Ordner „Sammlungsvariablen“
    Die Sammlung Vars Ordner kann Variablen enthalten, die jede CDI in enthalten Sammlungen Ordner kann verwenden. Jede Sammlung hat eine Sammlung Vars Ordner. Eine Sammlungsvariable hat einen höheren Vorrang als eine Komponentenvariable.
    Einsetzbare

    Sie fügen hinzu und konfigurieren Bereitstellbare Elemente In der Datenstruktur. A bereitstellbarIst ein Konfigurationsdatensatz (für eine DEV-, TEST- oder PROD-Umgebung), der von Ihrem Bereitstellungsprozess bereitgestellt werden kann. Jeweils bereitstellbarIn einer Anwendung stellt die Konfiguration eines Service in der dar CMDB.

    Ein bereitstellbares Element besteht aus der Sammlung oder einem Satz von Sammlungen, die das Release für eine bestimmte Umgebung definieren. Die Kombination aus Sammlungen und Umgebung ist mit einem Anwendungsservice in verknüpft CMDB Oder zu einem Infrastrukturservice.

    A bereitstellbarKann für die Umgebung spezifische Einstellungen für Variablen oder Überschreibungseinstellungen enthalten. Zum Beispiel die Datenbank Die Variable hat einen Wert in der Entwicklungsumgebung und einen anderen Wert in der Produktionsumgebung. Ein Überschreibungswert in der Produktion bereitstellbarGibt möglicherweise einen erforderlichen Containerparameter an, der in der Entwicklungsumgebung nicht benötigt wird.

    Ein Beispiel bereitstellbarBenannt DEV-2 Würde enthalten Sammlung-2 Sammlung und würde Einstellungen für Variablen, Überschreibung und Überlagerung angeben, die für die Entwicklungsumgebung für Release 2,0 spezifisch sind. Im Gegensatz dazu bereitstellbarBenannt PROD-2 Würde auch enthalten Sammlung-2 Sammlung, stattdessen werden jedoch Einstellungen angegeben, die für die Produktionsumgebung für Release 2,0 spezifisch sind.

    Wenn Sie mit einem Changeset zufrieden sind, können Sie die Änderungen speichern und bestätigen. Das System überprüft auf Konflikte mit den Committed Changesets anderer Anwender. Wenn keine Konflikte bestehen, behält das System die Änderungen bei und generiert dann einen Snapshot von jedem bereitstellbarDie von den Changes betroffen ist. Ein Snapshot stellt einen potenziell exportierbaren Konfigurationsdatensatz dar. Das System validiert Konfigurationsdaten, indem es Richtlinien für jeden Snapshot ausführt und die Validierungsergebnisse zurückgibt.

    Bereitstellbarer VARs-Ordner
    Das bereitstellbare Element Vars Ordner kann Variablen enthalten, die jede CDI in enthalten Bereitstellbare Elemente Ordner kann verwenden. Jedes bereitstellbare Element hat ein bereitstellbares Element Vars Ordner. Eine bereitstellbare Variable hat höhere Priorität als eine Sammlungsvariable.

    Beispiel

    Im folgenden Diagramm der Beispielbuchhandlung-Anwendung identifizieren die Zahlen die Beziehungen zwischen Komponenten, Sammlungen und Bereitstellungen.
    1. Komponenten werden gruppiert, um Sammlungen zu bilden, die Umgebungen oder Versionen von Umgebungen darstellen. Die Sammlung FS2 (Funktionssatz 2) enthält Konfigurationsdaten für Core Version 2 der Anwendung, die derzeit entwickelt und getestet wird. FS1 hingegen enthält die frühere Core-Version 1, die gründlich getestet wurde und derzeit die Anwendung in der Produktionsumgebung ausführt.
    2. Im Beispiel verwenden sowohl FS2 (die Sammlung, die in Testumgebungen verwendet wird) als auch FS1 (die Sammlung, die in der Produktionsumgebung verwendet wird) Konfigurationsdaten für beide S3Und eine bestimmte VM template. Daher erben sowohl die FS1- als auch die FS2-Sammlungen diese beiden Komponenten. Da die Sammlungen verschiedene Funktionssätze darstellen, verwenden FS1 und FS2 wahrscheinlich Variablen oder Überschreibungen, um einige verschiedene Einstellungen für die Komponenten anzugeben.
    3. Jedes bereitstellbare Element enthält die Sammlung, die für seine Umgebung (Entwicklung, Test oder Produktion) geeignet ist. Im Beispiel verwendet das bereitstellbare TESTELEMENT die FS2-Sammlung, die neuere Version des Funktionssatzes und andere Konfigurationseinstellungen, die in Testumgebungen verwendet werden. Das bereitstellbare PROD verwendet dagegen FS1 in der Produktionsumgebung. FS1 ist die frühere Version der Sammlung von Konfigurationsdaten, die für die Produktion validiert wurden.

      In jedem bereitstellbaren Element werden Variablen auf Werte festgelegt, die für die Umgebung geeignet sind. Beispiel: In PROD: Datenbank Variable ist auf festgelegt prod1 (Die Produktionsdatenbank). Das bereitstellbare TESTELEMENT gibt jedoch eine der Datenbanken an, die vom Testteam verwendet werden. Test3 .

    Dieses Diagramm ist vereinfacht. In Ihrer Implementierung BereitstellungenKann mehrere Sammlungen, Einstellungen für Variablen und Überschreibung sowie Überlagerungseinstellungen (Einstellungen, die nicht in den Komponenten und Sammlungen angezeigt werden, aus denen das bereitstellbare Element besteht) enthalten. Darüber hinaus können für jeden Umgebungstyp mehrere bereitstellbare Elemente vorhanden sein.

    Wie Komponenten und Sammlungen Inhalte bereitstellen, die Sie in bereitstellbare Elemente für eine Vielzahl von Umgebungen integrieren können

    Definitionen

    CDI
    Ein Konfigurationsdatenelement (Configuration Data Item, CDI) ist einfach ein Schlüssel-Wert-Knoten.
    Variable
    Eine Variable ist ein Schlüssel-Wert-Element, auf das in einer CDI verwiesen werden kann.
    Übergeordnete Knoten und untergeordnete Knoten (Blatt)
    • CDIs und Variablen sind Schlüssel-Wert-Elemente. CDIs und Variablen können nur untergeordnete Knoten sein.
    • Komponenten, Sammlungen, bereitstellbare Elemente und Ordnerknoten können übergeordnete Knoten sein – Knoten, die Schlüssel-Wert-Elemente oder andere übergeordnete Knoten haben können.
    Hinweis:

    Beginnend mit Konfigurationsdaten-Management In Version 4,2 können Sie einen Knoten mit einem beliebigen UTF-8-Zeichen definieren, einschließlich des Schrägstrichs ( / ).

    Namenspfad
    Der Namenspfad ist der vollständige Ordnerpfad des ausgewählten Knotens in der Liste. In der REST-API können Sie den Namenspfad im Array in den folgenden Formaten angeben:
    • Umgekehrtes Schrägstrichformat: Beispiel: TestApp/bereitstellbare Elemente/Development1/cdi1
      Hinweis:
      Wenn Ihr Knotenname einen umgekehrten Schrägstrich ("/") enthält, können Sie dieses Format nicht verwenden.
    • Back-End-Namenspfad mit Ersatzzeichen: Beispiel: TestApp bereitstellbare Development1 cdi1
    • Array: Beispiel: ['TestApp','bereitstellbare Elemente','Development1','cdi1']
    Komponenten
    Komponenten sind die Bausteine, die normalerweise die Konfigurationsdaten für ein logisches Element einer Anwendung oder einen Teil eines Infrastrukturservice darstellen. Zum Beispiel eine monolithische App, ein Micro-Service, ein physischer Server oder eine Docker-Vorlage.

    Eine Komponente kann Variablen enthalten, die verschiedene Werte in Sammlungen und annehmen können Bereitstellungen. Detailliertere Anweisungen werden in angezeigt Definieren oder aktualisieren Sie eine Komponente.

    Sammlungen

    Eine Sammlung ist der Satz von Komponenten, die zusammen ein Release definieren. Sie können sich eine Sammlung als Release-Zusammensetzung vorstellen.

    Eine Sammlung kann Variablen oder Einstellungen enthalten, die für die bestimmte Version spezifisch sind. Beispielsweise unterscheiden sich die in Release-1 verwendeten VM-Konfigurationsdaten von den in Release-2 verwendeten Daten. Release-1 verwendet möglicherweise den Wert 2 Gb Für Arbeitsspeicher Einstellung ( „Arbeitsspeicher“: „2 GB“ ) Und Release-2 können einen anderen Wert angeben ( „Arbeitsspeicher“: „4 GB“ ). Darüber hinaus kann eine Sammlung Konfigurationseinstellungen enthalten, die nicht in ihren Komponenten angezeigt werden. Sie könnten sich Werte wie „Überlagerungen“ vorstellen.

    Einsetzbare

    A bereitstellbarIst ein Konfigurationsdatensatz (für eine Entwicklungs-, Test- oder Produktionsumgebung), der als Service in Ihrer CI/CD-Pipeline bereitgestellt werden kann. Jeweils bereitstellbarIn einer Anwendung konfiguriert einen Service in der CMDB. Sie können beispielsweise drei bereitstellbare Elemente erstellen, eines für jeden Umgebungstyp: Entwicklung, Test und Produktion.

    A bereitstellbarBesteht aus der Sammlung oder dem Satz von Sammlungen, die das Release für eine bestimmte Umgebung definieren. Die Kombination aus Sammlungen und Umgebung ist mit einem Anwendungsservice in verknüpft CMDB Oder einen Infrastrukturservice.

    A bereitstellbarKann Variablen enthalten oder Einstellungen überschreiben, die für die Umgebung spezifisch sind. Zum Beispiel die Datenbank Die Variable hat einen Wert in der Entwicklungsumgebung und einen anderen Wert in der Produktionsumgebung. Ein Überschreibungswert in der Produktion bereitstellbarGibt möglicherweise einen erforderlichen Containerparameter an, der in der Entwicklungsumgebung nicht benötigt wird.

    Changesets und Snapshots
    Wenn Sie Änderungen an einem Commit vornehmen CDM Anwendung, behält das System die Änderungen als bei änderungssatz Der Anwendung. Das System generiert dann auch einen Snapshot Von jedem bereitstellbarDie von den Changes betroffen ist. Ein Snapshot stellt einen potenziell exportierbaren Konfigurationsdatensatz dar. Das System validiert Konfigurationsdaten, indem es Richtlinien für jeden Snapshot ausführt und die Validierungsergebnisse zurückgibt. Snapshots, die die Validierung bestehen und veröffentlicht werden, können als Konfigurationsdaten in die Release-Pipeline exportiert werden.
    Gemeinsam genutzte Komponenten und Komponentenbibliotheken
    Gemeinsam genutzte Komponenten in Konfigurationsdaten-Management Ermöglicht Ihnen die Verwendung einer Komponente in mehreren Anwendungen.

    Zur besseren Organisation werden diese gemeinsam genutzten Komponenten in Komponentenbibliotheken verwaltet. Diese Komponentenbibliotheken verbessern die Konsistenz und Wartbarkeit, indem sie anwendungsübergreifend eine einzige Wahrheitsquelle für die Konfigurationsdaten einer Komponente sicherstellen.

    Dateiknoten
    Ein Dateiknoten wird erstellt, wenn Sie eine Datei an das Konfigurationsdatenmodell von anhängen CDM App oder Komponentenbibliothek. Enthält einen Link zur angehängten Datei. Mithilfe von Dateiknoten können Sie Dateien eines beliebigen MIME-Typs anhängen, der in unterstützt wird ServiceNow AI Platform.