Was bedeutet Konfigurationsmanagement
Konfigurationsmanagement (mehr dazu Konfigurationsmanagement Training) Tools ermöglichen schnellere, wiederholbare, skalierbare und vorhersehbare Änderungen und Implementierungen, die in der Lage sind, den gewünschten Zustand beizubehalten, wodurch die kontrollierten Anlagen in einen erwarteten Zustand gebracht werden. Komplexe Softwaresysteme setzen sich aus Komponenten zusammen, die sich in der Granularität ihrer Größe und Komplexität unterscheiden.
Zu den Vorteilen der Verwendung von Konfigurationsmanagement-Tools gehören
Einige Konfigurationsverwaltungstools verwenden ein Pull-Modell, bei dem ein auf den Servern installierter Agent periodisch ausgeführt wird, um die neuesten Definitionen aus einem zentralen Repository abzurufen und auf den Server anzuwenden. Andere Tools verwenden ein Push-Modell, bei dem ein zentraler Server Aktualisierungen an verwaltete Server auslöst.
Konfigurationsmanagement ist ein notwendiges Werkzeug zur Verwaltung komplexer Softwaresysteme. Mangelndes Konfigurationsmanagement kann ernsthafte Probleme mit der Zuverlässigkeit, der Betriebszeit und der Skalierbarkeit eines Systems verursachen. Viele aktuelle Software-Entwicklungswerkzeuge verfügen über eingebaute Konfigurationsmanagement-Funktionen.
Ansible ist eine radikal einfache IT-Automatisierungsplattform, mit der Ihre Anwendungen und Systeme leichter zu implementieren sind. Vermeiden Sie das Schreiben von Skripten oder benutzerdefiniertem Code zur Bereitstellung und Aktualisierung Ihrer Anwendungen - automatisieren Sie in einer Sprache, die sich einfachem Englisch annähert, unter Verwendung von SSH, ohne dass Agenten auf entfernten Systemen installiert werden müssen.
Sie können Ansible (siehe Ansible Schulung) verwenden, um denselben Befehl für eine Liste von Servern von der Kommandozeile aus auszuführen. Man kann es auch verwenden, um Aufgaben mit Hilfe von "Playbooks" zu automatisieren, die in eine YAML-Datei geschrieben wurden und die Kommunikation (mehr dazu Kommunikation Schulungen) zwischen Teams und nicht-technischen Personen erleichtern. Seine Hauptvorteile liegen darin, dass es einfach, agentenlos und leicht lesbar ist (insbesondere für Nicht-Programmierer).
Da keine Agenten benötigt werden, entsteht weniger Overhead auf den Servern. Eine SSH-Verbindung ist erforderlich, wenn sie im Push-Modus läuft (was die Standardeinstellung ist), aber der Pull-Modus steht bei Bedarf zur Verfügung. Playbooks können mit einem minimalen Satz von Befehlen geschrieben werden, oder sie können für aufwändigere Automatisierungsaufgaben skaliert werden, die von anderen Personen geschriebene Rollen, Variablen und Module enthalten können.
Sie können Ansible mit anderen Tools kombinieren, um eine zentrale Konsole zur Steuerung von Prozessen zu schaffen. Ein ausführliches Training finden Sie in der Ansible Schulung. Zu diesen Tools gehören Ansible Works (AWX), Jenkins (mehr dazu Jenkins Schulung) , RunDeck und ARA, das die R (mehr dazu R Schulung) ückverfolgbarkeit beim Ausführen von Playbooks ermöglicht.
Puppet, eine automatisierte administrative Engine für Ihre Linux-, Unix- und Windows-Systeme, führt administrative Aufgaben (wie das Hinzufügen von Benutzern, die Installation von Paketen und die Aktualisierung von Serverkonfigurationen) auf der Grundlage einer zentralisierten Spezifikation aus.
Konzipiert als ein Werkzeug, das sich an Operationen und Sysadmins orientiert, hat sich Puppet als ein Konfigurationsmanagement-Tool konsolidiert. Es arbeitet normalerweise in einer Client-Server-Architektur, und ein Agent kommuniziert mit dem Server, um Konfigurationsanweisungen abzurufen.
Puppet verwendet eine deklarative Sprache oder Ruby, um die Systemkonfiguration zu beschreiben. Es ist in Modulen organisiert, und die Manifest-Dateien enthalten die Ziele des gewünschten Zustandes, um alles wie erforderlich zu halten. Ein ausführliches Training finden Sie in der Puppet Schulung. Puppet verwendet standardmäßig das Push-Modell, und das Pull-Modell kann konfiguriert werden.
Nun, mit Puppet können Sie Konfigurationen für all diese Komponenten definieren, und dann können Sie Puppet anweisen, dies zu tun. Die Vorteile, die sich daraus ergeben, kommen mit der Zeit richtig zum Tragen. Wenn Sie zum Beispiel einen weiteren Webserver hinzufügen müssen, können Sie einfach einen neuen Server hinzufügen und Puppet anweisen, ihn in einen Webserver zu verwandeln, der auf dieselbe Weise konfiguriert ist wie alle anderen Webserver.
Wenn dann später mit diesem Webserver etwas passiert, wie z.B. die Änderung der Apache-Konfigurationsdatei, dann würde Puppet ihn ohne menschliches Eingreifen wieder in seine gewünschte Konfiguration zurückbringen.
In erster Linie bringt es Konsistenz auf Ihre Server. Sie müssen nicht mehr herausfinden, warum etwas auf einem Server funktioniert, aber auf einem anderen, der eigentlich identisch sein sollte, nicht funktioniert. Zweitens ist ein großer Nebeneffekt der Konsistenz die Zuverlässigkeit. Sie haben weniger Ausfallzeiten, denn es gibt weniger, was schief gehen kann, wenn alles so konfiguriert ist, wie es sein soll.
Chef ist im Grunde eine Automatisierungsplattform, die eine Möglichkeit bietet, die Infrastruktur zu konfigurieren und zu verwalten. Infrastruktur als Code impliziert die Ausführung durch Kodierung und nicht durch manuelle Ausführung. Chef arbeitet mit Ruby und DSL, um die Konfigurationen zu schreiben.
Der Schwerpunkt von Juju liegt vor allem auf der Verringerung des operativen Overheads von Software der neuen Generation durch die Bereitstellung von Einrichtungen wie schnelle Bereitstellung, Konfiguration, Skalierung, Integration und Durchführung operativer Aufgaben auf einer Vielzahl von öffentlichen und privaten Cloud-Diensten zusammen mit nur Servern, offenen Stacks und lokalen, systembasierten Bereitstellungen.
Zu den Vorteilen der Verwendung von Konfigurationsmanagement-Tools gehören
- Einhaltung von Codierungskonventionen, die die Navigation im Code erleichtern
- Idempotenz, was bedeutet, dass der Endzustand derselbe bleibt, egal wie oft der Code ausgeführt wird
- Verteilungsdesign zur Verbesserung der Verwaltung einer großen Anzahl von Remote-Servern
Einige Konfigurationsverwaltungstools verwenden ein Pull-Modell, bei dem ein auf den Servern installierter Agent periodisch ausgeführt wird, um die neuesten Definitionen aus einem zentralen Repository abzurufen und auf den Server anzuwenden. Andere Tools verwenden ein Push-Modell, bei dem ein zentraler Server Aktualisierungen an verwaltete Server auslöst.
Konfigurationsmanagement ist ein notwendiges Werkzeug zur Verwaltung komplexer Softwaresysteme. Mangelndes Konfigurationsmanagement kann ernsthafte Probleme mit der Zuverlässigkeit, der Betriebszeit und der Skalierbarkeit eines Systems verursachen. Viele aktuelle Software-Entwicklungswerkzeuge verfügen über eingebaute Konfigurationsmanagement-Funktionen.
Ansible ist eine radikal einfache IT-Automatisierungsplattform, mit der Ihre Anwendungen und Systeme leichter zu implementieren sind. Vermeiden Sie das Schreiben von Skripten oder benutzerdefiniertem Code zur Bereitstellung und Aktualisierung Ihrer Anwendungen - automatisieren Sie in einer Sprache, die sich einfachem Englisch annähert, unter Verwendung von SSH, ohne dass Agenten auf entfernten Systemen installiert werden müssen.
Sie können Ansible (siehe Ansible Schulung) verwenden, um denselben Befehl für eine Liste von Servern von der Kommandozeile aus auszuführen. Man kann es auch verwenden, um Aufgaben mit Hilfe von "Playbooks" zu automatisieren, die in eine YAML-Datei geschrieben wurden und die Kommunikation (mehr dazu Kommunikation Schulungen) zwischen Teams und nicht-technischen Personen erleichtern. Seine Hauptvorteile liegen darin, dass es einfach, agentenlos und leicht lesbar ist (insbesondere für Nicht-Programmierer).
Da keine Agenten benötigt werden, entsteht weniger Overhead auf den Servern. Eine SSH-Verbindung ist erforderlich, wenn sie im Push-Modus läuft (was die Standardeinstellung ist), aber der Pull-Modus steht bei Bedarf zur Verfügung. Playbooks können mit einem minimalen Satz von Befehlen geschrieben werden, oder sie können für aufwändigere Automatisierungsaufgaben skaliert werden, die von anderen Personen geschriebene Rollen, Variablen und Module enthalten können.
Sie können Ansible mit anderen Tools kombinieren, um eine zentrale Konsole zur Steuerung von Prozessen zu schaffen. Ein ausführliches Training finden Sie in der Ansible Schulung. Zu diesen Tools gehören Ansible Works (AWX), Jenkins (mehr dazu Jenkins Schulung) , RunDeck und ARA, das die R (mehr dazu R Schulung) ückverfolgbarkeit beim Ausführen von Playbooks ermöglicht.
Puppet, eine automatisierte administrative Engine für Ihre Linux-, Unix- und Windows-Systeme, führt administrative Aufgaben (wie das Hinzufügen von Benutzern, die Installation von Paketen und die Aktualisierung von Serverkonfigurationen) auf der Grundlage einer zentralisierten Spezifikation aus.
Konzipiert als ein Werkzeug, das sich an Operationen und Sysadmins orientiert, hat sich Puppet als ein Konfigurationsmanagement-Tool konsolidiert. Es arbeitet normalerweise in einer Client-Server-Architektur, und ein Agent kommuniziert mit dem Server, um Konfigurationsanweisungen abzurufen.
Puppet verwendet eine deklarative Sprache oder Ruby, um die Systemkonfiguration zu beschreiben. Es ist in Modulen organisiert, und die Manifest-Dateien enthalten die Ziele des gewünschten Zustandes, um alles wie erforderlich zu halten. Ein ausführliches Training finden Sie in der Puppet Schulung. Puppet verwendet standardmäßig das Push-Modell, und das Pull-Modell kann konfiguriert werden.
Nun, mit Puppet können Sie Konfigurationen für all diese Komponenten definieren, und dann können Sie Puppet anweisen, dies zu tun. Die Vorteile, die sich daraus ergeben, kommen mit der Zeit richtig zum Tragen. Wenn Sie zum Beispiel einen weiteren Webserver hinzufügen müssen, können Sie einfach einen neuen Server hinzufügen und Puppet anweisen, ihn in einen Webserver zu verwandeln, der auf dieselbe Weise konfiguriert ist wie alle anderen Webserver.
Wenn dann später mit diesem Webserver etwas passiert, wie z.B. die Änderung der Apache-Konfigurationsdatei, dann würde Puppet ihn ohne menschliches Eingreifen wieder in seine gewünschte Konfiguration zurückbringen.
In erster Linie bringt es Konsistenz auf Ihre Server. Sie müssen nicht mehr herausfinden, warum etwas auf einem Server funktioniert, aber auf einem anderen, der eigentlich identisch sein sollte, nicht funktioniert. Zweitens ist ein großer Nebeneffekt der Konsistenz die Zuverlässigkeit. Sie haben weniger Ausfallzeiten, denn es gibt weniger, was schief gehen kann, wenn alles so konfiguriert ist, wie es sein soll.
Chef ist im Grunde eine Automatisierungsplattform, die eine Möglichkeit bietet, die Infrastruktur zu konfigurieren und zu verwalten. Infrastruktur als Code impliziert die Ausführung durch Kodierung und nicht durch manuelle Ausführung. Chef arbeitet mit Ruby und DSL, um die Konfigurationen zu schreiben.
- Chef folgt dem Push-Modell und ermöglicht die Einführung der Cloud (siehe auch Cloud Seminare) .
- Chef hilft, die Ausfallsicherheit der Dienste zu erhöhen und mehr fehlerfreie Software zu entwickeln, da es Fehler erfasst, bevor sie auftreten.
- Chef hilft bei der Verbesserung des Risikomanagements. Die Automatisierungsfähigkeiten von Chef sind in der Lage, Risiken zu senken und die Einhaltung von Vorschriften in allen Entwicklungsphasen zu verbessern.
- Chef benötigt unbedingt Ruby
Der Schwerpunkt von Juju liegt vor allem auf der Verringerung des operativen Overheads von Software der neuen Generation durch die Bereitstellung von Einrichtungen wie schnelle Bereitstellung, Konfiguration, Skalierung, Integration und Durchführung operativer Aufgaben auf einer Vielzahl von öffentlichen und privaten Cloud-Diensten zusammen mit nur Servern, offenen Stacks und lokalen, systembasierten Bereitstellungen.
- JUJU bietet Software-Bereitstellungsfunktionen.
- JUJU bietet sofortige Integration und Skalierung.
- JUJU kann fast alle Komplexitäten hinsichtlich der Dienstskalierung mit Anmut lösen.
- JUJU kann verwendet werden, um mehrere PaaS auf einer Plattform auszuführen.
- Kubernetes Cluster-Bereitstellung.
- JUJU bietet TLS zwischen den Knoten zur Sicherheit.
- JUJU kann Knoten nach oben und unten skalieren.