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

Eine Erfolgsstory: Wie Cloud Computing Unternehmen zu Siegern macht

IT Quarterly kurz ITQ heißt das neue IT-Fachmagazin rund um die Themen Hosting, Digitalisierung und Management.

Das Magazin jetzt kostenlos und ohne Registrierung downloaden

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.

, , , ,

Die besten IT-News per E-Mail

Immer als Erster über brandaktuelle IT-Themen informiert sein!

Datenschutzhinweise


Weitere Artikel zum Thema lesen

ADACOR-Infrastruktur im Rechenzentrum von e-shelter

Cloud, Domains, Hosting, IT Security

ADACOR-Infrastruktur im Rechenzentrum von e-shelter

Die wichtige strategische Bedeutung sorgt für hohe Anforderungen an ein betriebssicheres RZ.

weiter lesen

Cloud

Anwendungsperformance von Cloud-Infrastrukturen optimieren

Die Migration der IT-Infrastruktur lässt sich einfach strukturieren, damit das Geschäftsziel erreicht wird. Die richtigen Fragen verrät unser Ratgeber-Beitrag zur Cloud-Infrastruktur.

weiter 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


Neueste Nachrichten von Adacor

Biz & Trends

Bei uns erhalten Bewerber schnelles Feedback

Adacor hat sich eine hohe Wertschätzung von Mitarbeitern und Bewerbern auf die Fahne geschrieben, so ist es selbstverständlich, dass Bewerber schon nach wenigen Tagen...

weiter lesen

Cloud, Hosting

Kostenvergleich: Inhouse vs Cloud

Bei der Entscheidung ob Cloud oder In-House-Lösung müssen neben der Kostenfrage, auch Qualität und Leistung analysiert werden.

weiter lesen

Biz & Trends, IT-News

IT-Branche im stetigen Wandel

Mutige Experimente, neue Ideen und viel Innovationskraft machen die IT-Branche aus, wir haben die aktuellsten Trends zusammengestellt.

weiter lesen