Was ist Konfigurationsmanagement und warum ist es wichtig?


Configuration Management (CM) ist ein System-Engineering-Prozess zur Herstellung und Aufrechterhaltung der Konsistenz der Leistung, der funktionalen und physischen Attribute eines Produkts mit seinen Anforderungen, seinem Design und seinen Betriebsinformationen während seiner gesamten Lebensdauer.

Konfigurationsmanagement ist eine Form des IT-Service-Managements (ITSM), wie es von ITIL definiert wird und sicherstellt, dass die Konfiguration von Systemressourcen, Computersystemen, Servern und anderen Assets bekannt, gut und vertrauenswürdig ist. Es wird manchmal auch als IT-Automatisierung bezeichnet.

Die meisten Konfigurationsverwaltungen erfordern einen hohen Automatisierungsgrad, um diese Ziele zu erreichen. Aus diesem Grund verwenden Teams verschiedene Tools wie Puppet, Ansible, Terraform und andere Konfigurationsmanagement-Tools.

Durch den Einsatz von Automatisierung ist es einfacher, Überprüfungen und Redundanzen einzubauen, wodurch das Potenzial für Auslassungen aufgrund menschlicher Fehler und die Genauigkeit beim Halten von Assets im gewünschten Zustand verbessert werden.

Ohne Automatisierung kann ein einzelner Ingenieur, der vergisst, eine Software zu aktualisieren, ein System mit einer veralteten Version der Software verlassen, bei der eine bekannte Schwachstelle auf CVE aufgeführt ist. Diese Schwachstelle kann ausgenutzt werden, um Computerwürmer zu verbreiten, Ransomware oder eine andere Art von Malware zu installieren.

Automatisierung ist noch aus einem anderen Grund wertvoll: Sie verbessert die Effizienz erheblich und macht das Konfigurationsmanagement großer Systeme beherrschbar.

Das Konfigurationsmanagement gilt für eine Vielzahl von Systemen, aber am häufigsten werden Sie sich mit diesen befassen:

  • Diener
  • Datenbanken und andere Speichersysteme
  • Betriebssysteme
  • Vernetzung
  • Anträge
  • Software

Warum ist Konfigurationsmanagement wichtig?

Die Chancen stehen gut, dass Technologie Ihr Unternehmen antreibt. Wenn Sie SaaS (Software-as-a-Service) verkaufen, ist Technologie das Produkt.

Selbst wenn Sie dies nicht tun, nutzt jedes Unternehmen Technologie, um seine Prozesse zu automatisieren.

Die Konfiguration dieser Systeme ist entscheidend für den Erfolg Ihres Unternehmens. Die Konfiguration sorgt dafür, dass Ihre Systeme (Server, Netzwerke, Betriebssysteme, Rechenzentren, Konfigurationsdateien, IT-Assets und alle anderen Konfigurationselemente) funktionieren.

Öffnen Sie das Einstellungsmenü in einer beliebigen Software und Sie haben es mit der Konfigurationsverwaltung zu tun.

Sie müssen es sorgfältig verwalten und Konfigurationsänderungen im Auge behalten, um die Rückverfolgbarkeit zu gewährleisten, sonst könnten Ihr Unternehmen und Ihre Endbenutzer unter Systemausfällen, Datenschutzverletzungen und Datenlecks leiden.

Um das Cybersicherheitsrisiko zu verringern und den Betrieb zu verbessern, setzen viele Unternehmen eine Konfigurationsmanagement-Datenbank (CMDB), einen Konfigurationsmanagementplan und einen Konfigurationsmanager ein, um ein erfolgreiches Konfigurationsmanagement zu gewährleisten.

Genaue Aufzeichnungen über den Zustand Ihrer Systeme sind unerlässlich, und das Baselining eines Attributs kann sicherstellen, dass formale Konfigurationsänderungskontrollprozesse effektiv sind. Aus diesem Grund ist die Versionskontrolle für jede IT-Infrastruktur von entscheidender Bedeutung.

Dies hilft beim Projektmanagement, beim Asset-Management und bei Audit-Prozessen sowie bei der Softwareentwicklung und beim Debugging.

Zu den weiteren Vorteilen des Konfigurationsmanagements gehören:

  • Reduziertes Risiko von Ausfällen und Sicherheitsverletzungen durch Transparenz und Nachverfolgung der Änderungen an Ihren Systemen.
  • Kostensenkung durch detaillierte Kenntnisse aller Elemente Ihrer Konfiguration, um verschwenderische Duplizierung Ihrer Technologieressourcen zu vermeiden.
  • Verbesserte Erfahrung für Ihre Kunden und internen Mitarbeiter durch schnelle Erkennung und Korrektur unsachgemäßer Konfigurationen, die sich negativ auf die Leistung auswirken könnten.
  • Strenge Kontrolle Ihrer Prozesse durch Definition und Durchsetzung formaler Richtlinien und Verfahren, die die Identifizierung, Statusüberwachung und Prüfung von Assets regeln.
  • Größere Agilität und schnellere Problemlösung, die es Ihnen ermöglichen, eine höhere Servicequalität zu bieten und die Kosten für die Softwareentwicklung zu senken.
  • Effizientes Änderungsmanagement, indem Sie Ihre Basiskonfiguration kennen und über die Transparenz verfügen, um Designänderungen zu entwerfen, die Probleme vermeiden.
  • Schnellere Wiederherstellung des Dienstes. Bei einem Ausfall können Sie eine schnelle Wiederherstellung durchführen, da Ihre Konfiguration dokumentiert und automatisiert wird.
  • Besseres Release-Management und übersichtliche Statusabrechnung.

DevOps-Teams erobern die Vereinigten Staaten und die Welt im Sturm, und das Softwarekonfigurationsmanagement wird im gesamten Lebenszyklus der Unternehmens-IT eingesetzt.

Wie Sie aus dem folgenden Diagramm ersehen können, ist es wichtig, darüber nachzudenken, wie Sie Prozesse und Übergaben planen, aufbauen, ausführen und steuern, unabhängig davon, ob Sie DevOps durchführen oder nicht.

Was passiert, wenn Sie die Konfigurationsverwaltung nicht verwenden?

Es gibt einen berühmten Werbespot über einen Automechaniker, der von einer kostspieligen Motorreparatur spricht, die hätte vermieden werden können, wenn der Besitzer seinen Ölfilter ausgetauscht hätte. Der Mechaniker sagt:

"Du kannst mich jetzt bezahlen, oder du kannst mich später bezahlen."

Dieses Zitat lässt sich gut auf das Konfigurationsmanagement anwenden.

Sie können die mit der Konfigurationsverwaltung verbundenen Kosten vermeiden, indem Sie sie überhaupt nicht einsetzen, aber Sie werden wahrscheinlich in Folgendes einzahlen:

  • Manueller Aufwand (Monate), um zu bestimmen, welche Systemkomponenten sich ändern sollen, wenn sich die Anforderungen ändern.
  • Fehlgeschlagene Implementierungen, weil sich die Anforderungen Ihres Projekts geändert haben und Sie die Änderungen nicht allen Parteien mitgeteilt haben.
  • Produktivitätsverluste durch den Austausch von Systemkomponenten durch fehlerhafte neue Versionen, ohne dass schnell wieder funktioniert.
  • Unerwartete Ausfälle durch fehlerhafte Änderungen von Systemkomponenten, da Sie nicht genau bestimmen konnten, welche Komponenten von einer Änderung betroffen waren.

Das Konfigurationsmanagement gehört zu den wichtigsten Praktiken der Systemtechnik, weil es funktioniert! Es bewahrt Sie davor, präventiv Kosten zu verursachen, und hilft der IT-Abteilung, die Brandbekämpfung zu stoppen. Darüber hinaus haben gute Systemingenieure durch praktische Erfahrung gelernt, dass es sich um ein Vielfaches auszahlt.

Die Lektion, die Sie lernen müssen, ist einfach: Zahlen Sie den Preis nicht später! Verwenden Sie die Konfigurationsverwaltung, um sich auf die Brandverhütung und nicht auf die Brandbekämpfung zu konzentrieren.

Was ist ein Beispiel für Konfigurationsmanagement?

>

Ein beispielhaftes Framework für das Konfigurationsmanagement besteht aus vier Säulen:

1. Das Problem

Ein Software-"Fehler" hinderte die New Yorker Börse (NYSE) fast 90 Minuten lang daran, Aktiengeschäfte zu verarbeiten.

2. Die Auswirkungen

Die Finanzmärkte bekamen die Auswirkungen auch über das Börsenparkett der NYSE hinaus zu spüren. Da Anleger ohne NYSE-Daten keine Marktindizes berechnen konnten, wurde der Handel auch an der American Stock Exchange und einigen Futures- und Optionsmärkten eingestellt. Auch an der NASDAQ-Börse verlangsamte sich der Handel, da die Anleger zögerten, Geschäfte ohne Informationen über den NYSE-Handel zu tätigen.

3. Die Ursache

Eine neue Softwareinstallation verursachte das Problem. Die NYSE hatte die Software auf 8 ihrer 20 Handelsterminals installiert, und das System wurde in der Nacht vor dem Go-Live getestet. Am Morgen des 8. Juni funktionierten jedoch insgesamt 8 Anlagen nicht richtig. Die NYSE versuchte, wieder auf ihre alte Software umzusteigen, konnte dies jedoch nicht vor der Eröffnung der Handelssitzung tun.

4. Gewonnene Erkenntnisse

Auch wenn man dies als Versagen des Konfigurationsmanagementprozesses der NYSE ansehen könnte, war es in Wirklichkeit ein Erfolg. Obwohl das Problem erst kurz vor Handelseröffnung auftrat, verfügte die NYSE über robuste Konfigurationsmanagementprozesse und -tools, die das Problem schnell erkannten und sich davon erholten. Abgesehen von einigen roten Gesichtern an der NYSE wurde der Schaden minimiert. Hätte der Ausfall länger als 90 Minuten gedauert, wären die Auswirkungen viel schwerwiegender gewesen.

Wie viel kostet das Konfigurationsmanagement?

Leider ist die Konfigurationsverwaltung nicht kostenlos. Zunächst benötigen Sie ein Konfigurationsmanagementsystem. Der Markt für Konfigurationsmanagementsysteme ändert sich häufig, und es gibt viele verschiedene Lösungen, die von Open-Source-Projekten bis hin zu kommerzieller Standardtechnologie reichen, die von Unternehmen wie Microsoft und IBM verkauft wird. In der Regel werden die Kosten für diese Konfigurationsmanagement-Tools nach "Knoten" berechnet, wobei die Preise je nach Art des Knotens (Server, Datenbanken, Netzwerkgeräte, mobile Geräte, Speicher, virtuelle Instanzen usw.) variieren. Open-Source-Systeme haben einen langen Weg zurückgelegt, so dass es trotz der Kosten für das Logo und das Vertriebsteam eines Anbieters nicht immer ein gutes Preis-Leistungs-Verhältnis bietet, sich für einen großen Anbieter zu entscheiden.

Der zweite Kostenfaktor für das Konfigurationsmanagement sind die Mitarbeiter, einschließlich Mitarbeiter (oft Auftragnehmer, wenn Ihre internen Fähigkeiten noch nicht ausgereift sind), die über die Fähigkeiten verfügen, Konfigurationsmanagementprozesse und -tools einzurichten. Sie müssen auch die Schulung Ihrer bestehenden Mitarbeiter berücksichtigen, um laufende Konfigurationsmanagementprozesse in Ihr Unternehmen zu integrieren.

Wie hoch ist der Return on Investment des Konfigurationsmanagements?

Zu den finanziellen Vorteilen, die durch die Nutzung des Konfigurationsmanagements zu positiven ROI-Ergebnissen beitragen, gehören:

  • Steigerung der Produktivität des IT-Personals. Die Optimierung der Aktivitäten des IT-Personals durch Automatisierung reduzierte die Zeit, die das IT-Personal damit verbrachte, "das Licht am Laufen zu halten", und setzte wertvolle Personalressourcen für geschäftsbezogene Initiativen frei.
  • Steigerung der Benutzerproduktivität. Reduzierung von Ausfallzeiten, die durch Systemausfälle, Cyberangriffe, Sicherheitseinbrüche sowie Änderungs- und Konfigurationsaktivitäten verursacht werden.
  • Reduzierung der IT-Kosten. Die Optimierung des IT-Betriebs senkt die Kosten in mehreren Bereichen, einschließlich Infrastruktur, ausgelagerten Dienstleistungen und Managementsoftware.
  • Kontinuierliche Bereitstellung von IT-Services. So wird sichergestellt, dass die Software jederzeit zuverlässig freigegeben werden kann.

Es gibt viele ROI-Berechnungen, die Sie auf Ihr Unternehmen anwenden können. Die Kennzahl ist die Kostenvermeidung in Bereichen wie:

  • Die Anzahl der Geräte/Knoten, die von einem Konfigurationsmanagementsystem überwacht werden.
  • Der Aufwand (versuchen Sie es konservativ mit 35 US-Dollar pro Stunde), den ein System-/Netzwerktechniker benötigt, um Konfigurationsmanagementprozesse manuell zu handhaben.
  • Wenn (nicht ob) ein Systemausfall auftritt, ohne dass eine Sicherungskonfiguration vorhanden ist.
  • Wenn Sie unweigerlich eine Massenkonfigurationsaktualisierung auf viele Systeme anwenden müssen oder ein neuer Rollout stattfinden muss.
  • Wenn Ihr Unternehmen einer Anforderung für ein Konfigurationsaudit nachkommen oder eine Technologierisikobewertung bestehen muss.

Die Vorteile des Konfigurationsmanagements fließen in all diese Aktivitäten ein. Diese Aktivitäten brauchen Zeit, und Zeit ist Geld.

Was sind einige beliebte Tools für das Konfigurationsmanagement?

Es gibt viele beliebte Tools für das Konfigurationsmanagement, was es schwierig macht, ein Tool oder einen Stapel von Tools zu finden, die den Systemkonfigurationsanforderungen Ihres Unternehmens entsprechen.

Zu den wesentlichen Merkmalen und Kompromissen, die Sie berücksichtigen müssen, gehören die Leistung, die für die Skalierung eines Rechenzentrums immer entscheidend ist, die Kompatibilität mit bestehenden Systemen, die Benutzerfreundlichkeit, der Unternehmenssupport und die Cybersicherheit.

Wenn es um Marktanteile geht, haben Tools wie Ansible, Puppet und Microsoft System Center Configuration Manager eine große Community, aber es gibt nur großartige Alternativen im CM-Bereich.

Hier sind einige der beliebtesten Tools, die Sie in Betracht ziehen oder zumindest kennen sollten:

Ansible

Mit einem Marktanteil von rund 27 % ist Ansible ein agentenloses Orchestrierungs- und Konfigurationssystem, das in YAML geschriebene Playbooks zur Verwaltung Ihrer Server verwendet.

HashiCorp Terraform

Terraform konzentriert sich mehr auf die Serverbereitstellung als auf die Serverkonfiguration und verwendet einen unveränderlichen Konfigurationsansatz, um alle Server perfekt mit dem gewünschten Zustand zu synchronisieren und Konfigurationsabweichungen zu vermeiden.

CFEngine

CFEngine ist ein älteres Tool in diesem Bereich, ein Konfigurationsmanagement-Tool, das leichtgewichtige Agenten auf den verwalteten Ressourcen ausführt und ihre Konfiguration in den gewünschten Zustand konvergiert.

Microsoft System Center-Konfigurations-Manager

Mit einem Marktanteil von rund 22 % ist MSCCM das Systemkonfigurations- und Überwachungstool von Microsoft, das die Konfiguration von Windows-basierten Assets von einem einzigen zentralen Admin-Computer aus verwaltet.

Marionette

Puppet ist ein Konfigurationsmanagement-Tool mit einem Marktanteil von fast 12 % und verwendet eine Master-Slave-Architektur, um Ressourcen im gewünschten Zustand zu halten. Zusammen mit Chef ist es eines der CM-Systeme, die sich für das Konfigurationsmanagement auf Ruby Domain Specific Languages (DSLs) verlassen.

Chefkoch

Chef ermöglicht es Ihnen, Konfigurationsverwaltungsroutinen in "Rezepten" und "Rezeptbüchern" zu speichern, die problemlos von Teams gemeinsam genutzt werden können, mit Unterstützung für eine Vielzahl von Betriebssystemen, einschließlich Windows und Linux.

AWS OpsWorks

Dies ist eine von mehreren Lösungen von AWS, die darauf abzielen, das Konfigurationsmanagement für Unternehmen zu vereinfachen, die ihre Anwendungen auf der Cloud-Plattform von Amazon hosten. OpsWorks automatisiert das Patchen, Aktualisieren und Konfigurieren von Servern mit Chef und Puppet.

Salzhaufen

Mit Salt können Sie die Programmiersprache Python verwenden, um Konfigurationsvorlagen zu erstellen, die von einem zentralen Master an Clients gesendet oder mit einem dezentralen Modell ausgeführt werden können.

Diese Tools weisen viele Gemeinsamkeiten und überlappende Funktionen auf, die Vorteile gegenüber der manuellen Verwaltung des Konfigurationsmanagements bieten, einschließlich Infrastructure-as-Code-Ansätzen, die das Rollout von Updates und das Ändern der Infrastruktur erleichtern.

Darüber hinaus helfen Ihnen diese Konfigurationsmanagement-Tools dabei, Ihre Assets aufzuzeichnen und den genauen Status all Ihrer Server und anderer vernetzter Assets zu verstehen.

Was sind die Best Practices im Konfigurationsmanagement?

Die Bereiche Konfigurationsmanagement, Datenmanagement und -kontrolle sind mit Risiken behaftet, von der Möglichkeit von Unterbrechungen der Anwendungsverfügbarkeit bis hin zu Datenverlust oder -beschädigung.

Verwenden Sie die folgenden Best Practices, um sicherzustellen, dass die Ressourcen Ihrer Organisation hochverfügbar und optimal konfiguriert sind:

Änderungen nachverfolgen

Für die Nachverfolgung von Änderungen im Zusammenhang mit der Systembereitstellung und der Konfigurationsverwaltung sollten Sie die Verwendung von Changesets anstelle von Commits für einzelne Dateien in Betracht ziehen. Changesets sind verpackte Commits, die Änderungen an einer Gruppe von Dateien, der Verzeichnisstruktur, den Gründen für Änderungen, Unit-Testkommentaren und Umgebungsänderungen in einem einfach zu verwaltenden Commit verfolgen. Auf diese Weise können Build-Manager bei jeder signifikanten Änderung an Ihren Assets sehen, welche zugehörigen Dateien sich geändert haben, was es einfacher macht, unerwünschte Änderungen rückgängig zu machen oder bei Bedarf zu einer früheren Konfiguration zurückzukehren.

Frühe Tests

Verfolgen Sie einen frühen Testansatz, indem Sie frühzeitig testen, und häufig können Sie Fehler und potenziell schädliche Regressionen in Ihrem Konfigurationsmanagement erkennen.

Leistungstests

Leistungstests geben Ihrem DevOps-Team Aufschluss darüber, wie sich die neuesten Änderungen auf die Leistung und Systemfunktionalität auswirken.

Früh und häufig integrieren

Neben Leistungstests sollten Sie auch frühzeitig und häufig integrieren, um sicherzustellen, dass neue Funktionen oder Änderungen gut mit dem Rest Ihrer Umgebung kompatibel sind. Auf diese Weise können Sie Probleme frühzeitig melden, bevor sie in der Produktion auftreten und sich als kostspielig erweisen.

Vermeiden Sie das Beheben von Problemen mit Code

Es sei denn, sie wurden in Ihrem Konfigurationsmanagement-Repository definiert. Ohne eine Definition des Problems in Ihrem Repository wissen zukünftige Prüfer nicht, was behoben wurde und ob die Korrektur funktioniert hat, was zu Codekonflikten und subtilen Fehlern führen kann.

Steuerung der Konfiguration

Darunterversteht ich die Bewertung aller Änderungsanträge und Änderungsvorschläge und deren anschließende Genehmigung oder Ablehnung. Es behandelt den Prozess der Kontrolle von Änderungen am Design, an der Hardware, der Firmware, der Software und der Dokumentation des Systems.

Dies ist ein Anfang, aber es gibt viele andere wichtige und hilfreiche Best Practices, die sich herauskristallisiert haben und einige noch entwickeln, um Ihre Computersysteme optimal zu konfigurieren.

Ihr Team sollte seine Best Practices kodifizieren, die Ihr Unternehmen in Zukunft regeln und schützen.

Dies wird eine fortlaufende Anstrengung sein, und Ihre Best Practices werden sich im Laufe der Zeit entsprechend den Anforderungen Ihrer Organisation ändern.

Wie sieht die Zukunft des Konfigurationsmanagements aus?

Das Konfigurationsmanagement ist im Wandel und es gibt viele Verbesserungen an den Tools und Prozessen, die wir verwenden.

Im Großen und Ganzen erreicht ein ordnungsgemäßes Konfigurationsmanagement drei grundlegende Ziele: die einfache Identifizierung des gesamten Codes und der Konfiguration, die in der Produktion bereitgestellt werden (auch bekannt als Konfigurationsaudit), die Fähigkeit, alle Konfigurationselemente, einschließlich des Codes, abzurufen, die zum Erreichen eines Arbeitsprodukts, eines gewünschten Zustands oder einer Veröffentlichung verwendet werden, und ein effektiver Mechanismus zum Erstellen einer Sandbox für Fehlerbehebungen oder die Anpassung einer Änderungsanforderung ohne Regressionen in der Umgebung aufgrund fehlender Header-Dateien oder anderer solcher Fehler.

Tools, die erhebliche Verbesserungen in Bezug auf einen dieser grundlegenden Treiber für das Konfigurationsmanagement versprechen, werden wahrscheinlich eine Benutzerbasis finden, und dies impliziert eine Kultur des ständigen Wandels und der Verbesserung von CM-Tools.

Zu den Tools, die in Zukunft einen enormen Beitrag zur Zukunft des Konfigurationsmanagements leisten werden, gehören Kubernetes, Docker und Tools wie Habitat, Kustomize und Conduit.

Docker gilt seit langem als die Zukunft des Konfigurationsmanagements, da es mit seinem Containerisierungsmodell und seinen Änderungsmanagementfunktionen einfach ist, Änderungen an einem Image rückgängig zu machen. Dadurch entfällt ein erheblicher Teil des Aufwands für das Konfigurationsmanagement.

Kubernetes hingegen konzentriert sich auf die Konfiguration auf der Ebene Ihrer App und ihrer Abhängigkeiten, anstatt sich auf die Konfiguration monolithischer Server zu konzentrieren. Wenn Sie bereits Docker-Container bereitstellen müssen, können Sie Ihre Anwendungen mit Kubernetes einfacher und schneller zum Laufen bringen, aber die Migration von VM-basierten Anwendungen zu Kubernetes ist immer noch ein viel schwierigerer Prozess.

Bei der Lösung einiger der Probleme, die Kubernetes Ihnen überlässt, wie z. B. das Erstellen Ihrer Anwendungen, können Chef Habitat und Kustomize helfen.

Habitat bietet einen einheitlichen Ansatz für die Erstellung und Bereitstellung Ihrer Anwendung mit einem endgültigen Paket, das auf Bare-Metal-Servern ausgeführt oder nach Docker und Kubernetes exportiert werden kann. Dies bietet einen konsistenten Workflow, der für die Ausführung Ihrer Anwendung auf jeder Plattform geeignet ist.

Kustomize hilft Ihnen, die Konfiguration Ihrer bereitgestellten Anwendungen anzupassen, und erleichtert die Verwendung von Anwendungen von Drittanbietern in Ihrer Kubernetes-Bereitstellung.

Mit der Einführung neuer Assets im Internet der Dinge (IoT) werden Unternehmen wahrscheinlich viel mehr Assets zu verwalten haben, was wahrscheinlich neue Tools einführen wird. Klar scheint jedoch, dass Containerisierungsplattformen und die damit verbundenen Konfigurationsmanagement-Tools aufgrund ihrer zahlreichen Vorteile weiterhin Marktanteile von auf virtuellen Maschinen basierenden Bereitstellungen gewinnen werden.

Ist Ihr Unternehmen von einer Datenschutzverletzung bedroht?

UpGuard kann Ihr Unternehmen vor Datenschutzverletzungen schützen, alle Ihre Datenlecks identifizieren und Ihnen helfen, die Sicherheitslage aller Ihrer Anbieter kontinuierlich zu überwachen.

UpGuard unterstützt auch die Einhaltung von Vorschriften über eine Vielzahl von Sicherheits-Frameworks hinweg, einschließlich der neuen Anforderungen, die in Bidens Cybersecurity Executive Order festgelegt sind.

Testen Sie die Sicherheit Ihrer Website, KLICKEN SIE HIER, um jetzt Ihre sofortige Sicherheitsbewertung zu erhalten!

Verwandte Artikel