Red Hat Ansible Tower
16.09.2019, 00:00 Uhr
Integrierte Plattform automatisiert IT-Prozesse
Server, Container, Cloud: Wiederkehrende Prozesse in der Infrastruktur lassen sich mit der Open-Source-Software Ansible automatisieren.
Moderne Infrastrukturlandschaften sind geprägt von Virtualisierung, Containern und der Cloud. Wer in diesem Gemenge von Komponenten wiederkehrende Prozesse automatisieren will, ist verloren – es sei denn, er verwendet Tools wie die Open-Source-Lösung Ansible [1] beziehungsweise das darauf basierende Produkt Ansible Tower von Red Hat [2].
Die komponentenübergreifende Automatisierungsplattform spannt den Bogen über Server, Storage-Geräte, Netzwerk-Devices, Services, Container und Clouds. Da sich Red Hat als Open-Source-Firma positioniert hat, verwundert es nicht, dass auch Ansible Open Source ist.
Ansible unterstützt nativ die Windows-Plattform und gängige Linux- und Unix-Varianten. Durch den Einsatz dieser Plattform lässt sich Zeit sparen, und das trägt dazu bei, die Kosten im Workflow-Management zu reduzieren. Außerdem sinkt die Fehleranfälligkeit.
Insellösungen, wie sie heute in Unternehmen immer noch im Einsatz sind, bieten diese Vorteile nicht. Viele Automatisierungsprojekte lassen sich mit Insellösungen kaum oder nur sehr aufwendig realisieren.
Modul-Aufruf über
Playbooks
Um Abläufe festzulegen, setzt Ansible auf sogenannte Playbooks, die in der Auszeichnungssprache YAML geschrieben sind. Ein Playbook besteht aus einer Liste von Tasks, die von der Ansible-Engine interpretiert und ausgeführt werden.
Die wichtigsten Begriffe rund um Ansible Tower
- Control Node: Das ist ein Host-Rechner, auf dem Ansible läuft, um die Tasks in den Playbooks auf Managed Nodes auszuführen.
- Managed Node: Dabei handelt es sich um einen Host-Rechner, der durch den Control Node konfiguriert wurde. Auf diesem läuft Ansible nicht.
- Host Inventory: Eine Liste der Managed Nodes. Ein Inventory File wird manchmal auch Hostfile genannt.
- Ad-hoc command: Ein einfacher Einmal-Task, der meist aus einer Anweisung in einer Zeile besteht. Ein Beispiel dafür ist der Ping-Befehl:
ansible all -m ping - Playbook: Eine in YAML geschriebene Liste wiederholbarer Tasks für komplexere Aufgaben und Konfigurationen. Sie können Tasks synchron und asynchron starten.
- Module: Gekapselter Code, der über ein Playbook aufgerufen wird, um eine bestimmte Aufgabe auszuführen. Beispiele dafür wären das Hinzufügen eines Nutzers oder die Installation eines Packages.
- Idempotency: Eine Operation ist idempotent, wenn sie unabhängig von der Anzahl der Ausführungen stets die gleichen Ergebnisse liefert. Dabei gilt die Voraussetzung, dass zwischen den Ausführungen keine weiteren fremden Operationen durchgeführt werden.
Jeder Task ruft ein Modul auf, das gekapselt die eigentliche Programmlogik enthält – entwickelt in Python, der PowerShell oder einer anderen höheren Programmiersprache.
YAML dagegen gilt als Esperanto des Unternehmens, das die Automatisierung komplexer Geschäftsprozesse über Unternehmenseinheiten hinweg vereinfachen kann. Genau das hat für viele Unternehmen und IT-Abteilungen oberste Priorität. Die Syntax und Semantik von YAML basiert auf Key-Value-Paaren wie
Name = Windows
oder
is false = no
Die Sprache kennt Listen, Dictionaries und Textblöcke und ist leicht erlernbar.
Red Hat Ansible selbst läuft auf Red Hat Enterprise Linux, unterstützt aber als Zielsysteme nativ Windows und gebräuchliche Linux-Varianten wie Ubuntu und Debian.
Die Plattform (Bild 1) bringt eine Vielzahl von Netzwerk-, Cloud-, Windows- und Linux-Modulen für den Aufruf aus Playbooks mit. Sie unterstützt zudem eine breite Palette von Netzwerk- und Cloud-Plattformen, ist also auch für die Automatisierung hybrider-Cloud-Szenarien gut geeignet. Zudem arbeitet die Plattform ohne Agenten (agentless), nutzt unter anderem OpenSSH und WinRM und hat die Komponenten über ein RESTful API transparent im Zugriff.
Ansible provisioniert, konfiguriert und orchestriert Applikationen, Server, Speicher, Firewalls, Load Balancer, Netzwerk-Geräte, virtuelle Maschinen, Container und Clouds.
Windows-Update automatisieren
Der Vorteil von Automatisierungsroutinen liegt zuerst einmal im Zeitgewinn. Selbst ein einfaches Windows-Update, manuell durchgeführt, macht in einer komplexen IT-Landschaft den Systemadministratoren viel Arbeit. Typische Arbeitsschritte sind:
- Zuerst muss das Windows-Update vom Zielsystem bezogen werden.
- Danach nimmt der Sysadmin das Zielsystem aus dem Load Balancer und deaktiviert das Monitoring. Ansonsten würde das Windows-Update fälschlicherweise eine Flut von Alarmmeldungen generieren.
- Dann werden die bestehenden Dienste heruntergefahren.
- Das Windows-Update wird installiert.
- Danach reaktiviert der Systemadministrator Load Balancer und Monitoring.
- Er bootet gegebenenfalls die Server neu.
- Am Ende des Updates verschickt der Sysadmin ein Ticket Windows-Update wurde erfolgreich durchgeführt.
Diese vielen Schritte bedeuten viel Handarbeit, die man sich sparen kann. Ein Playbook automatisiert die Einzelschritte und reduziert – einmal erstellt und getestet – die Fehlerquote beim Einspielen einer neuen Windows-Version.
Ein zweites Playbook überprüft dann, ob die User-Namen, die Passwörter und die Domain-Mitgliedschaften auch nach dem Update noch korrekt funktionieren (siehe dazu Bild 2 und Bild 3).
15 000 Komponenten verwalten
Schon die Automatisierung eines einfachen Windows- oder Linux-Updates mit Red Hat Ansible bringt Vorteile. Ein wesentlich komplexeres Projekt hatte der Schweizer Telekommunikationsanbieter Swisscom zu stemmen. Die Swisscom, der größte Telekommunikationsanbieter in der Schweiz, bedient sowohl Endkunden (B2C) als auch Geschäftskunden (B2B). Die Aufgabe bestand darin, das Management von etwa 15 000 Komponenten zu automatisieren, darunter Server, Firewalls, Netzwerkgeräte und Storage-Systeme.
Swisscom hat viele verschiedene Netzwerkplattformen verteilt auf mehrere Rechenzentren im Einsatz und automatisierte bisher über die Skripts mehrerer Closed-Source-Tools (Insellösungen).
Eine zentralisierte Automatisierungslösung sollte dem Werkzeugzoo ein Ende bereiten. Die Wahl fiel auf Red Hat Ansible Tower. Die Plattform ist verglichen mit anderen Konfigurationsmanagement-Tools aufgrund der Playbooks leicht zu bedienen und besitzt ein umfangreiches, gut dokumentiertes API.
Das Linux-Server-Team der Swisscom benutzt Ansible Tower, um mehrere Tausend Server für interne und externe Kunden zu verwalten – darunter zum Beispiel auch die Mail-Server von Bluewin.
Rollenbasierte Self-Services
Wichtig war dem Telekommunikationsanbieter ein rollenbasiertes Self-Service-Management. Ein Beispiel: Das Operating-Systems-Team musste vor der Einführung von Red Hat Ansible auch die Pflege und das Patching für das Bluewin-Application-Team übernehmen, was oft zu Zeitverzögerungen führte.
Ansible kann die Playbooks beider Teams importieren und Mitgliedern aus beiden Teams über rollenbasierte Rechte den Zugriff erlauben. Jetzt kann das Application-Team OS-Tasks wie Patches aufspielen oder Server Reboots auch selbst durchführen.
Swisscom geht davon aus, mit Ansible etwa 3 000 Mannstunden pro Jahr einzusparen. In Zukunft wollen die Schweizer ihre Firewalls automatisieren, ihr E-Mail-Sicherheitssystem effizienter managen und das Ausrollen komplexer Applikationen besser orchestrieren.
Auf der groben Agenda für die nähere Zukunft steht außerdem die Automatisierung von Oracles Analytics-Datenbank Exadata.
Mit Ansible Tower bietet Red Hat nicht nur eine komponentenübergreifende Automatisierungslösung, sondern eine strategische Plattform auf dem Weg in die digitale Transformation. Systemadministratoren müssen lernen, ihre Arbeit nicht als eine lange Liste manueller Tätigkeiten zu verstehen, sondern als in Playbooks codierte IT-Workflows.
Jahrelang haben Admins automatisiert, indem sie ihre Lieblingsinsellösungen eingesetzt haben: Shell Skripts, Interpreter-Sprachen oder ein automatisches Konfigurationsmanagement. Hier will Red Hat Ansible Tower eine Vereinheitlichung bringen.
IT-Aufwand um 50 Prozent reduziert
Die Bundesanstalt für Landwirtschaft und Ernährung (BLE) hat mit Ansible Tower den Zeitaufwand für die Konfiguration und das Management der eigenen IT um 50 Prozent reduziert. Etwa 1 000 Systeme mussten automatisiert werden, womit die alte Lösung überfordert war.
Eine neue Automatisierungsplattform musste her. Auf der Shortlist der Anbieter standen auch Mitbewerber wie Puppet und Chef. Wegen der leichten Bedienbarkeit und der hohen Supportqualität fiel die Wahl jedoch auf Ansible.
Nach Abschluss der Migration werden im BLE etwa 1 000 virtuelle Maschinen auf Red Hat Enterprise Linux laufen, verwaltet von Satellite und automatisiert von Ansible Tower.
Ansible reduziert die Gefahr von Konfigurationsfehlern. Außerdem können die IT-Infrastrukturteams des BLE schneller auf die Anforderungen der Endanwender reagieren. Auch für die Entwickler hat das positive Auswirkungen. Ihnen werden Testserver schneller bereitgestellt.
Security Automation
Eines der wichtigsten Automatisierungsthemen ist die Sicherheit der IT-Infrastruktur – on-premise, in der Cloud und in hybriden Cloud-Szenarien. Typischerweise hat das Sicherheitsteam eines Unternehmens mehrere Security-Lösungen im Einsatz, die es auch alle benötigt.
Das Problem: Die Lösungen sind bislang sehr schlecht integriert. Ein echter, großer Security-Standard fehlt.
Im Oktober des vergangenen Jahres hat Red Hat daher seine Ansible Security Automation vorgestellt, die diese Lücke schließen soll. Die Lösung unterstützt bislang Check Point Next Generation Firewall, Splunk Security Enterprise und Snort, wird aber im Lauf des Jahres weiter ausgebaut.
Red Hat Ansible Security Automation ist zum Beispiel in der Lage, automatisch neue Intrusion-Detection-System-Regeln (IDS) aufzusetzen, um die Gründe für eine Firewall-Regelverletzung herauszufinden.
Es erstellt Whitelists von IP-Adressen, die keine Bedrohung darstellen, verändert die Regeln der Firewall oder schließt verdächtige Nutzer und IP-Adressen aus. Ansible passt SIEM-Systeme (Security Information & Event Management) an die aktuelle Bedrohungslage an.
Red Hat Ansible Security Automation richtet sich an Security Operations Centres (SOC), an Security ISVs und an Managed Security Service Provider, die für die Sicherheit von Tausenden IT-Systemen bei ihren Kunden verantwortlich sind.
Fazit
Mit Ansible automatisieren Sie Prozesse über verschiedene Komponenten wie Server, Container oder die Cloud hinweg. Die Workflows werden dabei in YAML geschrieben und in sogenannten Playbooks zusammengefasst.
Die Ansible-Engine verarbeitet die YAML-Dateien und führt über Steuerkomponenten einzelne Tasks aus. Dabei können die Komponenten in verschiedenen Hochsprachen wie Python oder PowerShell geschrieben werden.
Daneben lässt sich Ansible aber auch über sogenannte Ad-hoc Commands steuern.
Dokumente
Artikel als PDF herunterladen