Configuration Management

Wir lösen IT-Probleme professionell und effizient.

Configuration Management beschreibt die Identifikation, die Planung und die Aufnahme von IT Komponenten und Beziehungen.

Die grundlegenden Tätigkeiten von CM sind:

Monitoring

Planung

Identifikation

Verifikation

Auch heutzutage leistet das Configuration Management, selbst im Mittelstand, einen wesentlichen Beitrag zum Unternehmenserfolg. Es ist Bestandteil des Produkt Lifecycle Managements (PLM). Ausserdem sorgt das Konfigurationsmanagement sowohl bei der Entwicklung eines Produktes, als auch im nachfolgenden Produktionsprozess und bei der Verbesserung von Produkten für Effizienz, Effektivität und Qualität. Somit ist CM eine wichtige Managementdisziplin. Wird diese über die Lebensdauer eines Produktes angewandt, so wird ddas Monitoring und die Transparenz der physischen und funktionellen Merkmale sichergestellt.

Zusammenfassend lässt sich sagen, dass der Einsatz strategischer Methoden und die Prozessoptimierung bei der Einführung Ihres Configuration Management im Vordergrund stehen.

Unsere Configuration Management Dienstleistungen:

=

Ist-Analyse

=

Konzeption

=

Betreuung

=

Systemoptimierung

=

Analyse aller CM-Prozesse im Unternehmen

=

qualifizierte Schulungen für Ihre Mitarbeiter

Planung des Configuration Managements

Zuerst wird die Gesamtkonfiguration auf oberstem Level ermittelt. Diese umfasst die Definition und Planung, deren Zielsetzungen, Bereiche, Zwecke, die IT-politischen Linien und deren technischen und organisatorischen Content für das CM. 

Die CM Planung besteht aus der Definition und aus der Festlegung folgender Parameter:
Interfaces zwischen beispielsweise Support Teams, Lieferanten, Applikationen und Projekten
die Position der Library, die Software und Hardware Komponenten enthalten
die Zielsetzungen, die Strategie und die Bereiche des Konfigurationsmanagements
die relevanten Prozeduren, Richtlinien, Rollen, Verantwortlichkeiten und Prozesse für alle Configuration-Management-Tätigkeiten
Analyse der aktuellen Konfigurationen
der technische und organisatorische Kontext, durch den Configuration-Management-Tätigkeiten eingeführt werden sollen

Puppet

Puppet ist eine Configuration Management Lösung. Ihre Hauptaufgabe ist die automatisierte Verteilung von Konfigurationen vieler Systeme. Konfigurationsparameter können etwa eine Datensynchronisation, das Ausführen von Programmen oder die Installation von Software sein.

Prinzipiell ist Puppet plattformübergreifend, jedoch werden besonders unixoide Betriebssysteme unterstützt wie BSD, Unix und Linux. Microsoft Windows lässt sich ebenfalls z.B. mit Puppet erfolgreich verwalten.

Dank Puppet müssen Server und Applikationen nicht mehr manuell administriert werden, sondern werden automatisch in der Skalierung verwaltet. So werden Aufgaben wie Rechnerinstallation, Paketinstallation oder Konfigurationsänderungen zentral beschrieben und ausgerollt.

In vielen Unternehmen werden diese Aufgaben noch manuell durchgeführt, dies führt nicht nur zu Fehlern, sondern ist auch mit wachsender Serveranzahl und zunehmender Manpower/Arbeitszeit verbunden.

Die IT-Automation funktioniert mit einer Software, in der alle Eigenschaften eines Servers, einer ganzen Serverklasse oder einer ganzen Cloud gespeichert sind. Dadurch können automatisch neue Systeme installiert oder bestehende Systeme aktualisiert werden.

Diese weiterverarbeitete Open Source Software wird schon heute von vielen Universitäten, Schulen, Firmen oder Gemeinschaften verwendet, um die Konfiguration ihrer Server zu verwalten.

Somit eignet sich Puppet nicht nur für einzelne Rechner, sondern auch für große Rechenverbünde und ist daher das ideale Systemwerkzeug zur Verteilung sämtlicher Konfigurationen für Webserver, Datenbank-Server, Mail-Server, NTP-Server, SSH-Server und vielen weiteren Anwendungen.

Zentrale Konfiguration

An einer zentralen Stelle, dem sogenannten Puppet-Master, werden Konfigurationsänderungen beschrieben und abgelegt.
Die Dateien werden anschließend auf Clients verteilt und setzten dann die gewünschten Changes auf den betroffenen Servern um. Dies geschieht alles unabhängig von Betriebssystem.

Für jede Umgebung

Egal ob kleine oder sehr große Netzwerke, Puppet eignet sich für jede Umgebung. Während man Puppet in kleineren Umgebungen lokal aufrufen kann, bietet es für größere Umgebungen einen Client-Server Modus.
Die Konfiguration wird von dem zentralen Puppet Server über SSL basierte Protokolle an seine Clients verteilt. Anschließend nimmt er die Protokolle für das Reporting entgegen.

Wiederverwendbar

Es wird von Puppet eine eigene interne, deklarative Sprache verwendet, um die Konfiguration eines Zielsystems zu beschreiben. Somit kann die Konfiguration ganz einfach, ohne auch nur eine einzige Zelle der Metakonfiguration ändern zu müssen, auf die anderen Systeme ausgerollt werden.

Features

Puppet kann unterschiedliche Administrations-Aufgaben, wie das Ändern von Konfigurationsdateien, Softwareinstallation, oder das Anlegen eines Unsers auf verschiedene Server durchführen, selbst wenn unterschiedliche Betriebssysteme auf den Servern ausgeführt werden.

Mehr Zeit für Dich

Durch Puppet musst du dich weniger mit unangenehmen Routineaufgaben beschäftigen und das, egal ob in einem kleinen und uneinheitlichen Netz mit Workstations, oder in einer großen, gleichartigen Clusterumgebung.
All diese zeitaufwendigen Aufgaben lassen sich automatisieren. Somit bleibt mehr Zeit, um sich effektiv um die wichtigen Aufgaben und Projekte zu kümmern.

Inventarisierung inklusive

Durch Facter, ein Überprüfungstool, wird automatisch ein Profil mit allen Hosts, die von Puppet verwaltet werden, erstellt. Diese Daten stehen dann den Puppet Skripten als Variablen zur Verfügung.
Das System kann dann automatisch in unterschiedliche Kategorien, wie beispielsweise nach Hardware, Netzwerk, Betriebssystem oder Hostnamen eingeteilt werden, ohne die Informationen manuell einpflegen zu müssen.

Notwendigkeit

Die Stärke von Puppet liegt darin, große Systeme mit mehreren Rechnern automatisiert zu verwalten. Dadurch besteht aber die Gefahr, dass der System-Administrator den Überblick verlieren könnte. Es läuft auch nicht jeder Puppet-Durchlauf problemlos ab. Bei uneinheitlichen Systemen mit vielen unterschiedlichen Rechnermodellen und verschiedenen Versionsständen kann es eher zu Fehlern kommen. Volle Festplatten oder unerwartete dpkg-Abbrüche sind nur zwei der vielfältigen Gründe, weshalb es zu Fehlern kommen kann. Diese sollten sicherheitshalber manuell behoben werden.
Puppet nimmt alle Konfigurationen vor, solange es lauffähig ist. Sollte jedoch ein offenes Programm einen unerwarteten Rückgabewert zurückgeben, wird der Puppet-Run als failed bewertet. Es wird nach jedem Puppet-Run einen puppet-report erstellt, der YAML-ausgezeichnet zurück an den Puppet-Master gesendet wird. Der Puppet-Master-Host holt die Reporte ein trägt sie in eine Datenbank ein. Dies ermöglicht eine schnelle, webbasierte Darstellung. Zudem können die Reporte mit einer Monitoring-Software überwacht werden.

Ansible

Mit Ansible erreichen Sie schnell nachvollziehbare Ergebnisse, ohne lange Einarbeitungszeit. Im Vordergrund steht die Verknüpfung von technischen Abläufen für DevOps, oder einer reinen Operation-Aufgaben.
Ansible dient zur zentralen Verwaltung (Orchestrierung) und Administration von verteilten Servern.
Es ist eins der bekanntesten Software-Produkte, neben Puppet und Chef, mit dem verteilte Systeme administriert werden können.

Vorteile

Es benötigt keine zentralen Komponenten. Ein Rechner, mit dem Ansible(?) per ssh auf die zu verwaltenden Server zugreifen kann, reicht aus.
Eine Vielzahl von bereits vorgefertigten Playbooks können meinst kostenlos runtergeladen werden.

Weniger Aufwand ohne Agenten

Auf den Zielsystemen ist es nicht notwendig, einen Agenten zu installieren oder zu pflegen. Auch naturgetreue Komponenten können so in die Automatisierung aufgenommen werden, die normalerweise keine Installation von Agenten unterstützen. Ansible ist besonders stark in der Automatisierung von Netzwerken.

Agiles Vorgehen von niedrigen Lernkurven

Automic Playbooks sind nahe an der bisherigen Skripting-Arbeit im Betrieb erstellbar und somit ohne große Lernkurve einsetzbar. Die perfekte Grundlage bieten die Zusatzfeatures, Fehlermanagement und eine Zustandsbeschreibung von Ansible. Die Einarbeitungszeit ist wesentlich geringer, als bei den anderen Programmen.

Globale Community mit endlosen Möglichkeiten

Mit Ansible Modulen unterstützen heutzutage schon viele Hersteller die Automatisierbarkeit ihrer Produkte. Zusätzlich bieten eine große Community in der Ansible-Galaxy über 30.000 Integrationsmöglichkeiten für unterschiedliche Anwendungsfälle.

Voraussetzungen

Um mit Ansible einwandfrei arbeiten zu können, empfiehlt sich die Installation auf einem Rechner, auf dem bereits Linux installiert ist. Der verwaltende Server muss lediglich gut zu erreichen sein, man kann die Workstation des Linux-Admins nutzen, oder einen anderern Rechner.
Um auf die verwaltenden Server zugreifen zu können, müssen diese über ein Netzwerk erreichbar sein. Hierbei ist es egal, ob die Geräte über VPN, das LAN oder über das Internet erreicht werden können.
Im Wesentlichen läuft die Kommunikation zwischen Ansible und Hosts in räumlicher Entfernung über ssh (secure shell). Um auf die räumlich entfernten Server ohne Kennwort zugreifen zu können, muss eine SSH-Verbindung mittels Zertifikats möglich sein.

Ansible Tower

Im direkten Vergleich zwischen Ansible und Ansible Tower bietet letzterer Funktionen, die für den großflächigen IT-Einsatz des Unternehmens sehr wichtig sind. Dazu gehört auch eine rollenbasierte Zugriffskontrolle, die es einzelnen Benutzern und Benutzergruppen ermöglicht, korrekt und sicher auf die Ansible-Umgebung zuzugreifen. Diese Zugriffskontrolle verbessert die Sicherheit und bietet auch nachvollziehbarkeit durch Auditierungsfunktionen.

Ansible Tower verwendet die Integration mit Active Directory und Lightweight Directory Access Protocol (LDAP), um Zugriffskontrollfunktionen zu unterstützen. Darüber hinaus fungiert Ansible Tower auch als zentrale Plattform für den Betrieb von Ansible Playbooks, die Protokollierung von Protokolldateien und die Verwaltung des Inventars von Umgebungshosts. Das Ansible Tower-Dashboard bietet auch einen Überblick über den Zustand und den Status der Bereitstellung, einschließlich aktueller Details zur Ausführung von Ansible-Jobs.

Eine weitere nützliche Funktion von Ansible Tower ist die Möglichkeit, automatisierte Jobs zu planen. Dies hängt eng mit den Integrationsfähigkeiten des Produkts zusammen. Ansible Tower bietet auch eine REST-API, mit der Befehle in die Tower-Konfiguration integriert werden können. Auf dieser Grundlage kann das Unternehmen eine tiefere Ebene der erforderlichen Zustandskonfiguration automatisieren und gleichzeitig die typischen und potenziellen Fehler bei der manuellen Verwaltung der Infrastruktur reduzieren. Diese Funktion kann auch externe Tools wie eine Datenbank für das Konfigurationsmanagement in Ansible Tower integrieren. Dies ist insbesondere für große Unternehmen üblich oder von Vorteil.