Menü
Ein Beitrag von Adacor

Konfigurationsmanagement mit Ansible

Wie Automatisierung in die Ssystemadministration Einzug hältOpen Source Software zum Konfigurationsmanagement

Die etablierten Lösungen für Konfigurationsmanagement heißen CFEngine, Puppet oder Chef, die Newcomer Saltstack und Ansible. Sogenannte Konfigurationsmanagementsysteme sind spätestens seit dem Erfolg und den Errungenschaften von DevOps in den Unternehmen angekommen und ermöglichen so zum Beispiel die Automatisierung von Prozessen bei der Administration von Servern.

Entwickler und Systemadministratoren werden zukünftig stärker zusammenarbeiten. Ansible leistet hierzu einen Beitrag, indem es ermöglicht, die Systemadministration wie Entwicklungscode zu behandeln und die im Rahmen eines Projektes benötigte Serverkonfiguration im Entwicklerteam zu managen. Einfachheit und Lesbarkeit der Konfiguration sind dabei besondere Merkmale dieser Open-Source-Lösung.

Konfigurationsmanagement – Wozu braucht man das?

Ansible ist eine Konfigurationsmanagementsoftware. Aber was leistet eine derartige Software genau? Fakt ist, dass alle Konfigurationsmanagementsysteme nach demselben Prinzip arbeiten: Es gibt eine Sprachsyntax, mit Hilfe derer man den Zustand eines Servers definiert. Bei Ansible kommt die vereinfachte Auszeichnungssprache YAML zum Einsatz. Auf dieser Grundlage kann die Systemadministration wie Entwicklercode behandelt werden, denn die entsprechenden Konfigurationsdateien selbst können durch klassische Versionsverwaltungen wie GIT oder SVN gepflegt werden, die sich schon in der Softwareentwicklung bewährt haben. Die Konfigurationsmanagementsoftware kümmert sich im nächsten Schritt darum, dass der im Vorfeld definierte Zustand auf dem Server ausgeführt wird. Das hat für den Entwickler beziehungsweise Administrator den Vorteil, dass er verschiedene Serverzustände definieren kann, zwischen denen er mithilfe von Ansible hin- und herswitchen kann. Da alles im Vorfeld sauber definiert wurde, entfällt die zeitaufwendige und möglicherweise fehlerhafte Konfiguration von Hand. Mehreren Servern kann nun einfach und unkompliziert der identische Zustand zugewiesen werden. Diese Form der Standardisierung und Automatisierung der Abläufe bedeutet eine enorme Arbeitserleichterung auf Seiten der Administration.

Image

Filoo Cloudeasy

Sie wollen eine sichere Cloud? Dann haben Sie diese mit Cloudeasy soeben gefunden. Hier bekommen Sie eine skalierbare Lösung, mit der Sie sofort loslegen können.

Ohne lange Einarbeitungszeit – diese Cloud funktioniert einfach.
Jetzt direkt informieren

Der Einsatz von Ansible lohnt sich im Prinzip schon ab einem Server und für alle, die sich mit Serverkonfiguration befassen. Schließlich macht sich die Software von Anfang an nützlich, indem sie für die Serverkonfiguration unter anderem als eine Art Backup fungiert. Mithilfe von Ansible kann man die ursprüngliche Konfiguration binnen von Minuten wiederherstellen, sollte sie einmal zerstört worden sein. Aber Ansible eignet sich auch für die Konfiguration komplexer Serverlandschaften inklusive verschiedener Applikationen wie es zum Beispiel bei einem Webshop der Fall ist. Man spricht in diesem Fall von Orchestrierung.

Das ist Konfigurationsmanagement noch einmal einen Schritt weitergedacht. Bei einem Webshop kommen beispielsweise ein Loadbalancer, ein oder mehrere Web- und Datenbankserver sowie verschiedene Applikationen zum Einsatz. Im Rahmen der Orchestrierung definiert der Administrator mithilfe von Ansible das Zusammenspiel aller eingesetzten Komponenten und die reibungslose Kommunikation zwischen den einzelnen Bausteinen.

Systemvoraussetzungen und Kernfunktionalitäten

Automatisierung mit AnsibleDer Start mit Ansible ist denkbar unkompliziert, denn die Software benötigt quasi keine Systemvoraussetzungen. Benötigt wird lediglich ein SSH-Zugriff, damit der Administrator die Clients verwalten kann. Darüber hinaus wird noch eine Python-Installation inklusive einer spezifischen Bibliothek benötigt. Auf dem Zielsystem muss – im Gegensatz zu den meisten anderen Konfigurationsmanagementsystemen – keine Client-Software installiert und konfiguriert werden. Das erleichtert den Einstieg in das Konfigurationsmanagement erheblich.

In Ansible selbst werden im Wesentlichen zwei Funktionen unterschieden, sogenannte Rollen und Playbooks. Einer Rolle werden spezielle aufeinander folgende Aufgaben oder Tasks zugewiesen. Es gibt zum Beispiel eine Rolle, die legt die User an. Eine andere konfiguriert den Web- oder Datenbankserver. Rollen sind im Idealfall eng gefasst. Denn je enger sie gefasst sind, desto häufiger kann man sie wiederverwenden und sich für jeden Server eine passende Konfiguration aus den einzelnen Rollen zusammensetzen.

Der Zustand eines Systems wird – stark vereinfacht ausgedrückt – mithilfe von Playbooks beschrieben. Das sind Dateien, in denen mehrere Rollen zusammengefasst werden. Dabei sind Playbooks nicht auf einzelne Systeme beschränkt, sondern können ganze Umgebungen (Webserver, Datenbankserver, Loadbalancer) zeitgleich konfigurieren.

Alle Konfigurationsmanagementsysteme – so auch Ansible – arbeiten idempotent. Das heißt, dass der Programmcode, egal wie häufig er hintereinander ausgeführt wird, das gleiche Ergebnis liefert – eine strukturierte und nachvollziehbare Version der Serverkonfiguration.

Viele Vorteile, wenig Nachteile

Aus unserer Sicht überwiegen in Bezug auf Ansible die Vorteile:

  • Einfache Sprachsyntax (YAML); der Einarbeitungsaufwand ist vergleichsweise gering. Dies geht einher mit einer niedrigen Lernkurve und minimalem Schulungsaufwand, denn die Grundlagen kann man sich schnell aneignen.
  • Eine sichere und einfache Verbindung über SSH.
  • Es wird keine Client-Software benötigt. Das bedeutet weniger Aufwand für und geringere Kosten für die Kunden. Außerdem ist man hierdurch unabhängig von einem Masterserver.
  • Hohe Flexibilität und Wiederverwendbarkeit durch die Verwendung von Rollen.
  • Ansible ist eine Open-Source-Lösung, das bedeutet, die Modifikation und das bedarfsorientierte Customizing ist problemlos möglich.

Klassische Nachteile sind durch den Einsatz des Systems nicht zu befürchten. Im Gegenteil, sobald man ein Konfigurationsmanagementsystem im Einsatz hat, ist man in jedem Fall besser aufgestellt als vorher, denn im Ernstfall kann man das System binnen von Minuten neu aufsetzen.
Lediglich wer Wert auf das Live-Feedback legt, ist mit Ansible nicht gut beraten und sollte gegebenenfalls auf Puppet oder Chef umsteigen, denn über einen Masterserver mit entsprechenden Clients verfügt Ansible nicht. Stattdessen hat jeder Systemadministrator Ansible auf seinem Rechner installiert und kann arbeiten. Durch die Versionsverwaltung beispielsweise mit GIT ist es dabei problemlos möglich, die Konfigurationen im verteilten Team zu koordinieren.

Ansible im Einsatz bei ADACOR

ADACOR hat mehrere Hundert Server im Einsatz. Da die verschiedenen Hosting-Projekte in der Regel kundengetrieben sind, sind die jeweiligen Konfigurationen der Systeme sehr unterschiedlich und individuell auf die Bedürfnisse der Kunden angepasst. Was, abhängig von den Anforderungen, mit erheblichem Zeit- und Pflegeaufwand verbunden ist.

Mit Ansible ist es problemlos möglich, eine standardisierte und „bewährte“ Standardkonfiguration auf den Systemen zu hinterlegen und diese an die projektspezifischen Erfordernisse anzupassen. Das entlastet den Pflegeaufwand im Betrieb und vereinfacht das Changemanagement sowie die dazugehörige Dokumentation.

Auch die Konzeption der neuen As-a-Service-­Produkte von ADACOR stützt sich auf professionelles Konfigurationsmanagement. Den neuen MySQL-Service beispielsweise können Kunden völlig automatisiert und auf der Basis von hinterlegten Standardkonfigurationen über ein Webportal selbst buchen und einrichten. Manuell würde die Einrichtung eines solchen Services mindestens ein bis zwei Stunden Zeit in Anspruch nehmen. Nun kann der Kunde sich das gewünschte Produkt binnen ein bis zwei Minuten über das Portal selbst zusammenstellen. Der Server wird völlig automatisiert über die Cloud bereitgestellt, während die Konfiguration auf der Basis von Code und Ansible-Standardkonfigurationen erfolgt.

Fazit

Ansible, der Youngster unter den Konfigurationsmanagementsystemen, zeichnet sich durch Einfachheit, Lesbarkeit und eine schlanke Konzeption aus. Der Einarbeitungsaufwand ist vergleichsweise gering. Das macht Ansible prinzipiell für jeden interessant, der sich mit Serverkonfigurationen befasst. Die mit der Automatisierung und Standardisierung einhergehende Effizienzsteigerung bei der Serverkonfiguration ist der Hauptgrund, der für den Einsatz von Ansible spricht. Das Tool entlastet Systemadministratoren erheblich, nicht zuletzt dadurch, dass sich etwaige Fehler oder Sicherheitslücken in der Konfiguration mithilfe des Tools schnell und automatisiert beheben lassen.

, , , ,


Weitere Artikel zum Thema lesen

Taskmanagement – Verknüpfung von Kanban mit Helpdesk

Biz & Trends, Cloud, Hosting

Taskmanagement – Verknüpfung von Kanban mit Helpdesk

Warum wir unser Kanban-System mit dem Ticketsystem (OTRS) verbunden haben.

weiter lesen

Hybrid Cloud – Definition und Erklärvideo

Cloud, Hosting, IT Security

Hybrid Cloud – Definition und Erklärvideo

Clouds für Unternehmen werden zukünftig vor allem hybrid. Unser Video erleichtert es Ihnen, die unterschiedlichen Cloud-Optionen zu verstehen.

weiter lesen

Intrusion Detection System – System und Netzwerke richtig absichern

Cloud, Hosting, IT Security, IT-News

Intrusion Detection System – System und Netzwerke richtig absichern

Bei der Entwicklung von Webseiten ist die Absicherung des Systems vor Hacking-Attacken wichtig. So unterstützt ein Intrusion Detection System die frühzeitige Erkennung von Angriffen...

weiter lesen


Neueste Nachrichten von Adacor

DevOps in Unternehmen

Hosting

Wann DevOps für Unternehmen sinnvoll ist

Das Zusammenfinden der beiden Bereiche „Entwicklung und Betrieb“ ist vor der ersten Zeile Code obligatorisch, denn DevOps ist kein Framework, sondern eine Kultur.

weiter lesen

Der Schlüssel zum effektiven Domain Management

Domains

Domain Management: Verwalten Sie Ihre Domains (noch) selbst?

Die Anzahl der Domains nimmt verstärkt zu. Deren Management wird zunehmend zur Herausforderung. Wir bieten Ihnen den Schlüssel zum effektiven Domain Management.

weiter lesen

So funktioniert Cloud Hosting

Cloud

So funktioniert Cloud Hosting

Das Modell Cloud Hosting verspricht jederzeit skalierbare, virtualisierte Server, die immer die Leistung zur Verfügung stellen, die gerade benötigt wird.

weiter lesen

Diese Website verwendet Cookies. Mit der weiteren Nutzung der Website stimmen Sie unserer Datenschutzerklärung zu.
Für weitere Informationen klicken Sie bitte hier.