Ansible UI: AWX und Semaphore UI im Vergleich

Denis GukovGründer und CTO bei Semaphore UI
18 Min. Lesezeit

AWX und Semaphore UI bieten Webschnittstellen und APIs für die Ausführung der Automatisierung im gesamten Team. Dieser Vergleich deckt AWX 24.6.1 und Semaphore UI 2.20.0 ab, von unterstützten Tools und Bereitstellung bis hin zu Workflows, Zugriffskontrolle und laufender Wartung.

Diesen Artikel mit KI besprechen

Übersicht

Am Anfang steht oft ein Ansible-Playbook, das ein Engineer per Befehl auf dem Laptop startet. Sobald Deployments, Patches und Zertifikatsverlängerungen zu gemeinsamen Aufgaben werden, braucht das Team eine zentrale Stelle zum Starten der Jobs, Eingeben von Parametern, Verwalten von Zugangsdaten und Prüfen der Ergebnisse. AWX und Semaphore UI bieten diese gemeinsame Ebene mit gespeicherten Jobkonfigurationen, Zeitplänen, Berechtigungen und Ausführungsverlauf.

AWX organisiert die Automatisierung rund um Ansible. Teams verbinden in Git gespeicherte Playbooks mit Inventaren und Zugangsdaten, speichern sie als Jobvorlagen und kombinieren Jobs zu Workflows. Organisationen, Teams und Berechtigungen steuern, wer jede Ressource nutzen darf. AWX ist ein Open-Source-Projekt, während Red Hat Ansible Automation Platform (AAP) ein separates kommerzielles Angebot mit eigenem Support und eigenem Lebenszyklus ist.

Auch Semaphore UI setzt auf wiederverwendbare Aufgaben. Neben Ansible-Playbooks stehen eigene Vorlagen für Terraform/OpenTofu, Terragrunt, Bash, PowerShell und Python bereit. Projekte bündeln diese Vorlagen mit Repositorys, Inventaren, Zugangsdaten und Variablen. Ein Workflow kann die Bereitstellung von Infrastruktur als Code (IaC) mit der Hostkonfiguration und anschließenden Wartung verbinden. So bleiben die Abläufe über diese Tools hinweg in einer Oberfläche.

Semaphore UI-Aufgabenvorlagen für Ansible, OpenTofu, Terragrunt, Bash und PowerShell in einem Projekt.
Semaphore UI. Verschiedene Automatisierungstools teilen sich die Vorlagenliste eines Projekts mit konfigurierbaren Spalten.
AWX-Vorlagenliste mit Ansible-Jobvorlagen und wiederverwendbaren Workflow-Vorlagen innerhalb einer Organisation.
AWX. Ansible Job- und Workflow-Vorlagen teilen sich eine Liste mit Organisations- und Startkontrollen.

Kurzvergleich

Gespeicherte Jobs, Zugangsdaten und Zeitpläne decken routinemäßige Ansible-Vorgänge in beiden Produkten ab. Ihre größeren Unterschiede bestehen in der Toolabdeckung, Bereitstellung und Ressourcenverwaltung. Hier sind die Hauptmerkmale jedes einzelnen.

Automatisierungstools, Installation, Ausführung, Workflows, Inventare, Zugriffskontrolle, Zugangsdaten, Variablen, Lizenz
Kriterien Semaphore UI AWX
Automatisierungstools Ansible, Terraform/OpenTofu, Terragrunt, Bash, PowerShell, Python AnsibleWeitere Tools über Playbooks
Installation Binärdatei, Pakete, Docker, Kubernetes Kubernetes (Operator), Docker (Entwicklung/Test)
Serverplattformen Linux, macOS, Windows, FreeBSD Linux-Container (Kubernetes / Docker)
Aufgabenausführung Auf dem Server oder auf entfernten Ausführungsrechnern Auf Ausführungsknoten oder in Kubernetes-Job-Pods
Workflows Ja, visuelle Workflows über mehrere Automatisierungstools Ja, visuelle Ansible-Workflows mit wiederverwendbaren Unterworkflows
Zeitplanung Cron-Ausdrücke, einmalige Ausführungen Einmalige und wiederkehrende Zeitpläne
Inventarverwaltung Statische und Git-Inventare, dynamische Plugins, NetBox und andere externe Quellen Statische und dynamische Inventare, verwaltete Aktualisierungen, konstruierte Inventare
Zugriffskontrolle RBAC, Projektrollen, benutzerdefinierte Rollen, VorlagenberechtigungenLDAP, OIDC, lokales TOTP RBAC, Organisations- und Teamrollen, Berechtigungen pro RessourceLDAP, OIDC, SAML, MFA über einen Identitätsanbieter
Zugangsdaten Key Store, SSH-Schlüssel, Passwörter, Anbindung externer Secrets-Speicher Zugangsdatenobjekte, SSH-Schlüssel, Passwörter, Anbindung externer Secrets-Speicher
Variablen Wiederverwendbare Variablengruppen, zusätzliche Variablen, Umgebungsvariablen, Eingabeformulare Inventar-, Host- und Gruppenvariablen, zusätzliche Variablen, Eingabeformulare
Lizenz MIT (Community)Separate Geschäftsbedingungen für kostenpflichtige Editionen Apache 2.0

Für routinemäßige Ansible-Jobs bieten beide Produkte Startmöglichkeiten, Zeitplanung und Ausführungsverlauf. Die wichtigsten Unterschiede liegen in der Verwaltung von Inventaren und Berechtigungen, den direkt ausführbaren Tools und den Bereitstellungsoptionen.

Die hier beschriebenen Semaphore UI-Funktionen verteilen sich auf Community, Pro und Enterprise. Die Verfügbarkeitsangaben nennen die mindestens erforderliche Edition. Der Abschnitt „Lizenzierung und Support“ erläutert die kommerziellen Angebote.

Funktionsvergleich

Ein Deployment kann Infrastruktur bereitstellen, Hosts konfigurieren und vor einer Änderung an der Produktionsumgebung auf eine Genehmigung warten. Wo diese Schritte laufen, wie sie Ergebnisse austauschen und wer sie steuert, macht die entscheidenden Unterschiede zwischen den Produkten aus.

Installation und Einrichtung

Die von AWX empfohlene Installation verwendet Kubernetes. Semaphore UI unterstützt auch eigenständige Bereitstellungen, sodass die zum Hosten des Dienstes erforderliche Infrastruktur einen ersten Unterschied darstellt.

UnterstütztTeilweise unterstütztNicht unterstützt
Installation und Einrichtung: AWX und Semaphore UI
Kriterien Semaphore UI AWX
Eigenständige Binärdatei Ja Nein
Native Linux-Pakete JaDEB / RPM Nein
Docker-Bereitstellung Ja TeilweiseNur Entwicklung und Tests
Kubernetes-Bereitstellung JaHelm-Chart JaAWX Operator
Nativer Windows-Server JaAnsible benötigt WSL, einen Container oder einen Linux-Runner NeinLinux-Container
Hohe Verfügbarkeit JaEnterpriseGemeinsame Datenbank, Redis, Load Balancer JaReplikate, Datenbank-Failover separat konfigurieren

Die von AWX empfohlene Bereitstellung kombiniert den Kubernetes-Operator, PostgreSQL und die Ausführung von Containerjobs. Sein Docker-Setup ist für Entwicklung und Tests gedacht. Für ein bestehendes Kubernetes-Team folgt der Operator einem vertrauten Betriebsmodell. Die Einführung eines Clusters ausschließlich für AWX erhöht die zu wartende Infrastruktur.

Semaphore UI unterstützt Kubernetes über Helm sowie Installationen als Binärdatei, natives Paket oder Docker-Container mit SQLite, MySQL oder PostgreSQL. Eine eigenständige Installation kann einen vorhandenen Server ohne Cluster nutzen. Teams können dadurch mit einer kleineren Installation beginnen und das passende Betriebsmodell wählen.

Das Betriebssystem des Servers ist von der Jobausführung getrennt. Semaphore UI verfügt über eine native Windows-Serverbinärdatei, während Ansible weiterhin Linux, macOS, einen geeigneten Container oder WSL benötigt. Ein Linux-Runner kann Jobs für einen an anderer Stelle gehosteten Webdienst ausführen. Beide Plattformen können Windows-Ziele über Ansible verwalten.

Für eine hohe Verfügbarkeit erfordern die Skalierungsoptionen von AWX und die HA-Bereitstellung von Semaphore UI Enterprise eine Datenbank-Failover- und Wiederherstellungsplanung. Vom Netz getrennte Installationen benötigen zusätzlich einen Bereitstellungspfad für Pakete, Ausführungsimages, Updates und etwaige kostenpflichtige Lizenzaktivierungen.

Automatisierungstools

Eine Bereitstellung kann mit Terraform/OpenTofu bereitgestellt, mit Ansible konfiguriert und mit Python abgeschlossen werden. AWX ruft die anderen Tools über Playbooks auf, während Semaphore UI direkte Aufgabenvorlagen bereitstellt.

UnterstütztTeilweise unterstütztNicht unterstützt
Automatisierungstools: AWX und Semaphore UI
Kriterien Semaphore UI AWX
Ansible-Playbooks Ja Ja
Terraform/OpenTofu JaNative Aufgabenvorlage TeilweiseÜber Ansible-Playbooks
Terragrunt JaNative Aufgabenvorlage TeilweiseÜber Ansible-Playbooks
Bash JaNative Aufgabenvorlage TeilweiseÜber Ansible-Playbooks
PowerShell JaNative Aufgabenvorlage TeilweiseÜber Ansible-Playbooks
Python JaNative Aufgabenvorlage TeilweiseÜber Ansible-Playbooks

AWX hält Ansible im Mittelpunkt der Ausführung. Playbooks können Terraform/OpenTofu, Terragrunt, Bash, PowerShell oder Python über Module oder Befehle aufrufen, wenn die Ausführungsumgebung die Abhängigkeiten enthält. Dies eignet sich für Teams, die ihren Bereitstellungsprozess bereits in Ansible beschreiben.

Semaphore UI stellt diesen Tools eigene Vorlagen zur Verfügung. Teams können bestehende Automatisierungen direkt starten und in Workflows kombinieren, ohne zusätzliche Playbooks pflegen zu müssen, nur um ein anderes Tool aufzurufen. Eine OpenTofu-Aufgabe kann Infrastruktur bereitstellen, eine Ansible-Aufgabe kann die Hosts konfigurieren und eine Python-Aufgabe kann einen zugehörigen Vorgang ausführen – alles in einer Schnittstelle.

Semaphore UI Pro bietet ein integriertes HTTP-Backend für den Terraform/OpenTofu-State sowie Workspaces und Ausführungsoptionen. Teams können den gemeinsamen State in Semaphore UI verwalten, statt ein separates Backend zu betreiben. Bei AWX nutzt der aufgerufene Terraform-Prozess das vom Team konfigurierte Backend. Die Inventarquelle Terraform State in AWX liest den State zur Hostermittlung, speichert ihn aber nicht.

Die Terraform-Ausführung in Semaphore UI 2.20 hat zwei wichtige Einschränkungen. Ein normaler Lauf zeigt vor der Anwendung einen Plan an, speichert ihn aber nicht automatisch, um anschließend genau diese Datei anzuwenden. Muss eine Genehmigung die exakt vorgeschlagene Änderung abdecken, muss der Ablauf den Plan speichern und an apply übergeben. Außerdem deaktivieren die standardmäßigen Terraform-Befehle das State-Locking, sofern sie nicht angepasst werden, selbst wenn das Backend Locking unterstützt. Prüfen Sie beide Einstellungen bei der Konfiguration produktiver Läufe.

Vorlagen und Zeitplanung

AWX bezeichnet eine gespeicherte Ansible-Konfiguration als Job Template. In Semaphore UI heißt sie Task Template. Jeder Start erzeugt in AWX einen eigenen Job oder in Semaphore UI eine eigene Aufgabe, jeweils mit Status, Logs und Ergebnis. Die Vorlage enthält die wiederverwendbaren Einstellungen. Eingabeformulare und Zeitpläne steuern die Parameter und den Zeitpunkt eines Laufs.

UnterstütztTeilweise unterstütztNicht unterstützt
Vorlagen und Zeitplanung: AWX und Semaphore UI
Kriterien Semaphore UI AWX
Gespeicherte Aufgabenkonfiguration Ja Ja
Eingabeformulare (Startparameter) Ja Ja
Wiederverwendbare Variablensätze JaGemeinsame Variable Groups für mehrere Vorlagen TeilweiseInventarvariablen oder Dateien in Git
Repository-Zweig beim Start Ja Ja
Geplante Ausführungen JaCron-Ausdrücke und einmalige Ausführungen JaEinmalige und wiederkehrende Zeitpläne

In AWX legt ein Job Template Projekt, Playbook, Inventar und Zugangsdaten sowie ein Execution Environment für die Laufzeitabhängigkeiten fest. Das Ansible Task Template von Semaphore UI legt Repository, Playbook und Inventar fest. Wiederverwendbare Variable Groups und Ansible-Optionen befinden sich im selben Formular. Engineers bereiten diese Konfiguration einmal vor. Anschließend können Kollegen den Vorgang starten, ohne sie jedes Mal neu zusammenzustellen.

Editor eines Ansible Task Template in Semaphore UI mit Repository, Playbook, Inventar, Variable Groups und Abfragen beim Start.
Semaphore UI. Ein Ansible Task Template mit gemeinsamen Variablen und Startoptionen.
Job-Template-Editor in AWX mit Projekt, Inventar, Playbook, Zugangsdaten und Execution Environment.
AWX. Ein Ansible Job Template mit Ressourcenauswahl und Abfragen beim Start.

Eingabeformulare erlauben Kollegen, Startparameter anzugeben, ohne ein Playbook zu ändern. AWX unterstützt Prüfungen wie Begrenzungen der Textlänge. Die Survey Variables in Semaphore UI bieten typisierte Eingaben, mehrzeiligen Text, Secrets sowie Einzel- und Mehrfachauswahl. Wiederverwendbare Variablengruppen halten die gemeinsame Konfiguration getrennt von den beim Start eingegebenen Werten. AWX teilt Konfiguration über Inventar-, Host- und Gruppenvariablen oder Variablendateien in Git statt über ein separates, in mehreren Vorlagen auswählbares Variable-Groups-Objekt.

Bei entsprechender Freigabe können beide Produkte einen anderen Repository-Branch ausführen. AWX kann Inventar, Zugangsdaten und weitere Jobeinstellungen beim Start abfragen. Semaphore UI erlaubt konfigurierte Überschreibungen des Ansible-Inventars und der Befehlszeilenparameter. Das gibt Engineers Flexibilität, während freigegebene Abläufe ein eingeschränktes Startformular anbieten können.

Zeitpläne automatisieren diese Starts. AWX verwendet Startdatum, Uhrzeit und Wiederholungseinstellungen. Semaphore UI unterstützt Cron-Ausdrücke und einmalige Ausführungen. 0 2 * * * wird beispielsweise täglich um 02:00 Uhr in der konfigurierten Scheduler-Zeitzone ausgeführt, die standardmäßig UTC ist. Mit beiden Ansätzen können Backups, Host-Prüfungen oder das Anhalten von Nicht-Produktionsmaschinen außerhalb der Arbeitszeiten durchgeführt werden.

Semaphore UI Zeitplandialog mit einem täglichen Cron-Ausdruck, einer Aufgabenvorlage und der nächsten Ausführungszeit.
Semaphore UI. Ein Cron-Zeitplan mit Aufgabeneingaben und einer Vorschau auf die nächste Ausführung.
AWX Zeitplanformular mit täglicher Wiederholung, Zeitzone, Endbedingungen und Ausnahmen.
AWX. Ein Zeitplan mit Zeitzone, Wiederholung, Endbedingungen und Ausnahmen.

Inventar

Beide Produkte können statische Dateien und dynamische Erkennung verwenden. Der Hauptunterschied besteht darin, ob erkannte Hosts zu plattformverwalteten Datensätzen werden oder von Ansible aufgelöst werden, wenn ein Job ausgeführt wird.

UnterstütztTeilweise unterstütztNicht unterstützt
Inventar: AWX und Semaphore UI
Kriterien Semaphore UI AWX
Statische Inventare JaINI/YAML Editor und Dateien JaHost-/Gruppendatensätze und importierte Dateien
Git-basierte Inventare JaGleiches oder separates Inventar-Repository JaSCM-Projektquellen
Dynamische Inventare JaAnsible-Plugins und ausführbare Skripte JaPlugins, Skripte und verwaltete Quellen
Inventaraktualisierung TeilweiseEntdeckung während der Ausführung JaGeplante Updates und Update-on-Launch
Berechnete Inventargruppen JaAnsible-Plugin constructed JaVerwaltete konstruierte Inventare
Verwalteter Fact-Cache NeinKonfigurieren Sie das Ansible-Caching separat JaVon AWX gespeicherte Host-Facts
Bearbeiten von Hosts und Gruppen TeilweiseBearbeiten Sie die INI/YAML-Definitionen JaIndividuelle Host- und Gruppensteuerung

AWX verwaltet Host- und Gruppendatensätze und aktualisiert sie durch Inventaraktualisierungsjobs unter Verwendung statischer Dateien, Ansible-Inventar-Plugins oder ausführbarer Skripte. Mit Semaphore UI können Teams INI/YAML-Inventare bearbeiten oder sie aus Git laden, einschließlich eines separaten Repositorys. Plugins und Skripte erkennen Hosts während der Ausführung. Der Hauptunterschied besteht darin, ob die Plattform einen Inventarlebenszyklus verwaltet oder die Ansible-Konfiguration des Teams wiederverwendet.

Ansible-Inventareditor in Semaphore UI mit zwei Staging-Webhosts in statischem YAML.
Semaphore UI. Ein statisches YAML-Inventar mit Hostgruppen und Verbindungsvariablen.
AWX-Inventar mit einzelnen Staging-Hosts, ihrer Webgruppe und Aktivierungsschaltern für jeden Host.
AWX. Einzelne Hostdatensätze mit Gruppenmitgliedschaft und Kontrollen pro Host.

Beispielsweise erkennt das Plugin „netbox.netbox.nb_inventory“ Geräte und virtuelle Maschinen, filtert Ziele und erstellt Gruppen aus NetBox-Daten. NetBox bleibt die Quelle der Wahrheit. AWX fügt Aktualisierungskontrollen und gespeicherte Datensätze hinzu, während Semaphore UI die Konfiguration an Ansible übergibt. Beide verwenden das Ansible-Plugin anstelle eines separaten nativen NetBox-Anschlusses. Weitere Quellen sind AWS, Azure und Google Cloud, und Semaphore UI dokumentiert ein von Git gehostetes Python-Skript für Consul.

Die konstruierten Inventare in AWX kombinieren gespeicherte Eingabeinventare und verwalten die daraus ermittelten Hosts. Semaphore UI kann das Ansible-Plugin constructed nutzen, um Gruppen und Variablen aus zuvor eingelesenen Quellen zu erzeugen. Ansible-Cache-Plugins können Facts speichern, Semaphore UI bietet jedoch keinen von der Plattform verwalteten Fact-Cache wie AWX. Speicherung, Ablauf und gemeinsame Nutzung des Caches durch Runner bleiben Teil der Ansible-Konfiguration.

Semaphore UI plant für Version 2.21.0 Ansible-Berichte nach dem Vorbild von ARA. Diese sollen die Inventarfunktionen um eine Ansicht einzelner Hosts und ihres Automatisierungsverlaufs ergänzen. Operatoren können damit nachvollziehen, welche Aufgaben auf welchem Server ausgeführt wurden, wann sie liefen und wo Fehler auftraten.

Wählen Sie das Inventarmodell von AWX, wenn Betreiber Hostdatensätze auf der Plattform durchsuchen, aktualisieren und verwalten müssen. Semaphore UI eignet sich für ein Setup, bei dem Git das Inventar definiert oder Ansible Hosts von Systemen wie NetBox und Cloud-APIs zur Ausführungszeit erkennt.

Secrets

Gespeicherte Jobs benötigen Zugangsdaten, ohne dass Operatoren bei jedem Start Passwörter oder Cloud-Tokens einfügen müssen. Die Speicher- und Abrufmöglichkeiten bestimmen, wie diese Zugangsdaten an den Job gelangen.

UnterstütztTeilweise unterstütztNicht unterstützt
Secrets: AWX und Semaphore UI
Kriterien Semaphore UI AWX
Zugangsdatenspeicher Ja Ja
HashiCorp Vault JaPro Ja
OpenBao JaPro NeinKeine integrierte Integration, Vault-Kompatibilität muss getestet werden
AWS Secrets Manager JaEnterprise Ja
Azure Key Vault JaEnterprise Ja
Devolutions Server JaEnterprise NeinKeine integrierte Integration, individuelle Anbindung möglich

AWX-Zugangsdatenobjekte und der Schlüsselspeicher von Semaphore UI stellen Zugangsdaten für gespeicherte Jobs bereit, ohne dass ein Bediener sie bei jedem Start einfügen muss. Beide lassen sich in HashiCorp Vault, AWS Secrets Manager und Azure Key Vault integrieren, sodass Teams diese vorhandenen Dienste weiterhin nutzen können.

Vault-Konfiguration in Semaphore UI mit Server-URL, Mount, Namespace und Optionen für die Token-Quelle.
Semaphore UI. Vault-Verbindungseinstellungen, Mount und Token-Quelle.
AWX HashiCorp Vault Secret Lookup-Zugangsdatenformular mit Verbindungs- und Authentifizierungsfeldern.
AWX. Vault-Suchverbindungs- und Authentifizierungsfelder. Weitere Einstellungen werden unterhalb des Ansichtsfensters fortgesetzt.

Weitere Integrationen zeichnen die Produkte aus. AWX bietet CyberArk Central Credential Provider, CyberArk Conjur und benutzerdefinierte Zugangsdatentypen. Semaphore UI bietet dedizierte OpenBao- und Devolutions Server-Integrationen. Die Vault-Suche von AWX funktioniert möglicherweise mit einem kompatiblen Dienst, die Kompatibilität von OpenBao muss jedoch für den erforderlichen Vorgang überprüft werden.

Vergleichen Sie die Integration für den Tresor, den Ihr Team bereits verwendet, einschließlich der Authentifizierungsmethode und der Arten von Secrets, die Ihre Jobs benötigen. Dienste ohne integrierte Integration erfordern möglicherweise benutzerdefinierten Abrufcode.

Ausführung

Ein Job benötigt Ausführungskapazität mit Zugriff auf seine Zielsysteme. Entfernte Ausführungsdienste bestimmen den Netzwerkstandort, Container-Images stellen die Laufzeitabhängigkeiten bereit.

UnterstütztTeilweise unterstütztNicht unterstützt
Ausführung: AWX und Semaphore UI
Kriterien Semaphore UI AWX
Fernausführung Ja Ja
Dedizierte Ausführungskapazität JaProProjekt-Runner JaInstanzgruppen, die Ressourcen zugewiesen sind
Ausführungsrouting JaProRunner-Tags an Vorlagen oder Inventaren JaInstanzgruppen, die Ressourcen zugewiesen sind
Ansible-Rollen und -Collections JaInstallation aus requirements.yml JaInstallation bei der Projektsynchronisierung
Containerisierte Aufgaben JaProDocker-Executor JaAnsible-Execution-Environment-Images
Kubernetes-Job-Pods JaEnterprise Ja
Parallelitätssteuerung JaVorlagen-, Projekt- und Instanzbeschränkungen JaParallele Jobs und Kapazität der Instanzgruppen

AWX sendet Arbeit an Ausführungsknoten, zusammengefasst in Instanzgruppen, die Organisationen, Inventaren oder Vorlagen zugewiesen werden können. Semaphore UI führt Jobs auf seinem Server aus oder sendet sie an Runner. In beiden Modellen können sich die Ausführungsmaschinen in der Nähe der Zielsysteme befinden, während die Webschnittstelle zentralisiert bleibt.

Ein Semaphore UI-Runner in einem privaten Netzwerk kann Hosts patchen oder Zertifikate erneuern, ohne dass der Webserver die Zielsysteme direkt erreichen muss. Projekt-Runner stellen einem Projekt Ausführungskapazität bereit. Tags an Vorlagen oder Inventaren leiten Jobs an passende Runner weiter. Das eignet sich für verteilte Standorte und Kundenumgebungen. Routing-Tags wählen Rechner aus, erzwingen aber keine Isolation von Netzwerken oder Cloud-Konten.

Die Laufzeitumgebung bestimmt, was auf diesen Rechnern ausgeführt wird. AWX verwendet Execution-Environment-Images mit Ansible und dessen Abhängigkeiten. Containergruppen können für jeden Job einen Kubernetes-Pod erstellen. Semaphore UI bietet die Ausführung einzelner Aufgaben in Docker ab Pro und in Kubernetes mit Enterprise. Diese Optionen sind unabhängig vom Hosting des Webdiensts in einem Container. Beide Produkte können Ansible-Rollen und -Collections anhand der Requirements im Repository installieren. Andere Bibliotheken und Tools müssen auf dem Ausführungsrechner oder in dessen Image vorhanden sein.

Parallelitätskontrollen schränken die gleichzeitige Arbeit ein. AWX kombiniert Einstellungen für gleichzeitige Jobs mit Ausführungskapazität und Instanzgruppenbeschränkungen. Semaphore UI wendet Instanz-, Projekt- und Vorlagenbeschränkungen an.

AWX kann ein großes Inventar auch automatisch in parallele Jobs aufteilen. Semaphore UI kann die Arbeit durch separate Läufe mit Ansible-Hostlimits aufteilen, wobei Runner-Tags Ausführungsmaschinen auswählen. Das Team verwaltet diese Teilmengen und startet sie. Für schrittweise Updates steuert die serial-Einstellung von Ansible sequentielle Batches. Diese decken gezielte Läufe und gestaffelte Rollouts ab, während das AWX-Slicing eine automatische Partitionierung für parallele flottenweite Arbeiten ermöglicht.

Workflows

Provisioning kann einen Plan, eine Genehmigung, eine Bereitstellung und eine Hostkonfiguration erfordern, mit unterschiedlichen Pfaden nach Erfolg oder Misserfolg. Die Zusammensetzung des Workflows bestimmt, wie diese Schritte miteinander verbunden werden.

UnterstütztTeilweise unterstütztNicht unterstützt
Workflows: AWX und Semaphore UI
Kriterien Semaphore UI AWX
Visueller Workflow-Editor Ja Ja
Mehrere Startknoten Nein Ja
Zusammenführung von Zweigen Ja Ja
Workflows als Schritte Nein Ja
Erfolgs- und Fehlerzweige Ja Ja
Genehmigungsschritte Ja Ja
Separate Genehmigerrolle NeinFür Version 2.21 angekündigt Ja
Übergeben von Workflow-Werten Ja Ja

AWX-Workflows verbinden Ansible-Jobvorlagen miteinander. Andere Tools werden über Playbooks aufgerufen. Semaphore UI verbindet die Vorlagen Ansible, Terraform/OpenTofu, Terragrunt, Bash, PowerShell und Python direkt. Beide unterstützen Erfolgs-/Fehlerzweige und Genehmigungen, sodass ein Bereitstellungsprozess vor einer Produktionsänderung pausieren kann.

Beide verwenden Graphen ohne Schleifen. Bei der Zusammenführung von Zweigen kann verlangt werden, dass die Bedingungen für alle oder für einen beliebigen Vorgänger erfüllt sind. AWX erlaubt mehrere Startknoten. Semaphore UI beginnt bei einem Knoten und bietet Knoten für Aufgaben, Genehmigungen, zeitgesteuerte Verzögerungen und Anmerkungen.

AWX kann einen gesamten Workflow in einem anderen wiederverwenden und so ein gemeinsames mehrstufiges Verfahren an einem Ort behalten. Es verhindert eine rekursive Ausführung und bietet Schritte zur Repository- und Inventaraktualisierung. Semaphore UI verwendet einzelne Aufgabenvorlagen in allen Workflows wieder, kann einen Workflow jedoch nicht als Schritt einbetten. Der Unterschied ist wichtig, wenn mehrere Bereitstellungen ein Verfahren und nicht einen einzelnen Job gemeinsam nutzen.

Semaphore UI Workflow-Editor mit einem Planschritt, einer Genehmigung, einer Bereitstellung und separaten Erfolgs- und Fehlerzweigen.
Semaphore UI. Ein Bereitstellungsworkflow mit Genehmigung und separaten Erfolgs- und Fehlerpfaden.
Vollständiger AWX Workflow Visualizer mit einem Plan, einer Genehmigung, einer Bereitstellung, einer verschachtelten Release-Überprüfung und einem Wiederherstellungszweig.
AWX. Genehmigung vor der Bereitstellung, ein verschachtelter Verifizierungsworkflow und ein Zweig zur Wiederherstellung nach Fehlern.

AWX bietet eine separat zuweisbare Genehmigerrolle. Auch Administratoren können genehmigen. In Semaphore UI 2.20 richtet sich die Genehmigung nach der Berechtigung zum Ausführen von Projektaufgaben. Wer Genehmigung und Ausführung unabhängig vergeben muss, sollte diesen Unterschied berücksichtigen. Eine separate Genehmigerrolle für Semaphore UI ist für 2.21 angekündigt und gehört nicht zu diesem Vergleich.

Beide bieten Genehmigungen über die Oberfläche und eine authentifizierte API. AWX stellt zusätzlich ein Ansible-Modul bereit. Eine interaktive Genehmigung in Slack benötigt eine Integration, die die API aufruft. Eine Benachrichtigung allein reicht nicht aus.

Beide geben Werte, etwa die Adresse eines neu bereitgestellten Hosts, an nachfolgende Jobs weiter. AWX stellt mit set_stats im Playbook definierte Werte als zusätzliche Variablen für nachfolgende Jobs bereit, auch auf Ausführungsknoten. Ein Playbook kann auf diese Weise das Ergebnis eines anderen Tools erfassen. Semaphore UI sammelt Ansible-set_stats-Werte, Outputs von Terraform/OpenTofu/Terragrunt und JSON-Ausgaben von Bash, PowerShell oder Python. Die Werte werden den Eingabevariablen der Zielaufgabe über übereinstimmende Namen oder explizite Zuordnungen zugewiesen.

In Semaphore UI 2.20 werden Workflow-Ausgaben auf dem Server und auf entfernten Runnern mit dem lokalen Executor erfasst. Die Docker- und Kubernetes-Executoren liefern noch keine Workflow-Ausgaben. Die Werte werden nach erfolgreichen Aufgaben erfasst. Fehlerzweige können deshalb nicht auf Ausgaben einer fehlgeschlagenen Aufgabe zurückgreifen. Die Werte sind für Benutzer mit Leserechten auf die Aufgabe sichtbar und dürfen keine Secrets enthalten.

Die Übergabe von Werten überträgt in keinem der Produkte Dateien. Tauschen getrennte Schritte einen gespeicherten Terraform-Plan oder ein anderes Artefakt aus, benötigen sie einen gemeinsam erreichbaren Speicher. Die erneute Nutzung eines Runners garantiert nicht, dass das Arbeitsverzeichnis zwischen den Aufgaben erhalten bleibt.

Zugriffskontrolle

Supportmitarbeiter müssen möglicherweise einen genehmigten Dienst ohne allgemeine Serveranmeldung neu starten. Die Delegation muss sowohl die Operation als auch ihre Ziele einschränken.

UnterstütztTeilweise unterstütztNicht unterstützt
Zugriffskontrolle: AWX und Semaphore UI
Kriterien Semaphore UI AWX
Rollenbasierte Zugriffskontrolle JaProjektrollen, benutzerdefinierte Rollen in Enterprise JaOrganisations-, Team- und Ressourcenrollen
Unabhängige Berechtigungen für Inventare und Zugangsdaten NeinDer Ressourcenzugriff richtet sich nach den Projektrollen Ja
Ausführungsberechtigungen auf Vorlagenebene JaEnterprise Ja
LDAP und OIDC JaPro Ja
SAML-Single-Sign-on NeinOIDC verfügbar Ja
Zwei-Faktor-Authentifizierung JaProLokales TOTP JaÜber einen externen Identitätsanbieter

AWX gewährt Berechtigungen unabhängig für Inventare, Zugangsdaten und Jobvorlagen. Semaphore UI organisiert den Zugriff rund um Projekte mit benutzerdefinierten Enterprise-Rollen und Ausführungsberechtigungen auf Vorlagenebene für eine feinere Delegation. Eine vorkonfigurierte Vorlage kann einen freigegebenen Vorgang mit dem ausgewählten Inventar, den Zugangsdaten und den Ausführungseinstellungen bereitstellen.

Semaphore UI Enterprise kann Supportmitarbeitern beispielsweise Zugriff auf eine Vorlage zum Neustart eines Dienstes auf bestimmten Produktionsservern geben. Eine Guest-Basisrolle und eine benutzerdefinierte Rolle ohne projektweite Berechtigungen können die Ausführung dieser Vorlage erlauben. Schränken Sie Überschreibungen für Inventar, Host-Limit, Variablen und weitere Startparameter ein. Prüfen Sie außerdem, dass zusätzliche Rollen den Zugriff nicht erweitern. Vorlage, Berechtigungen und Automatisierung definieren gemeinsam den zulässigen Vorgang. Das Eingabeformular erfasst nur die Parameter.

Damit lassen sich einzelne Vorgänge delegieren, ohne unabhängige Berechtigungen für Inventare oder Zugangsdaten innerhalb eines Projekts einzuführen. AWX passt besser, wenn Operatoren Ressourcen unter getrennten Zugriffsregeln kombinieren müssen. Die Vorlagenberechtigungen von Semaphore UI eignen sich für eine festgelegte Auswahl freigegebener Abläufe.

Beide unterstützen LDAP und OIDC für die Anmeldung. AWX unterstützt auch SAML und verlässt sich auf einen externen Identitätsanbieter für MFA. Semaphore UI bietet lokale TOTP Zwei-Faktor-Authentifizierung. Ein Identitätsanbieter mit OIDC kann die zentralisierte Semaphore UI-Anmeldung abdecken, während eine reine SAML-Anforderung einen anderen Integrationsansatz erfordert.

Logs und Audit

Die Jobausgabe erklärt Ausführungsfehler. Der Prüfverlauf zeichnet auf, wer einen Vorgang gestartet oder seine Konfiguration geändert hat, mit unterschiedlichen Sichtbarkeits- und Aufbewahrungsanforderungen.

UnterstütztTeilweise unterstütztNicht unterstützt
Logs und Audit: AWX und Semaphore UI
Kriterien Semaphore UI AWX
Aufgabenverlauf und Protokolle Ja Ja
Aufbewahrung des Aufgabenverlaufs JaBehalten Sie aktuelle Aufgaben pro Vorlage bei JaGeplante Bereinigung nach Alter der Einträge
Projektübergreifende Prüfhistorie JaAudit-Log für Administratoren, Aufzeichnung aktivieren JaAktivitätsstrom, rollenbasierte Sichtbarkeit
SIEM Weiterleitung JaProTLS Syslog und Splunk HEC JaExterne Protokollierung, einschließlich Splunk

Beide Produkte speichern den Aufgabenverlauf und die Ausgabe zur Fehlerbehebung. Die Audit-Sichtbarkeit ist unterschiedlich: Der Aktivitätsstrom von AWX richtet sich nach Ressourcenberechtigungen und Administrator- oder Prüferrollen. Die projektübergreifende Audit-Ansicht von Semaphore UI steht Administratoren zur Verfügung, wobei Ereignisse in der Datenbank gespeichert werden, wenn die Audit-Aufzeichnung aktiviert ist.

Für zentrale Untersuchungen leitet die externe Protokollierung von AWX Aktivitäts-, Job- und Servereinträge weiter, unter anderem an Splunk. Semaphore UI Pro ergänzt Audit-Filter, CSV- oder JSONL-Export und die Weiterleitung über TLS Syslog oder Splunk HEC. Beide können Ereignisse an eine Logging-Plattform oder ein SIEM-System (Security Information and Event Management) liefern.

Bei der lokalen Aufbewahrung werden verschiedene Kontrollen verwendet. AWX bietet eine geplante altersbasierte Bereinigung des Ausführungsverlaufs und des Aktivitätsstroms. Semaphore UI behält eine konfigurierte Anzahl aktueller Aufgaben pro Vorlage bei. Ein zentrales Protokollierungssystem kann Aufzeichnungen über diese lokalen Grenzen hinaus aufbewahren.

Integrationen

Repository-Änderungen und Service-Portal-Anfragen können eine Automatisierung auslösen. APIs, Webhooks und Benachrichtigungen verbinden diese Ereignisse mit Jobs und deren Ergebnissen.

UnterstütztTeilweise unterstütztNicht unterstützt
Integrationen: AWX und Semaphore UI
Kriterien Semaphore UI AWX
REST API Ja Ja
Job-Webhooks JaGenerische Endpunkte, Matcher, Wertextraktion JaGitHub- und GitLab-Webhooks
Jobbenachrichtigungen Ja Ja

AWX bietet integrierte Job-Webhooks für GitHub und GitLab, um Automatisierung durch Repository-Ereignisse zu starten. Semaphore UI stellt generische Webhook-Endpunkte bereit, die Anfragen anhand konfigurierter Regeln abgleichen und Aufgabenparameter extrahieren. Diese Endpunkte können Ereignisse aus unterschiedlichen Systemen empfangen. Die REST-APIs beider Produkte ermöglichen außerdem den Zugriff durch weitere Clients.

Für ausgehende Benachrichtigungen bietet AWX E-Mail, Slack, Rocket.Chat, Mattermost, PagerDuty, AWS SNS, Grafana, IRC, Twilio und Webhooks. Semaphore UI unterstützt E-Mail (SMTP), Telegram, Slack, Microsoft Teams, Rocket.Chat, DingTalk und Gotify. Diese Kanäle melden Jobereignisse an Personen oder Dienste. Eingehende Job-Webhooks hingegen starten Automatisierung.

Ein Serviceportal oder ITSM-System kann über die REST-API des jeweiligen Produkts einen vorbereiteten Job starten und dessen Ergebnis abrufen. Ein internes Portal kann beispielsweise die Erneuerung eines Zertifikats über eine gespeicherte Vorlage anfordern und dem Antragsteller den Abschluss melden. Dies ist eine vom Team konfigurierte API-Integration, kein eigener nativer Konnektor.

KI-gestützte Automatisierung

Beide Plattformen stellen Coding-Assistenten wie Claude Code und Codex hilfreiche Grundlagen bereit: öffentliche Dokumentation, offenen Quellcode und dokumentierte APIs. Ein Assistent kann Konfigurationsbeispiele heranziehen, die Implementierung einer Einstellung untersuchen und anhand von API-Definitionen Integrationscode entwerfen. Mit der jeweiligen Konfiguration und der Jobausgabe kann er außerdem bei der Fehlersuche helfen. So sind KI-gestützte Einrichtung und Fehlerdiagnose möglich, ohne dass die Plattform eine eigene KI-Funktion enthalten muss.

Für AWX und Semaphore UI sind MCP-Konnektoren aus der Community verfügbar. Je nach Konnektor ermöglichen sie Assistenten Plattformoperationen wie das Suchen von Vorlagen, das Starten von Jobs und das Abrufen von Ergebnissen. So kann ein Team vorbereitete Automatisierung über einen Assistenten nutzen, während die Jobdefinitionen und die Ausführung in der Plattform bleiben.

Semaphore UI hat offiziellen MCP-Support für Pro in Version 2.21.0 angekündigt.

Lizenzierung und Support

Sowohl AWX als auch Semaphore UI bieten kostenlose Open-Source-Software. Der Hauptunterschied besteht darin, wie Teams kommerzielle Fähigkeiten, Herstellersupport und vertragliche Verpflichtungen erhalten können, da die Automatisierung für ihre Abläufe immer wichtiger wird.

Open-Source- und kommerzielle Optionen

AWX steht unter der Apache-2.0-Lizenz und erhält Support durch die Community. Es ist außerdem ein Upstream-Projekt für die Komponente automation controller der Red Hat Ansible Automation Platform (AAP). Red Hat verkauft kein Support-Abonnement für AWX selbst. Das kommerziell unterstützte Angebot ist AAP, eine eigenständige Enterprise-Plattform mit automation controller, weiteren Komponenten, zertifizierten Inhalten und einem definierten Produktlebenszyklus.

Semaphore UI folgt einem Open-Core-Modell. Community ist kostenlos und MIT-lizenziert. Pro und Enterprise ergänzen kommerzielle Funktionen und Herstellersupport innerhalb derselben Produktfamilie. Pro richtet sich an kleinere Engineering-Teams, die Automatisierung in ihren täglichen Betrieb integrieren. Enterprise deckt anspruchsvollere Anforderungen an Zugriff, Ausführung, Verfügbarkeit und Support ab.

Die kommerziellen Angebote bedienen daher unterschiedliche Einkaufsbedürfnisse. AAP ist eine umfassendere Investition in eine Unternehmensplattform. Die kommerziellen Pläne von Semaphore UI richten sich an Engineering-Teams und mittelständische Unternehmen, mit einer Enterprise-Option für komplexe oder geschäftskritische Umgebungen. Teams können erweiterte Kontrollen und Herstellersupport erhalten und gleichzeitig ihre Investitionen auf den von ihnen benötigten Automatisierungsdienst konzentrieren.

Support und vertragliche Verpflichtungen

AWX-Nutzer können über Community-Kanäle Fragen stellen, Fehler melden und Korrekturen beitragen. Daraus ergibt sich keine Herstellerpflicht, innerhalb einer bestimmten Frist zu reagieren oder bei Störungen Support zu leisten. Ein AAP-Abonnement bietet Red-Hat-Support für AAP, erweitert aber nicht die Supportabdeckung einer bestehenden AWX-Installation.

Auch Semaphore UI Community bietet Unterstützung nach bestem Bemühen ohne Support-SLA. Pro umfasst Herstellersupport während der Geschäftszeiten. Enterprise bietet individuell vereinbarte SLA-Optionen und Unterstützung bei Einführung, Konfiguration, Upgrades und Migration. Kommerzielle Kunden haben damit eine direkte Beziehung zum Hersteller. Die Supportpflichten ergeben sich aus dem jeweiligen Tarif und Vertrag.

Release- und Wartungsplanung

AWX gibt derzeit an, dass Releases während eines umfangreichen Refactorings pausiert werden. Semaphore UI veröffentlicht weiterhin Releases und unterhält eine Sicherheitsrichtlinie, die unterstützte Versionen identifiziert. Diese Unterschiede sind bei der Planung von Upgrades und der laufenden Wartung von Bedeutung. Überprüfen Sie den Veröffentlichungsverlauf, die Sicherheitsrichtlinien und die Upgrade-Anleitungen für die Version, die Sie betreiben möchten, sowie etwaige vertragliche Supportverpflichtungen.

Auswahlkriterien

Auf beiden Plattformen können Teams Automatisierungen teilen, Aufträge planen und Ergebnisse überprüfen. Wählen Sie basierend darauf, wie Sie Hostinformationen verwalten, Vorgänge delegieren, den Dienst hosten und Support erhalten.

Wann sollte man AWX wählen?

AWX eignet sich gut, wenn Ansible im Mittelpunkt Ihrer Automatisierung steht und die Ressourcenverwaltung der Plattform zu Ihrem täglichen Betrieb passt.

  • Die Inventarverwaltung in der Plattform ist eine Kernanforderung. Ihre Operatoren verwalten im täglichen Betrieb Host- und Gruppendatensätze, aktualisieren Inventare und speichern Host-Facts mithilfe der Plattform.
  • Inventare und Zugangsdaten benötigen eigene Zugriffsregeln. Ihr Team muss Berechtigungen für einzelne Inventare und Zugangsdaten unabhängig von Auftragsvorlagen zuweisen, sodass Bediener nur die Ressourcen kombinieren können, zu deren Nutzung sie berechtigt sind.
  • Kubernetes passt zu Ihrer bestehenden Infrastruktur. Ihr Team betreibt bereits einen Cluster. Das empfohlene Bereitstellungsmodell von AWX passt damit zu den vorhandenen Systemen und Kenntnissen.
  • Ansible orchestriert bereits Ihre Abläufe. Ihre Playbooks decken die erforderlichen Vorgänge ab, einschließlich Aufrufen anderer Tools, und Ansible-Ausführungsumgebungen stellen deren Abhängigkeiten bereit.
  • Der Community-Support erfüllt Ihre Anforderungen. Ihr Team verfügt über das Fachwissen und die Kapazität, Vorfälle zu untersuchen, Sicherheitshinweise zu bewerten und die Installation ohne ein SLA für die Reaktion des Anbieters zu warten.

Wann sollte man Semaphore UI wählen?

Semaphore UI eignet sich gut, wenn Sie einen unkomplizierten Dienst zum Ausführen und gemeinsamen Nutzen von Automatisierung mit Ihren vorhandenen Tools und Ihrer Infrastruktur suchen.

  • Ihre Inventare befinden sich bereits in Git oder externen Systemen. Sie möchten Ansible-Inventardefinitionen und Plugins wiederverwenden, die Hosts von NetBox, Cloud-APIs oder anderen Quellen erkennen, wenn Jobs ausgeführt werden.
  • Kollegen benötigen Zugang zu vorbereiteten Abläufen. Ingenieure definieren Aufgaben wie Bereitstellungen, Dienstneustarts oder Zertifikatsverlängerungen. Andere Teammitglieder starten diese Aufgaben mit den erforderlichen Eingaben, während Inventare und Zugangsdaten Teil der vorbereiteten Konfiguration bleiben.
  • Sie möchten ohne Kubernetes bereitstellen. Mit Binär-, Native-Paket- und Docker-Installationen können Sie einen vorhandenen Server verwenden und vermeiden so einen Cluster, der ausschließlich für den Automatisierungsdienst eingeführt wird.
  • Ihre Automatisierung umfasst mehrere Tools. Dedizierte Vorlagen führen Ansible, Terraform/OpenTofu, Terragrunt, Bash, PowerShell und Python direkt aus, wobei ihre Vorgänge durch Workflows verbunden werden.
  • Sie möchten direkten Zugang zu kommerziellem Support. Kommerzielle Lizenzen bieten Herstellersupport und erweiterte Funktionen innerhalb derselben Produktfamilie, sodass Sie Supportverpflichtungen erhalten und Semaphore UI weiterhin nutzen können.

FAQ

Kann Semaphore UI AWX ersetzen?

Ja, wenn das Inventar-, Berechtigungs- und Workflow-Modell Ihre Anforderungen abdeckt. Vorhandene Playbooks können oft wiederverwendet werden, während Jobkonfiguration und Zugriffskontrollen abgebildet und getestet werden müssen. Überprüfen Sie alle Abhängigkeiten von AWX-spezifischen Funktionen, insbesondere verschachtelten Workflows, unabhängigen Inventar- oder Zugangsdatenberechtigungen und verwaltetem Fact-Caching.

Kann ich meine vorhandenen Ansible-Playbooks wiederverwenden?

Beginnen Sie mit demselben Repository und denselben Playbooks. Konfigurieren Sie in Semaphore UI das benötigte Inventar, die Zugangsdaten, Variablen, Collections und Laufzeitabhängigkeiten. Testen Sie anschließend repräsentative Ausführungen. Die Wiederverwendung des Codes importiert nicht automatisch alle AWX-Einstellungen.

Was muss bei der Migration von AWX überprüft werden?

Beginnen Sie mit einem repräsentativen Workflow. Verwenden Sie die Playbooks nach Möglichkeit wieder und ordnen Sie dann Inventare, Zugangsdaten, Variablen, Eingabeformulare, Zeitpläne und Laufzeitabhängigkeiten zu. Überprüfen Sie Berechtigungen, Genehmigungen, verschachtelte Workflows und Wert- oder Dateiübertragungen separat. Ein Import kann den Einrichtungsaufwand reduzieren, beweist jedoch nicht, dass sich der importierte Job genauso verhält. Testen Sie, bevor Sie Produktionspläne aktivieren.

Für welche Semaphore UI-Funktionen ist eine kostenpflichtige Edition erforderlich?

Community bietet die grundlegende Aufgabenoberfläche und Workflows. Projekt-Runner, Docker-Ausführung und Anbindungen externer Secrets-Speicher sind ab Pro verfügbar. Benutzerdefinierte Rollen, Vorlagenberechtigungen, Kubernetes-Aufgabenausführung und Hochverfügbarkeit erfordern Enterprise. Berücksichtigen Sie bei der Tarifwahl die benötigten Funktionen und Kapazitäten.

Kann ich SAML Single Sign-On nach der Migration beibehalten?

AWX unterstützt SAML direkt. Semaphore UI unterstützt LDAP und OIDC, bietet aber keine native SAML-Integration. Ein Identitätsanbieter mit OIDC kann die Anmeldeanforderung möglicherweise erfüllen. Prüfen Sie Benutzer- und Gruppenzuordnungen gesondert, denn ein Wechsel des Authentifizierungsprotokolls bildet die AWX-Berechtigungen nicht nach.

Benötigt Semaphore UI Kubernetes?

Nein. Binär-, Paket- und Docker-Installationen sind verfügbar. Kubernetes ist eine optionale Bereitstellungsauswahl. Automatisierungstools und eine passende Datenbank gehören weiterhin zur Umgebung.

Kann AWX Terraform ausführen oder HashiCorp Vault verwenden?

Ja. Playbooks können Terraform-Befehle oder Module aus Collections ausführen. AWX unterstützt außerdem den Abruf von Zugangsdaten aus HashiCorp Vault. Semaphore UI bietet ein anderes Konfigurationsmodell mit eigenen Terraform/OpenTofu-Vorlagen und einem optionalen HTTP-State-Backend ab Pro.

Unterstützt eine der beiden Plattformen die Remote-Ausführung?

Beide können Aufgaben auf Remote-Servern ausführen. AWX verwendet Ausführungsknoten, die für verschiedene Teams und Arbeitslasten gruppiert sind. Semaphore UI verwendet Runner-Agents. Ihre Einrichtungs- und Zugriffsmodelle unterscheiden sich.

War dieser Artikel hilfreich?

Quellen

  1. ARA Records Ansible, “ARA Records Ansible”. URL: https://ara.recordsansible.org/ (abgerufen am: ).
  2. Semaphore UI, “Semaphore runner output capture and executor limits”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/runners/job_pool.go#L167-L192 (abgerufen am: ).
  3. Semaphore UI, “Semaphore task dispatch, runner routing, concurrency and remote workflow outputs”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/tasks/TaskPool.go (abgerufen am: ).
  4. Semaphore UI, “Semaphore workflow input mapping model”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db/Workflow.go#L27-L44 (abgerufen am: ).
  5. Semaphore UI, “Semaphore task template options and survey field types”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db/Template.go (abgerufen am: ).
  6. Semaphore UI, “Semaphore NetBox dynamic inventory example”. URL: https://semaphoreui.com/docs/user-guide/inventory/netbox-dynamic-inventory (abgerufen am: ).
  7. Semaphore UI, “Semaphore Consul inventory script”. URL: https://semaphoreui.com/docs/user-guide/inventory/consul-dynamic-inventory (abgerufen am: ).
  8. Ansible community, “NetBox Ansible inventory plugin”. URL: https://docs.ansible.com/projects/ansible/latest/collections/netbox/netbox/nb_inventory_inventory.html (abgerufen am: ).
  9. Ansible community, “AWS EC2 Ansible inventory plugin”. URL: https://docs.ansible.com/projects/ansible/latest/collections/amazon/aws/aws_ec2_inventory.html (abgerufen am: ).
  10. Ansible community, “Azure Ansible inventory plugin”. URL: https://docs.ansible.com/projects/ansible/latest/collections/azure/azcollection/azure_rm_inventory.html (abgerufen am: ).
  11. Ansible community, “Google Cloud Ansible inventory plugin”. URL: https://docs.ansible.com/projects/ansible/latest/collections/google/cloud/gcp_compute_inventory.html (abgerufen am: ).
  12. Semaphore UI, “Semaphore cloning of inventory repositories”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/tasks/local_executor_inventory.go (abgerufen am: ).
  13. Semaphore UI, “Semaphore local execution, workflow outputs, inventory paths, host limits and branch overrides”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/tasks/local_executor.go (abgerufen am: ).
  14. Semaphore UI, “Semaphore survey field types”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/web/src/components/SurveyVars.vue (abgerufen am: ).
  15. Semaphore UI, “Semaphore survey inputs and task launch form”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/web/src/components/TaskForm.vue (abgerufen am: ).
  16. Semaphore UI, “What is Semaphore UI?”. URL: https://semaphoreui.com/docs/introduction/what-is-semaphore (abgerufen am: ).
  17. AWX project, “AWX user guide”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/index.html (abgerufen am: ).
  18. Semaphore UI, “Semaphore source and MIT license”. URL: https://github.com/semaphoreui/semaphore (abgerufen am: ).
  19. AWX project, “AWX source and Apache 2.0 license”. URL: https://github.com/ansible/awx (abgerufen am: ).
  20. Semaphore UI, “Semaphore setup and first run”. URL: https://semaphoreui.com/docs/getting-started (abgerufen am: ).
  21. Semaphore UI, “Semaphore installation methods and dependencies”. URL: https://semaphoreui.com/docs/admin-guide/installation (abgerufen am: ).
  22. AWX project, “AWX installation paths”. URL: https://github.com/ansible/awx/blob/24.6.1/INSTALL.md (abgerufen am: ).
  23. AWX project, “AWX Operator installation”. URL: https://docs.ansible.com/projects/awx-operator/en/latest/installation/basic-install.html (abgerufen am: ).
  24. Semaphore UI, “Semaphore high availability prerequisites”. URL: https://semaphoreui.com/docs/admin-guide/ha#prerequisites (abgerufen am: ).
  25. AWX project, “AWX web and task replica scaling”. URL: https://docs.ansible.com/projects/awx-operator/en/latest/user-guide/advanced-configuration/scaling-the-web-and-task-pods-independently.html (abgerufen am: ).
  26. Semaphore UI, “Semaphore automation applications”. URL: https://semaphoreui.com/docs/user-guide/apps (abgerufen am: ).
  27. Semaphore UI, “Semaphore task templates”. URL: https://semaphoreui.com/docs/user-guide/task-templates (abgerufen am: ).
  28. AWX project, “AWX job templates and surveys”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/job_templates.html (abgerufen am: ).
  29. Semaphore UI, “Survey variables”. URL: https://semaphoreui.com/docs/user-guide/task-templates/survey-vars (abgerufen am: ).
  30. Semaphore UI, “Terraform and OpenTofu in Semaphore”. URL: https://semaphoreui.com/docs/user-guide/apps/terraform (abgerufen am: ).
  31. Ansible community, “Ansible Terraform module”. URL: https://docs.ansible.com/projects/ansible/latest/collections/community/general/terraform_module.html (abgerufen am: ).
  32. Semaphore UI, “Semaphore Terraform HTTP backend”. URL: https://semaphoreui.com/docs/user-guide/apps/terraform/states (abgerufen am: ).
  33. Semaphore UI, “Semaphore workflow nodes and approvals”. URL: https://semaphoreui.com/docs/user-guide/workflows (abgerufen am: ).
  34. Semaphore UI, “Semaphore inventory types and stored resources”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db/Inventory.go (abgerufen am: ).
  35. AWX project, “AWX job slicing”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/job_slices.html (abgerufen am: ).
  36. Semaphore UI, “Semaphore workflow approval API routes”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/api/router.go (abgerufen am: ).
  37. AWX project, “AWX resource, workflow approval and activity-stream access control”. URL: https://github.com/ansible/awx/blob/24.6.1/awx/main/access.py (abgerufen am: ).
  38. AWX project, “AWX workflow approval Ansible module”. URL: https://github.com/ansible/awx/blob/24.6.1/awx_collection/plugins/modules/workflow_approval.py (abgerufen am: ).
  39. AWX project, “AWX workflow branch convergence”. URL: https://github.com/ansible/awx/blob/24.6.1/awx/main/scheduler/dag_workflow.py#L51-L112 (abgerufen am: ).
  40. AWX project, “AWX Terraform State inventory source”. URL: https://github.com/ansible/awx/blob/24.6.1/docs/docsite/rst/userguide/inventories.rst#L1092-L1121 (abgerufen am: ).
  41. AWX project, “AWX instance-group capacity limits”. URL: https://github.com/ansible/awx/blob/24.6.1/docs/docsite/rst/administration/containers_instance_groups.rst#L247-L263 (abgerufen am: ).
  42. AWX project, “AWX custom credential types”. URL: https://github.com/ansible/awx/blob/24.6.1/docs/credentials/custom_credential_types.md (abgerufen am: ).
  43. AWX project, “AWX workflows”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/workflow_templates.html (abgerufen am: ).
  44. AWX project, “AWX workflow branching and output variables”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/workflows.html (abgerufen am: ).
  45. AWX project, “AWX collection of Ansible workflow variables”. URL: https://github.com/ansible/awx/blob/24.6.1/awx/main/tasks/callback.py#L156-L160 (abgerufen am: ).
  46. AWX project, “AWX processing of execution-node events”. URL: https://github.com/ansible/awx/blob/24.6.1/awx/main/tasks/receptor.py#L544-L553 (abgerufen am: ).
  47. AWX project, “AWX inheritance of variables between workflow jobs”. URL: https://github.com/ansible/awx/blob/24.6.1/awx/main/models/workflow.py#L324-L354 (abgerufen am: ).
  48. Semaphore UI, “Semaphore global runners”. URL: https://semaphoreui.com/docs/admin-guide/runners/ (abgerufen am: ).
  49. Semaphore UI, “Semaphore project runners”. URL: https://semaphoreui.com/docs/user-guide/projects/runners (abgerufen am: ).
  50. AWX project, “AWX execution and hop nodes”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/administration/instances.html (abgerufen am: ).
  51. AWX project, “AWX execution environments”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/execution_environments.html (abgerufen am: ).
  52. AWX project, “AWX Kubernetes container groups”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/administration/containers_instance_groups.html (abgerufen am: ).
  53. Semaphore UI, “Semaphore inventories”. URL: https://semaphoreui.com/docs/user-guide/inventory (abgerufen am: ).
  54. AWX project, “AWX inventories”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/inventories.html (abgerufen am: ).
  55. Semaphore UI, “Semaphore project access”. URL: https://semaphoreui.com/docs/user-guide/projects (abgerufen am: ).
  56. Semaphore UI, “Semaphore team roles and template-level permissions”. URL: https://semaphoreui.com/docs/user-guide/team#extended-rbac (abgerufen am: ).
  57. AWX project, “AWX role-based access controls”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/rbac.html (abgerufen am: ).
  58. Semaphore UI, “Semaphore LDAP and OIDC authentication”. URL: https://semaphoreui.com/docs/admin-guide/authentication (abgerufen am: ).
  59. AWX project, “AWX LDAP, OIDC and SAML authentication”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/administration/ent_auth.html (abgerufen am: ).
  60. Semaphore UI, “Semaphore Key Store”. URL: https://semaphoreui.com/docs/user-guide/key-store (abgerufen am: ).
  61. AWX project, “AWX credentials and secret lookups”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/credentials.html (abgerufen am: ).
  62. AWX project, “AWX external secret management integrations”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/credential_plugins.html (abgerufen am: ).
  63. Semaphore UI, “Semaphore OpenBao secret storage”. URL: https://semaphoreui.com/docs/user-guide/key-store/openbao (abgerufen am: ).
  64. Semaphore UI, “Semaphore Devolutions Server secret storage”. URL: https://semaphoreui.com/docs/user-guide/key-store/devolutions-server (abgerufen am: ).
  65. Semaphore UI, “Semaphore webhook integrations”. URL: https://semaphoreui.com/docs/user-guide/integrations (abgerufen am: ).
  66. AWX project, “AWX webhooks”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/webhooks.html (abgerufen am: ).
  67. Semaphore UI, “Semaphore REST API”. URL: https://semaphoreui.com/api-docs (abgerufen am: ).
  68. Ansible community, “Ansible command execution”. URL: https://docs.ansible.com/projects/ansible/latest/collections/ansible/builtin/command_module.html (abgerufen am: ).
  69. Ansible community, “Ansible PowerShell module”. URL: https://docs.ansible.com/projects/ansible/latest/collections/ansible/windows/win_powershell_module.html (abgerufen am: ).
  70. Semaphore UI, “Semaphore notification channels”. URL: https://semaphoreui.com/docs/admin-guide/notifications (abgerufen am: ).
  71. AWX project, “AWX notifications”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/notifications.html (abgerufen am: ).
  72. Semaphore UI, “Semaphore task history and output”. URL: https://semaphoreui.com/docs/user-guide/tasks (abgerufen am: ).
  73. Semaphore UI, “Semaphore scheduled tasks”. URL: https://semaphoreui.com/docs/user-guide/schedules (abgerufen am: ).
  74. AWX project, “AWX activity stream”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/main_menu.html (abgerufen am: ).
  75. Semaphore UI, “Semaphore Community, Pro and Enterprise”. URL: https://semaphoreui.com/pricing (abgerufen am: ).
  76. Red Hat, “Red Hat: AWX and Ansible Automation Platform”. URL: https://www.redhat.com/en/technologies/management/ansible/compare-awx-vs-ansible-automation-platform (abgerufen am: ).
  77. Red Hat, “Red Hat automation controller, formerly Ansible Tower”. URL: https://www.redhat.com/en/technologies/management/ansible/automation-controller (abgerufen am: ).
  78. Semaphore UI, “Semaphore stable releases”. URL: https://github.com/semaphoreui/semaphore/releases (abgerufen am: ).
  79. AWX project, “AWX release history”. URL: https://github.com/ansible/awx/releases (abgerufen am: ).
  80. Semaphore MCP contributors, “Semaphore MCP connector”. URL: https://github.com/cloin/semaphore-mcp (abgerufen am: ).
  81. Semaphore MCP contributors, “Semaphore MCP task execution and output”. URL: https://github.com/cloin/semaphore-mcp/blob/72f5b7008f6d560c74e01da9884e6fddbbf68999/src/semaphore_mcp/tools/tasks.py (abgerufen am: ).
  82. LY Corporation, “AWX MCP connector and compatibility”. URL: https://github.com/lycorp-jp/awx-mcp/tree/fa4d25ffa9e04967e98dc66b219a0481d61ea814 (abgerufen am: ).
  83. LY Corporation, “AWX MCP job template execution”. URL: https://github.com/lycorp-jp/awx-mcp/blob/fa4d25ffa9e04967e98dc66b219a0481d61ea814/awx_mcp/tools/job_templates.py (abgerufen am: ).
  84. LY Corporation, “AWX MCP job output”. URL: https://github.com/lycorp-jp/awx-mcp/blob/fa4d25ffa9e04967e98dc66b219a0481d61ea814/awx_mcp/tools/jobs.py (abgerufen am: ).
  85. HashiCorp, “Terraform local state backend”. URL: https://developer.hashicorp.com/terraform/language/backend/local (abgerufen am: ).
  86. HashiCorp, “Terraform state locking”. URL: https://developer.hashicorp.com/terraform/language/state/locking (abgerufen am: ).
  87. Semaphore UI, “Semaphore variable groups”. URL: https://semaphoreui.com/docs/user-guide/environment (abgerufen am: ).
  88. Semaphore UI, “Semaphore runner selection and capacity”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/tasks/RemoteJob.go (abgerufen am: ).
  89. Semaphore UI, “Semaphore cron and one-time schedule execution”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/schedules/SchedulePool.go (abgerufen am: ).
  90. AWX project, “AWX schedules”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/scheduling.html (abgerufen am: ).
  91. Ansible community, “Ansible constructed inventory plugin”. URL: https://docs.ansible.com/projects/ansible/latest/collections/ansible/builtin/constructed_inventory.html (abgerufen am: ).
  92. Ansible community, “Ansible cache plugins”. URL: https://docs.ansible.com/projects/ansible/latest/plugins/cache.html (abgerufen am: ).
  93. Semaphore UI, “View and export the Semaphore audit log”. URL: https://semaphoreui.com/docs/admin-guide/audit-log/view (abgerufen am: ).
  94. Semaphore UI, “Semaphore administrator audit-log access”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/api/audit_log.go (abgerufen am: ).
  95. AWX project, “AWX logging and aggregation”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/administration/logging.html (abgerufen am: ).
  96. Semaphore UI, “Semaphore audit log”. URL: https://semaphoreui.com/docs/admin-guide/audit-log (abgerufen am: ).
  97. Semaphore UI, “Ansible role and collection installation”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db_lib/AnsibleApp.go (abgerufen am: ).
  98. Semaphore UI, “Task-history cleanup”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db/sql/task.go (abgerufen am: ).
  99. Semaphore UI, “Ansible inventory overrides”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/tasks/TaskRunner.go (abgerufen am: ).
  100. AWX project, “Projects, Ansible Galaxy and collections”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/projects.html#ansible-galaxy-support (abgerufen am: ).
  101. AWX project, “Management jobs”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/administration/management_jobs.html (abgerufen am: ).
  102. Semaphore UI, “Terraform plan and apply execution”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db_lib/TerraformApp.go (abgerufen am: ).
  103. Semaphore UI, “Repository working directories”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db/Repository.go (abgerufen am: ).
  104. HashiCorp, “Terraform plan command”. URL: https://developer.hashicorp.com/terraform/cli/commands/plan (abgerufen am: ).
  105. HashiCorp, “Terraform apply command”. URL: https://developer.hashicorp.com/terraform/cli/commands/apply (abgerufen am: ).
  106. Semaphore UI, “Security policy”. URL: https://github.com/semaphoreui/semaphore/security/policy (abgerufen am: ).
  107. AWX project, “Security policy”. URL: https://github.com/ansible/awx/security/policy (abgerufen am: ).
  108. AWX project, “Release status and project overview”. URL: https://github.com/ansible/awx/blob/devel/README.md (abgerufen am: ).
  109. Semaphore UI, “Semaphore notification channel implementation”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/tasks/alert.go (abgerufen am: ).

Vergleich des Semaphore UI-Teams auf Grundlage der oben aufgeführten Dokumentation, Repositorys und Preisseiten. Das Abrufdatum ist bei jeder Quelle angegeben.