
Ansible ist seit vielen Jahren ein fester Bestandteil moderner IT-Automatisierung und eine zentrale Komponente des Konfigurationsmanagement-Stacks von orcharhino. Dank seiner einfachen Handhabung, der großen Open-Source-Community und des umfangreichen Ökosystems hat sich Ansible als bevorzugtes Automatisierungswerkzeug für zahlreiche Administratoren und IT-Teams etabliert.
Mit steigender Komplexität moderner IT-Landschaften wachsen jedoch auch die Anforderungen an Automatisierung. Unternehmen erwarten heute reproduzierbare Deployments, nachvollziehbare Änderungen, eine enge Git-Integration und die Möglichkeit, unterschiedliche Umgebungen sicher zu verwalten. Genau hier setzt Ansible Director an.
Warum Ansible Director Unternehmen einen echten Mehrwert bietet?
Ansible Director ermöglicht es mit orcharhino die Konfiguration der verwalteten Systeme noch besser zu kontrollieren und zu steuern. Dafür bietet es mehr Flexibilität in der Verwendung von Ansible, während die Verwaltung mandantenfähig wird und erlaubt es mittels Staging-Mechanismus dem Nutzer neue Versionen und Änderungen gezielt in Test-Umgebungen zu verifizieren, bevor sie in produktiven Umgebungen eingesetzt werden.
Die neue Verwaltung von Ansible Content und Variablen erfolgt nun ausschließlich über orcharhino-Boardmittel und bietet somit mehr Transparenz zu verwendeten Versionen und ein intuitives Nutzererlebnis.
Die neuen Lebenszyklen für Ansible Content ermöglichen eine bessere Übersicht, was verwendet wird und wie die entsprechenden Parameter sind. Außerdem ermöglicht es einfache sowie komplexe Staging-Mechanismen um sicherzustellen, dass auch bei der Verwendung von Ansible die Stabilität von produktiven Umgebungen im Fokus bleibt. Durch geeignete Testumgebungen kann somit für wichtige Systeme das Risiko von Fehlkonfigurationen minimiert werden.
Ansible wird nun auch separat für jede verwendete Organisation konfiguriert und verwendet, wodurch auch die Nutzung in Multi-Mandanten-Szenarios verbessert wird.
Insgesamt bietet somit die Verwendung des Ansible Director viele Vorteile um die Konfiguration der verwalteten Systeme über orcharhino zentral zu steuern und zu kontrollieren.
Wieso wurde ein neues Ansible-Plugin für orcharhino entwickelt?
Die Ansible-Integration in orcharhino ist mit den Ansprüchen unserer Nutzer über die Zeit nur bedingt mitgewachsen. Schwierigkeiten bereiten hier vor Allem:
- Verwalten von Ansible Content
- Ansible Collections können nicht als atomare Einheiten verwaltet werden, sondern es werden lediglich die in den Collections enthaltenen Rollen importiert.
- Das Bereitstellen von Ansible Content erfordert manuelle Schritte auf dem Dateisystem der orcharhino Proxies.
- Das Importieren von Content in verschiedenen Versionen ist nur durch Workarounds möglich.
- Kopplung an die Ansible Version des orcharhino Proxies
- Nutzern steht lediglich die durch orcharhino ausgelieferte Version von Ansible zur Verfügung, was bedeutet, dass für ältere Ansible Versionen konzipierter Content oft nicht verwendet werden kann.
- Durch die Version von Ansible wird implizit die Python-Version aller benötigten Pythonmodule festgelegt.
- Globale Verwendung von Variablen und Ansible Rollen
- Bei der Verwendung mehrerer Organisationen werden die vorhandenen Rollen und spezifizierten Variablen global definiert. Dadurch ist es schwierig zu kontrollieren, wer welche Variablen einsehen oder ändern kann.
- Auch bei Unterschieden in den Rollen ist es nötig über Workarounds klarzustellen, wer welche Rollen benutzt, falls Rollen mit ähnlichen Namen eingesetzt wuerden.
Um diese Herausforderungen anzugehen und den Ansprüchen moderner Workflows gerecht zu werden, entwickeln wir Ansible Director – die von Grund auf neu gedachte und geschriebene Ansible-Integration für orcharhino.
Funktionsumfang von Ansible Director
Ansible Director macht in orcharhino zu einem mächtigen Werkzeug zur deterministischen Konfiguration von angebundenen Systemen mit Hilfe von Ansible. In Anklang an den bekannten Lebenszyklus von Inhalten in orcharhino, stellt das Plugin Nutzern ein Interface zur versionierten Nutzung von Ansible bereit. Damit erlangen User die volle Kontrolle über die Ausführung von Ansible zur Konfiguration ihrer Systeme.
- Ansible Content
Ansible Director kann sowohl Rollen als auch Collections explizit verwalten. Im Gegensatz zur bestehenden Integration sind Collections eine atomare Einheit, die importiert werden kann.
Des Weiteren wurde das Importieren von Content bedeutend vereinfacht und erfordert nun lediglich einen API-Aufruf, bzw. eine Aktion in der Management UI.
Als Quellen für Ansible Content können sowohl Server, welche die Ansible Galaxy API unterstützen, als auch Git-Repositories genutzt werden.
- Ansible Execution Environments
Um die Abhängigkeit auf die Ansible Version des orcharhino Proxies zu lösen, nutzen wir Ansible Execution Environments.
Dies sind spezialisierte Container Images, die Ansible, Ansible Content und entsprechende Abhängigkeiten beinhalten. Nutzer können Execution Environments über die Management-UI/API definieren und dabei kontrollieren, welche Ansible-Version verwendet werden soll.
- Lifecycle Environments
Ansible Director beinhaltet ein neues, performantes und von den existierenden Systemen entkoppeltes Lifecycle-Management-System. Damit können orcharhino Administratoren granular kontrollieren, welcher Ansible Content und welches Execution Environment Hosts zur Verfügung steht.
Lifecycle Environments können wie gewohnt entlang eines Pfades promotet werden.
- Tiefe Git Integration
Git-Repositories sind sowohl für die Entwicklung als auch die Bereitstellung von Ansible Content beliebt und weit verbreitet. Ansible Director kann Ansible Content aus solchen Repositories importieren, geht allerdings noch einen Schritt weiter.
Nutzer können sowohl Branches, Pulls (sofern vom Git-Server unterstützt), Tags, als auch beliebige Git-Referenzen eines Repositories importieren und verwenden. Bei “Branch-like” Referenzen bietet Ansible Director die Möglichkeit, diese automatisch gegen das upstream Repository zu synchronisieren. So werden Änderungen an durch Git verwaltetem Content direkt in orcharhino abgebildet.
- Separierung auf Organisationslevel
Anstatt Ansible Content wie bisher auf einer globalen Ebene zu definieren, wird Ansible Content, zugehörige Variablen, Execution Environments sowie Lifecycles nun auf Organisationsebene definiert. Dadurch kann jede Organisation selbstständig entscheiden was eingesetzt wird und es ist leichter die Nutzerrechte anzupassen.
Wie ist der Stand und wie geht es weiter?
Mit dem Release von orcharhino 7.9 ist Ansible Director erstmals als Tech-Preview verfügbar. Das bedeutet Nutzer von orcharhino können in ihren Testumgebungen das Plugin installieren und selbst ausprobieren. Die Kernfeatures sind bereits enthalten aber an einigen Stellen wird noch verbessert und umgebaut, bis das Plugin vollumfänglich eingesetzt werden kann.
Ein Stand der die beschriebenen Features mit unseren Qualitätsansprüchen enthält, ist aktuell das nächste Ziel um den Einsatz für Kunden in ihren Umgebungen möglichst bald zu ermöglichen.
Darüber hinaus planen wir bereits weitere Erweiterungen, darunter:
- Verwaltung von Ansible Playbooks
- Erweiterte Integrationen für Secret Management
- Weitere Verbesserungen rund um Enterprise Automation Workflows
Bei Interesse zur Benutzung von Ansible Director empfehlen wir die Teilnahme an unserem Webinar zu dem Thema: Ansible in Kombination mit orcharhino: Server automatisch konfigurieren