CDM-Datenmodell
Die CDMDas Datenmodell ist eine standardisierte Datenstruktur, die den breiteren Lebenszyklus der Softwarebereitstellung unterstützt – Automatisierung, Qualitätsvalidierung und CSDM. CDMImportiert vorhandene Konfigurationsdaten, validiert sie anhand von von Ihnen definierten Richtlinien und exportiert gültige Konfigurationsdaten in die vorhandenen Ihrer Organisation DevOpsPipeline zur Implementierung von Anwendungen, Services und Infrastruktur.
CDM Datenmodellübersicht
- Implementiert eine strenge und transparente Versions- 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 CDMDatenmodell
Ein Anwendung In CDMIst die vollständige Sammlung von Konfigurationsdaten für einen Anwendungsservice, ein Anwendungsmodell oder dynamische CI-Gruppe[Infrastruktur] in CMDB. Die CDMDer 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 Bereitstellbar – Ein Konfigurationsdatensatz (für eine Entwicklungs-, Test- oder Produktionsumgebung), der von Ihrem Bereitstellungsprozess bereitgestellt werden kann. Jede Komponente, Sammlung, Variable und bereitstellbares Element ist ein Knoten In der Struktur.
- Komponenten
- Komponenten sind die Bausteine, die normalerweise die Konfigurationsdaten für ein logisches Element einer Anwendung oder einen Teil eines Infrastrukturservice darstellen. 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. Beispiel: Entwicklung bereitstellbarKann die gleichen Komponenten und Sammlungen wie verwenden Testen bereitstellbar. Entwicklung Verwendet den Standard Datenbank Variablenwert. Testen Verwendet dagegen einen anderen Wert, der für die Testumgebung geeignet ist. - Komponentenvariarordner
- Die Komponenten Variablen Ordner kann Variablen enthalten, die alle CDI in enthalten Komponenten Ordner kann verwenden. Es gibt nur eine Komponente Variablen 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 GbFü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, Lokalisierung oder eines Funktionssatzes darstellen. 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 Variablen Ordner kann Variablen enthalten, die alle CDI in enthalten Sammlungen Ordner kann verwenden. Jede Sammlung hat eine Sammlung Variablen 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 Entwicklungs-, TEST- oder Produktumgebung), der von Ihrem Bereitstellungsprozess bereitgestellt werden kann. Jeweils bereitstellbarIn einer Anwendung stellt die Konfiguration eines Service in 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 verknüpft mit einem Anwendungsservice in CMDBOder zu einem Infrastrukturservice.
A bereitstellbarKann Variable oder Einstellungen enthalten, die für die Umgebung spezifisch sind. Beispiel:
DatenbankVariable hat einen Wert in der Entwicklungsumgebung und einen anderen Wert in der Produktionsumgebung. Ein Überschreibungswert in der Produktion bereitstellbarKann einen erforderlichen Containerparameter angeben, der in der Entwicklungsumgebung nicht benötigt wird.Ein Beispiel bereitstellbarBenannt DEV-2 Würde enthalten Sammlung-2 Sammlung und legt Variablen-, Überschreibungsund Überlagerungseinstellungen fest, 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, aber stattdessen werden Einstellungen angegeben, die spezifisch für die Produktionsumgebung für Release 2,0 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 Commit-Changesets anderer Anwender. Wenn keine Konflikte bestehen, behält das System die Änderungen bei und generiert dann einen Snapshot von jedem bereitstellbarDas 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 Variablenordner
- Das bereitstellbare Element Variablen Ordner kann Variablen enthalten, die alle CDI in enthalten Bereitstellbare Elemente Ordner kann verwenden. Jedes bereitstellbare Element hat ein bereitstellbares Element Variablen Ordner. Eine bereitstellbare Variable hat einen höheren Vorrang als eine Sammlungsvariable.
Beispiel
- Komponenten werden zu Sammlungen gruppiert, 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 die Anwendung derzeit in der Produktionsumgebung ausführt.
- 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 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.
- 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 Produkt verwendet dagegen FS1 in der Produktionsumgebung. FS1 ist die frühere Version der Sammlung von Konfigurationsdaten, die für die Produktion validiert wurde.
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 .
Definitionen
- CDI
- Ein Konfigurationsdatenelement (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.
- Komponenten
- Komponenten sind die Bausteine, die normalerweise die Konfigurationsdaten für ein logisches Element einer Anwendung oder einen Teil eines Infrastrukturservice darstellen. 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 enthalten oder Einstellungen überschreiben, 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 GbFü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 bereitstellbarKonfiguriert in einer Anwendung einen Service in 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 verknüpft mit einem Anwendungsservice in CMDBOder einen Infrastrukturservice.
A bereitstellbarKann Variablen enthalten oder Einstellungen überschreiben, die für die Umgebung spezifisch sind. Beispiel:
DatenbankVariable hat einen Wert in der Entwicklungsumgebung und einen anderen Wert in der Produktionsumgebung. Ein Überschreibungswert in der Produktion bereitstellbarKann einen erforderlichen Containerparameter angeben, der in der Entwicklungsumgebung nicht benötigt wird.- Changesets und Snapshots
- Wenn Sie Änderungen an einem bestätigen CDMAnwendung, behält das System die Änderungen als bei änderungssatz Der Anwendung. Das System generiert dann auch einen Snapshot Von jedem bereitstellbarDas 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-ManagementErmö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.