kentoh - Fotolia

Die grundlegenden Komponenten des Konfigurations-Management-Tools Ansible

Ansible ist eines der bekanntesten Tools zum Konfigurations-Management. Aus diesen grundlegenden Komponenten besteht Ansible.

Ansible ist ein Konfigurations-Management-Tool, mit dem sich das Verpacken und Bereitstellen von Software für IT-Umgebungen automatisieren lassen. Ansible ist ein relativ junges Produkt und wurde erst 2012 veröffentlicht, es wird zum Beispiel von Unternehmen wie Hootsuite, CloudPhysics und Lifesum verwendet und wird unter der Schirmherrschaft von Red Hat weiterentwickelt, die Ansible inzwischen übernommen haben. Ansible ist in Python geschrieben und unter der GPLv3+-Lizenz veröffentlicht.

Ansible unterscheidet sich von den meisten anderen Tools zum Konfigurations-Management, weil es nicht auf einem Client-/Server-Modell basiert, sondern SSH (Secure Shell) und JSON (JavaScript Object Notation) verwendet, um sogenannte Module an Remote-Nodes zu verteilen.

Daher belegt Ansible nur dann Ressourcen, wenn das Tool tatsächlich sinnvolle Arbeit verrichtet, also zum Beispiel dann nicht, wenn für den Node keine Konfigurationsänderungen vorliegen. Ansible arbeitet also ohne Agent oder Daemon im Hintergrund. Dieses Setup berücksichtigt dabei auch die Abhängigkeiten zwischen unterschiedlichen Systemen in einer abgestuften IT-Umgebung.

Die grundlegenden Komponenten von Ansible

Server-Nodes werden per SSH verwaltet und müssen mindestens Python 2.4 ausführen, Nodes mit Python 2.4 oder 2.5 benötigten allerdings die JSON-spezifische Bibliothek python-simplejson. Die Kontrollmaschine wiederum muss mindestens Python 2.6 ausführen. Module funktionieren mit JSON. YAML wird dabei verwendet, um wiederverwendbare Systembeschreibungen über Ansible-Rollen auszudrücken. Eine weitere Kernfunktion von Ansible ist die Verwaltung von Idempotenz, was kurz gesagt die Möglichkeit beschreibt, ein System in einen gleichen Zustand zurückzuführen.

Ansible-Rollen könenn in Playbooks wie Objekte verwendet werden. Diese Playbooks deklarieren Konfiguration und enthalten den Input für die Orchestrierung, über die Applikationen bereitgestellt werden. Über Playbooks können Aufgaben synchron oder asynchron abgearbeitet werden.

Abbildung 1: Konfigurationsänderung über ein Ansible-Playbook.

Ein weiterer Vorteil von Ansible liegt darin, dass die Module hierfür nicht in einer bestimmten Sprache geschrieben sein müssen, weil stattdessen YAML und JSON zum Einsatz kommen. Daher können bestehende Fachkenntnisse eines IT-Teams zum Beispiel in Ruby, Python, PERL oder Bash gleichermaßen zum Einsatz kommen. Ansible nutzt auch eine eigene, fast schon natürliche Programmiersprache, was die Lernkurve für das Konfigurations-Management mit Ansible sehr flach macht.

Eine der größten Beschwerden aus der Ansible-Community betrifft das Frontend des Konfigurations-Management-Tools. Die grafische Benutzeroberfläche und die Kommandozeile werden leider nicht synchron weiterentwickelt, wodurch man mitunter auf beiden Benutzeroberflächen zu unterschiedlichen Ergebnissen kommt. Dies wiederum hat enorm zur Popularität von Ansible Tower beigetragen, eine weitere grafische Benutzeroberfläche für Ansible, die REST APIs und die Ansible-Kommandozeile zu einer kohärenten Umgebung vereinigt.

Ansible Tower ist in einer kostenlosen Testversion mit vollem Funktionsumfang aber nur begrenzter Nutzungsdauer erhältlich, zusätzlich gibt es drei kostenpflichtige kommerzielle Versionen:

  • Ansible Tower Self-Service mit begrenztem Funktionsumfang, Support für bis zu 100 Nodes für etwa 5.000 US-Dollar pro Jahr oder bis zu 250 Nodes für etwa 10.000 US-Dollar pro Jahr. Beide Varianten enthalten keinen technischen Support, aber die Möglichkeit zu Versions-Upgrades.
  • Ansible Standard mit vollem Funktionsumfang, technischem Support an Werktagen und allen Enterprise-Funktionen für 10.000 US-Dollar pro Jahr für bis zu 100 Nodes. Für bis zu 250 Nodes werden etwa 20.000 US-Dollar fällig, ab 1.000 Nodes werden pro Node 50 US-Dollar berechnet.
  • Ansible Premium mit Rund-um-die-Uhr-Support für 14.000 US-Dollar pro Jahr für bis zu 100 Nodes und 70 US-Dollar pro Node ab 1.000 verwalteten Server-Nodes.

Für Ansible-Nutzer ist der zentrale Anlaufpunkt die Ansible Galaxy, eine Ansible-Community mit mehr als 4.000 aktiven Mitgliedern. Hier können Anwender Module und Playbooks herunterladen oder sich über Ansible austauschen.

Ansible unterstützt eine breite Palette an Linux-Distributionen, genauso wie einige Unix-Varianten sowie Windows und Mac OS X. Die Kontroll-Maschine allerdings kann nicht auf einem Windows-Betriebssystem ausgeführt werden, diese Kontroll-Maschine kann dafür aber, aufgrund der Arbeitsweise von Ansible, auch ein Laptop sein. Durch die große Flexibilität, die einfache Handhabung, den geringen Ressourcenverbrauch und die Möglichkeiten von Ansible Tower ist Ansible ein höchst brauchbares Tool zum Konfigurations-Management für Unternehmen fast aller Größen.

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!

Erfahren Sie mehr über Data-Center-Betrieb

- GOOGLE-ANZEIGEN

ComputerWeekly.de

Close