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.
Es gibt keine 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

Entwicklung Speichermedien zum Cloud Hosting

Biz & Trends, Cloud, Hosting

Entwicklung Speichermedien zum Cloud Hosting

Eine kurze Geschichte der Speichermedien: Unsere Infografik von der Lochkarte in die Cloud. Welche Speichermedien hat es in der Vergangenheit schon gegeben bis wir...

weiter lesen

Wie deutsche Unternehmen die Hybrid Cloud für sich entdecken

Cloud

Wie deutsche Unternehmen die Hybrid Cloud für sich entdecken

Nachfrage nach hybriden Clouds beim Mittelstand steigt. Security ist dabei die wichtigste Herausforderung.

weiter lesen

IT-Compliance – gesetzliche Anforderungen für deutsche Unternehmen

Cloud, Hosting, IT Security

IT-Compliance – gesetzliche Anforderungen für deutsche Unternehmen

Welche Gesetze und Vorschriften müssen Unternehmen beachten, damit Informationssicherheit gewährleistet ist?

weiter lesen


Neueste Nachrichten von Adacor

Cloud Integration

Cloud

Beschleunigte Digitalisierung durch Cloud Computing

Ohne Prozessveränderungen kein Fortschritt bei der Digitalisierung. Doch Erfolgsfaktoren für eine erfolgreiche Cloud-Integration lassen sich benennen.

weiter lesen

Definition DevOps

Cloud

DevOps: Automatisieren anstelle von Reparieren

DevOps erforden ein Umdenken bei der Adminstration. OpenStack oder OpenNebula – womit gelingt die schnellere Umsetzung von Webservices?

weiter lesen

Mit SSL sicher verschlüsselt

IT Security, IT-News

SSL-Zertifikate mit dreijähriger Laufzeit am Ende

Erste Anbieter haben dreijährige Zertifikate bereits aus dem Programm genommen. Welche Auswirkungen hat dies auf den Bezug und die Erneuerung von SSL-Zertifikaten?

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.