Was ist Ansible?

Ansible ist ein Werkzeug zur Automatisierung der Einrichtung und Konfiguration von IT-Infrastruktur in der Cloud oder im klassischen OnPremise-Betrieb.

Ansible ist OpenSource und als DevOps-Tool ideal für das Konfigurationsmanagement und Deployment von Anwendungen.

Wozu ist Ansible nützlich?

Mit einer Ansible-Automatisierung kannst Du Software auf Deiner Infrastruktur installieren, tägliche Routine-Aufgaben automatisieren, neue Infrastruktur bereitstellen, die Sicherheit und Compliance von Anwendungen verbessern und Systeme patchen.

Wie funktionieren die Ansible-Tools?

Ansible verbindet nodes als Knotenpunkte in deinem Infrastruktur-Netzwerk. Das geschieht indem ein Ansible-Tool kleine Programme, sogenannte Module, auf den nodes installiert. Diese Ansible-Module können dann definierte Aufgaben automatisiert durchführen.

Jedes Ansible-Programm definiert quasi ein Ressourcenmodell für den gewünschten Zustand eines Systems. Ansible konfiguriert also Systemlandschaften auf und nach Wunsch komplett vollautomatisch, sobald Ansible-Programme für diese DevOps-Jobs konfiguriert sind.  Sobald die Konfiguration mit der Bereitstellung einer Infrastruktur-Komponente abgeschlossen ist, wird das jeweilige Ansible-Modul entfernt.

Warum verbessert Ansible die IT-Sicherheit & IT-Compliance?

Was zuvor klassisch per Konsolen-Befehl und -Skript erledigt wurde, lässt sich jetzt automatisieren.

Konfigurations-Aufwände minimieren und Infrastruktur bestmöglich organisieren

Das spart nicht nur Aufwände, sondern stellt zudem sicher, dass Systeme immer in identischer Weise konfiguriert sind. Auch Updates für Komponenten lassen sich so kontrolliert und deutlich einfacher einspielen.

Komplexe IT-Landschaften spielend handeln und automatisch dokumentieren

Komplexe IT-Landschaften werden für DevOps-Engineers und Administratoren von Systemlandschaften mit diesen Automatisierungs-Abläufen nicht nur besser handlebar, sondern mit den Ansible-Skripten ist die Infrastruktur-Konfiguration auch gleichzeitig umfassend dokumentiert.

Wie funktioniert die Ansible-Konfiguration?

Ansible nutzt Inventory-Dateien die alle Informationen beeinhalten welche Komponente wie konfiguriert werden soll.

Mit einer Ansible-Inventory-Datei definierst Du welche Server von Ansible gemanagt werden sollen. Dabei verbindet sich Ansible per SSH-Protokoll geschützt zu deinen Servern und führt dort die definierten Aufgaben aus.

Dabei verwendet Ansible standardmäßig SSH-Schlüssel mit „ssh-agent“ und stellt Verbindungen zu Remote-Rechnern mit einem vorhandenen aktuellen Nutzernamen her. Root-Anmeldungen sind nicht erforderlich. Statt dessen empfiehlt es sich als kontrollierbarer Nutzer anzumelden und dann mit den Befehlen „su“ oder „sudo“ zu einem Nutzer mit Root-Rechten zu wechseln.

Mit der sicheren SSH-Verbindung überträgt Ansible die Module, die für definierte Befehle oder Dein Ansible-Playbook erforderlich sind, zur Ausführung auf den Remote-Rechner.

Dazu verwendet das DevOps-Tool Ansible leicht lesbare YAML-Konfigurationsvorlagen, so dass ständig wiederkehrende Aufgaben automatisch erfolgen, ohne dazu eine komplexe Programmiersprache erlernen zu müssen.

Alternativ kannst Du eigene Ansiblemodule schreiben. Ein solches Ansiblemodul kann in jeder Sprache geschrieben werden, die JSON zurückgeben kann, beispielsweise Ruby, Python oder Bash.