Un encuadre honesto
La mayoría de las comparativas de herramientas las escriben los proveedores. Se nota: un bando gana en todas las métricas y la conclusión siempre es «usad nuestro producto».
Este artículo intenta ser distinto. AWX y Semaphore UI resuelven problemas que se solapan, pero parten de supuestos distintos sobre quiénes sois y qué tenéis. La respuesta correcta depende de verdad de vuestra situación.
Veremos: qué hace cada herramienta, cómo está construida, en qué difieren a nivel de funciones y — lo más importante — qué equipo debería usar cuál.
¿Qué es AWX?
AWX es el proyecto open source upstream que Red Hat usa como base de su Ansible Automation Platform (AAP) comercial. Ofrece una interfaz web, API REST y un motor de tareas para ejecutar playbooks de Ansible en vuestra infraestructura.
AWX es gratuito, con licencia MIT y apoyo de la comunidad. Red Hat toma versiones seleccionadas de AWX, las endurece y las empaqueta como «Automation Controller», el componente central de AAP. AWX recibe las funciones primero; Automation Controller recibe el soporte enterprise.
Estado actual (2026): La última versión de AWX fue la 24.6.1 el 2 de julio de 2024. El desarrollo está en pausa durante una refactorización arquitectónica a gran escala. El equipo reconoció que «la arquitectura de la aplicación existente limita la capacidad de cambio» y que han alcanzado «el límite de hasta dónde puede innovar con el sistema existente». La colección Ansible awx.awx también se ha señalado como poco mantenida. Eso no significa que AWX esté muerto: significa que está en un periodo de transición importante sin un calendario claro.
¿Qué es Semaphore UI?
Semaphore UI es una interfaz web open source para ejecutar automatización con Ansible, Terraform/OpenTofu, Bash, Python y PowerShell. Está escrita en Go y se distribuye como un único binario sin dependencias de runtime externas.
Como AWX, ofrece UI, API REST, programación, RBAC y gestión de equipos. A diferencia de AWX, no depende de Kubernetes ni se apoya en un producto enterprise comercial.
Semaphore está disponible en una versión open source gratuita (licencia MIT) y un nivel Pro que añade runners por proyecto, 2FA, backend HTTP de Terraform y exportación de logs. Las opciones enterprise incluyen HA, LDAP/SSO y soporte prioritario.
Arquitectura e instalación
Aquí es donde las dos herramientas divergen con más fuerza.
AWX requiere Kubernetes. Desde la v18.0.0, los despliegues Docker en un solo host ya no están oficialmente soportados para producción. Necesitáis un clúster Kubernetes operativo — ya sea k3s en una máquina, un clúster multi-nodo completo o un servicio gestionado en la nube. El método recomendado es el operador AWX, que requiere kustomize 3.5.1+. La última versión exige PostgreSQL 15.
Semaphore casi no requiere nada. Es un único binario Go compilado. Podéis instalarlo con un gestor de paquetes (apt, dnf), Docker, Helm o descargando y ejecutando el binario. SQLite sirve para entornos pequeños; PostgreSQL o MySQL para producción. Un Docker típico es un solo comando.
La diferencia práctica: poner AWX en condiciones lleva horas y asume familiaridad con Kubernetes. Poner Semaphore lleva minutos y no asume nada.
| AWX | Semaphore UI | |
|---|---|---|
| Método de despliegue | Kubernetes + operador AWX | Binario, Docker, Helm, gestor de paquetes |
| Dependencias obligatorias | Kubernetes, kustomize, PostgreSQL 15 | Ninguna (SQLite integrado) |
| RAM mín. recomendada | 8 GB | 512 MB |
| CPU mín. recomendada | 4 núcleos | 1 núcleo |
| Instalación en un solo binario | ❌ | ✅ |
| Soporte Windows | ❌ | ✅ |
| Tiempo de instalación | Horas | Minutos |
Comparativa de funciones
Ambas cubren el flujo central: definir la automatización, configurar inventario y credenciales, ejecutar tareas y ver logs. Así se comparan en conjunto.
| Función | AWX | Semaphore UI |
|---|---|---|
| Playbooks Ansible | ✅ | ✅ |
| Terraform / OpenTofu | ❌ (solo vía módulo Ansible) | ✅ Nativo |
| Bash / scripts shell | ❌ (solo vía playbooks) | ✅ Nativo |
| Scripts Python | ❌ (solo vía playbooks) | ✅ Nativo |
| PowerShell | ❌ | ✅ |
| API REST | ✅ Completa | ✅ Completa |
| Programación | ✅ | ✅ |
| Expresiones cron | ✅ | ✅ |
| Gestión de inventario | ✅ | ✅ |
| Inventario dinámico | ✅ (plugins integrados) | ✅ (vía Ansible) |
| RBAC | ✅ Detallado | ✅ Por roles (4 niveles) |
| LDAP | ✅ | ✅ Enterprise |
| SAML | ✅ | ❌ |
| OpenID Connect / OAuth2 | ✅ | ✅ (más de 10 proveedores) |
| 2FA (TOTP) | ❌ | ✅ Pro |
| Entornos de ejecución | ✅ (aislamiento en contenedor) | ✅ (runners) |
| Runners distribuidos | ❌ | ✅ (global + por proyecto) |
| Integraciones webhook | ✅ | ✅ |
| Notificaciones | ✅ (email, Slack, etc.) | ✅ (Slack, Teams, Telegram, email, Rocket.Chat, Gotify) |
| Registro de auditoría | ✅ | ✅ |
| Alta disponibilidad | ✅ | ✅ Enterprise |
| Flujos de aprobación | ❌ | ✅ (plan/apply Terraform) |
| Backend HTTP Terraform | ❌ | ✅ Pro |
| Integración HashiCorp Vault | ❌ | ✅ |
| Asistente IA (MCP) | ❌ | ✅ |
| Flujos multi-herramienta | ❌ | ✅ |
| Swagger UI integrada | ✅ | ✅ |
| Licencia open source | Apache 2.0 | MIT |
| Soporte enterprise | Vía AAP (desde ~13k $/año) | Disponible como complemento |
Alcance de la automatización
AWX gira en torno a Ansible. Todo se plantea con plantillas de trabajo que ejecutan playbooks. Técnicamente podéis ejecutar Terraform dentro de un playbook con la colección cloud.terraform, pero es un apaño de integración: el estado de Terraform, los workspaces y la aprobación plan/apply no son conceptos nativos en AWX.
Semaphore trata Ansible, Terraform, Bash, Python y PowerShell como tipos de ejecución de primer nivel. Elegís el tipo al crear la plantilla; la UI, las variables y los flujos de aprobación se adaptan. Si usáis Ansible para configuración y Terraform para aprovisionamiento, gestionáis ambos desde la misma interfaz sin rodeos.
Si solo usáis Ansible, esto no importa. Si mezcláis herramientas — como la mayoría de equipos — la diferencia sí cuenta.
Control de acceso
Ambas soportan control de acceso basado en roles, pero la implementación difiere.
AWX tiene permisos a nivel de objeto. Podéis dar a usuarios concretos acceso a plantillas, inventarios o credenciales de forma independiente. Un rol de auditor puede ver todo sin cambiar nada. El RBAC puede sincronizarse desde LDAP o SAML.
El RBAC de Semaphore está acotado al proyecto con cuatro roles: Owner, Manager, Task Runner y Guest. Owner y Manager controlan la configuración. Los Task Runner ejecutan tareas pero no las modifican. Los Guest tienen solo lectura. Cubre la mayoría de estructuras de equipo sin complejidad extra.
Si necesitáis acceso de auditor detallado por normativa, el modelo de AWX es más expresivo. Si necesitáis separar «quien configura la automatización» de «quien la ejecuta», el modelo de Semaphore basta y es mucho más simple de gestionar.
Escala del equipo y la organización
AWX se diseñó pensando en grandes organizaciones. Organizations, Teams y permisos por objeto reflejan una jerarquía enterprise. Si gestionáis cientos de usuarios en varias unidades de negocio, el modelo de permisos de AWX da control.
Semaphore usa proyectos como frontera principal de aislamiento. Cada proyecto tiene su inventario, plantillas, secretos y equipo. Para varios equipos, Semaphore Pro añade Project Runners: entornos de ejecución aislados por proyecto. Un runner en Nueva York atiende infra de Nueva York; uno en Fráncfort, la de Fráncfort. Las tareas de distintos proyectos no comparten entornos de ejecución.
Para equipos de hasta ~100 personas con límites de proyecto claros, el modelo de Semaphore funciona bien y se mantiene manejable. Para plataformas a nivel empresa con muchos equipos y permisos solapados, la granularidad de AWX puede compensar el coste operativo.
Mantenimiento y soporte en la práctica
Esta es la parte incómoda de usar cualquiera de las dos.
El soporte comunitario de AWX significa sin SLAs, sin compromisos claros sobre vulnerabilidades y sin compatibilidad garantizada. Red Hat afirma que AWX «puede ser arriesgado para las empresas» si se usa para gestionar sistemas de producción. Lo más sensato es verlo como vista previa de Automation Controller, no como plataforma de producción con respaldo comunitario sólido. Si algo falla, estáis solos.
La pausa actual de releases añade incertidumbre. Sin versiones desde julio de 2024 no hay parches de bugs, parches de seguridad ni funciones nuevas en más de 18 meses. Si ejecutáis AWX en producción hoy, estáis sobre software sin mantenimiento activo.
El soporte comunitario de Semaphore también es comunitario, pero el proyecto se desarrolla activamente con releases frecuentes. Los niveles Pro y Enterprise ofrecen soporte de pago con SLAs (12 h estándar, opciones de emergencia). Si necesitáis tiempos de respuesta garantizados, ese camino existe.
Ninguna os da garantías enterprise tipo Red Hat gratis. La diferencia es que Semaphore avanza con releases activos y un camino claro de soporte de pago. AWX está en espera sin opción comercial por debajo del precio de AAP.
Cuándo tiene sentido AWX
AWX encaja si:
- Ya ejecutáis Kubernetes y el coste operativo ya está absorbido en vuestra plataforma.
- Necesitáis autenticación SAML — es el único protocolo que Semaphore no soporta hoy.
- Vuestra automatización es 100 % Ansible y queréis la versión upstream de lo que acaba siendo AAP.
- Estáis evaluando AAP y queréis conocer la interfaz antes de un contrato comercial.
- Necesitáis RBAC a nivel de objeto — acceso a playbooks concretos sin acceso a todo el proyecto.
- Planeáis migrar a AAP y queréis portabilidad de configuración (AWX y AAP comparten el mismo modelo de datos).
Cuándo tiene sentido Semaphore UI
Semaphore encaja si:
- No ejecutáis Kubernetes (o no queréis montarlo solo para una UI de Ansible).
- Usáis más que Ansible — Terraform, Bash, Python, PowerShell u OpenTofu forman parte de vuestro stack.
- Tenéis hardware limitado — una VM con 1 CPU y 1 GB de RAM basta.
- Necesitáis Windows — Semaphore corre de forma nativa en Windows; AWX no.
- En vuestro equipo hay usuarios no técnicos que deben ejecutar automatización sin tocar la CLI.
- Sustituís AAP o Tower por coste — Pro en Semaphore empieza en 15 $/mes frente a ~13.000 $/año en AAP.
- Necesitáis un backend HTTP para Terraform — Semaphore Pro lo incluye de forma nativa.
- Queréis mantenimiento predecible — releases activos, hoja de ruta clara y soporte de pago sin compromiso de cinco cifras.
La realidad del coste
AWX es gratis, pero no es gratis de coste. Kubernetes añade complejidad de infraestructura y carga operativa. Si no teníais Kubernetes, levantar un clúster solo para AWX tiene coste real en tiempo de ingeniería y recursos cloud.
El nivel open source de Semaphore es realmente gratuito, sin overhead de infra más allá de una VM o contenedor pequeño. El plan Pro empieza en 15 $/mes. Enterprise escala a precio personalizado pero sigue en otra liga que el precio inicial de AAP.
Si vuestra alternativa a Semaphore Pro es Ansible Automation Platform, las cuentas son claras. Incluso Enterprise de Semaphore es una fracción del coste de licencias de AAP.
Resumen
AWX y Semaphore UI son proyectos open source serios. Ninguno es humo y ambos tienen despliegues reales en producción. La elección depende de vuestras restricciones.
Elegid AWX si ya estáis en Kubernetes, necesitáis SAML o vais hacia AAP.
Elegid Semaphore UI si queréis algo instalable en diez minutos, que cubra más que Ansible y que se mantenga activamente con un camino de soporte claro.
Si estáis evaluando AWX y la fricción del requisito de Kubernetes o de la instalación os pesa — esa fricción es real, no falta de habilidad. Merece la pena comparar directamente con Semaphore antes de decidir.
