Um enquadramento honesto
A maioria das comparações de ferramentas é escrita por fornecedores. Dá para perceber — um lado ganha em todas as métricas, e a conclusão é sempre «usem o nosso produto».
Este artigo tenta ser diferente. AWX e Semaphore UI resolvem problemas sobrepostos, mas partem de pressupostos distintos sobre quem vocês são e o que têm. A resposta certa depende mesmo da vossa situação.
Vamos cobrir: o que cada ferramenta faz, como é arquitetada, onde diferem em funcionalidades e — o mais importante — que equipa deve usar qual.
O que é AWX?
AWX é o projeto open source upstream que a Red Hat usa como base da Ansible Automation Platform (AAP) comercial. Fornece uma UI web, API REST e motor de tarefas para executar playbooks Ansible na vossa infraestrutura.
AWX é gratuito, com licença MIT e apoio da comunidade. A Red Hat pega releases AWX selecionados, endurece-os e reempacota como «Automation Controller», o componente central da AAP. O AWX recebe as funcionalidades primeiro; o Automation Controller recebe o suporte enterprise.
Estado atual (2026): A última release do AWX foi a 24.6.1 em 2 de julho de 2024. O desenvolvimento está em pausa durante uma refatoração arquitetónica em grande escala. A equipa reconheceu que «a arquitetura da aplicação existente limita a capacidade de mudança» e que atingiram «o limite de até onde é possível inovar com o sistema existente». A coleção Ansible awx.awx também foi assinalada como pouco mantida. Isto não significa que o AWX esteja morto — significa que está num período de transição significativo sem calendário claro.
O que é Semaphore UI?
Semaphore UI é uma interface web open source para executar automação Ansible, Terraform/OpenTofu, Bash, Python e PowerShell. Está escrita em Go e é distribuída como um único binário sem dependências de runtime externas.
Como o AWX, oferece UI, API REST, agendamento, RBAC e gestão de equipas. Ao contrário do AWX, não está ligada ao Kubernetes nem construída sobre um produto enterprise comercial.
O Semaphore está disponível numa versão open source gratuita (licença MIT) e num nível Pro que acrescenta project runners, 2FA, backend HTTP Terraform e exportação de logs. As opções enterprise incluem HA, LDAP/SSO e suporte prioritário.
Arquitetura e instalação
É aqui que as duas ferramentas mais divergem.
O AWX exige Kubernetes. Desde a v18.0.0, implementações Docker em anfitrião único deixaram de ser oficialmente suportadas para produção. Precisam de um cluster Kubernetes a funcionar — k3s numa máquina, cluster multi-nó completo ou serviço gerido na cloud. O método recomendado é o operador AWX, que requer kustomize 3.5.1+. A última release exige PostgreSQL 15.
O Semaphore quase não exige nada. É um único binário Go compilado. Podem instalar com gestor de pacotes (apt, dnf), Docker, Helm ou descarregar e executar o binário. SQLite serve para setups pequenos; PostgreSQL ou MySQL para produção. Um setup Docker típico é um comando.
A diferença prática: pôr o AWX bem configurado leva horas e pressupõe familiaridade com Kubernetes. Pôr o Semaphore leva minutos e não pressupõe nada.
| AWX | Semaphore UI | |
|---|---|---|
| Método de implementação | Kubernetes + operador AWX | Binário, Docker, Helm, gestor de pacotes |
| Dependências obrigatórias | Kubernetes, kustomize, PostgreSQL 15 | Nenhuma (SQLite integrado) |
| RAM mín. recomendada | 8 GB | 512 MB |
| CPU mín. recomendada | 4 núcleos | 1 núcleo |
| Instalação single-binary | ❌ | ✅ |
| Suporte Windows | ❌ | ✅ |
| Tempo de instalação | Horas | Minutos |
Comparação de funcionalidades
Ambas cobrem o fluxo central: definir automação, configurar inventário e credenciais, executar tarefas, ver logs. Eis a comparação no conjunto das funcionalidades.
| Funcionalidade | AWX | Semaphore UI |
|---|---|---|
| Playbooks Ansible | ✅ | ✅ |
| Terraform / OpenTofu | ❌ (apenas via módulo Ansible) | ✅ Nativo |
| Bash / scripts shell | ❌ (apenas via playbooks) | ✅ Nativo |
| Scripts Python | ❌ (apenas via playbooks) | ✅ Nativo |
| PowerShell | ❌ | ✅ |
| API REST | ✅ Completa | ✅ Completa |
| Agendamento | ✅ | ✅ |
| Expressões cron | ✅ | ✅ |
| Gestão de inventário | ✅ | ✅ |
| Inventário dinâmico | ✅ (plugins integrados) | ✅ (via Ansible) |
| RBAC | ✅ Fino | ✅ Baseado em funções (4 níveis) |
| LDAP | ✅ | ✅ Enterprise |
| SAML | ✅ | ❌ |
| OpenID Connect / OAuth2 | ✅ | ✅ (10+ fornecedores) |
| 2FA (TOTP) | ❌ | ✅ Pro |
| Ambientes de execução | ✅ (isolamento em contentor) | ✅ (runners) |
| Runners distribuídos | ❌ | ✅ (global + por projeto) |
| Integrações webhook | ✅ | ✅ |
| Notificações | ✅ (email, Slack, etc.) | ✅ (Slack, Teams, Telegram, email, Rocket.Chat, Gotify) |
| Registo de auditoria | ✅ | ✅ |
| Alta disponibilidade | ✅ | ✅ Enterprise |
| Fluxos de aprovação | ❌ | ✅ (Terraform plan/apply) |
| Backend HTTP Terraform | ❌ | ✅ Pro |
| Integração HashiCorp Vault | ❌ | ✅ |
| Assistente IA (MCP) | ❌ | ✅ |
| Fluxos multi-ferramenta | ❌ | ✅ |
| Swagger UI integrada | ✅ | ✅ |
| Licença open source | Apache 2.0 | MIT |
| Suporte enterprise | Via AAP (a partir de ~13k $/ano) | Disponível como add-on |
Âmbito da automação
O AWX é centrado em Ansible. Tudo gira em torno de modelos de trabalho que executam playbooks. Tecnicamente podem correr Terraform dentro de um playbook com a coleção cloud.terraform, mas é um «hack» de integração — estado Terraform, workspaces e aprovação plan/apply não são conceitos nativos no AWX.
O Semaphore trata Ansible, Terraform, Bash, Python e PowerShell como tipos de execução de primeira classe. Escolhem o tipo ao criar o modelo; a UI, variáveis e fluxos de aprovação adaptam-se. Se usam Ansible para configuração e Terraform para aprovisionamento, gerem ambos na mesma interface sem voltas.
Para quem é só Ansible, não interessa. Para quem mistura ferramentas — a maioria dos casos — a diferença importa.
Controlo de acesso
Ambos suportam controlo de acesso baseado em funções, mas a implementação difere.
O AWX tem permissões granulares ao nível do objeto. Podem conceder a utilizadores específicos acesso a modelos de trabalho, inventários ou credenciais de forma independente. Um papel de auditor pode ver tudo sem alterar nada. O RBAC pode sincronizar-se a partir de LDAP ou SAML.
O RBAC do Semaphore é limitado ao projeto com quatro funções: Owner, Manager, Task Runner e Guest. Owner e Manager controlam a configuração. Task Runner executam tarefas mas não as modificam. Guest têm só leitura. Cobre a maioria das estruturas de equipa sem complexidade extra.
Se precisam de requisitos regulatórios sobre acesso de auditor fino, o modelo AWX é mais expressivo. Se precisam de separar «quem configura a automação» de «quem a executa», o modelo Semaphore chega e é muito mais simples de gerir.
Escala de equipa e organização
O AWX foi desenhado para grandes organizações. Organizations, Teams e permissões por objeto reflectem uma hierarquia enterprise. Se gerem centenas de utilizadores em várias unidades de negócio, o modelo de permissões do AWX dá controlo.
O Semaphore usa projetos como fronteira principal de isolamento. Cada projeto tem o seu inventário, modelos, segredos e equipa. Para várias equipas, o Semaphore Pro acrescenta Project Runners — ambientes de execução isolados por projeto. Um runner em Nova Iorque trata da infra em Nova Iorque; um em Frankfurt, da de Frankfurt. Tarefas de projetos diferentes não partilham ambientes de execução.
Para equipas até ~100 pessoas com limites de projeto claros, o modelo Semaphore funciona bem e mantém-se gerível. Para plataformas ao nível da empresa com muitas equipas e permissões sobrepostas, a granularidade do AWX pode valer o overhead.
Manutenção e suporte na prática
Esta é a parte desconfortável de usar qualquer uma das duas.
O suporte comunitário do AWX significa sem SLAs, sem compromissos claros sobre vulnerabilidades e sem compatibilidade garantida. A própria Red Hat diz que o AWX «pode ser arriscado para empresas» ao gerir sistemas de produção. A ferramenta faz mais sentido como antevisão do Automation Controller do que como plataforma de produção com apoio comunitário forte. Se algo falha, estão por vossa conta.
A pausa actual nas releases acrescenta incerteza. Sem releases desde julho de 2024: sem correcções de bugs, sem patches de segurança, sem novas funcionalidades há mais de 18 meses. Se hoje correm AWX em produção, estão sobre software sem manutenção activa.
O suporte comunitário do Semaphore também é comunitário, mas o projecto é desenvolvido activamente com releases frequentes. Os níveis Pro e Enterprise oferecem suporte pago com SLAs (12h padrão, opções de emergência). Se precisam de tempos de resposta garantidos, esse caminho existe.
Nenhuma das duas dá garantias enterprise ao nível da Red Hat de graça. A diferença é que o Semaphore evolui activamente e oferece um caminho claro de suporte pago. O AWX está num período de espera sem opção comercial abaixo do preço da AAP.
Quando o AWX faz sentido
O AWX é a escolha certa se:
- Já correm Kubernetes e o overhead operacional já está absorvido na plataforma.
- Precisam de autenticação SAML — é o único protocolo que o Semaphore não suporta actualmente.
- A vossa automação é 100% Ansible e querem a versão upstream do que acaba por ser AAP.
- Estão a avaliar AAP e querem conhecer a interface antes de uma subscrição comercial.
- Precisam de RBAC ao nível do objecto — acesso a playbooks específicos sem acesso a nível de projecto.
- Planeiam migrar para AAP e querem portabilidade de configuração (AWX e AAP partilham o mesmo modelo de dados).
Quando o Semaphore UI faz sentido
O Semaphore é a escolha certa se:
- Não correm Kubernetes (ou não querem corrê-lo só para uma UI Ansible).
- Usam mais do que Ansible — Terraform, Bash, Python, PowerShell ou OpenTofu fazem parte do vosso stack.
- Têm hardware limitado — uma VM com 1 CPU e 1 GB de RAM chega.
- Precisam de Windows — o Semaphore corre nativamente no Windows; o AWX não.
- A vossa equipa inclui utilizadores não técnicos que precisam de executar automação sem CLI.
- Estão a substituir AAP ou Tower por custos — o Pro do Semaphore começa nos 15 $/mês face a ~13.000 $/ano na AAP.
- Precisam de um backend HTTP Terraform — o Semaphore Pro fornece um nativamente.
- Querem manutenção previsível — releases activos, roadmap clara e suporte pago sem compromisso de cinco dígitos.
A realidade dos custos
O AWX é gratuito mas não é sem custo. O Kubernetes acrescenta complexidade de infraestrutura e carga operacional. Se não tinham Kubernetes, montar um cluster só para o AWX tem custo real em tempo de engenharia e recursos cloud.
O nível open source do Semaphore é genuinamente gratuito, sem overhead de infra para além de uma VM ou contentor pequeno. O plano Pro começa nos 15 $/mês. Enterprise escala para preço personalizado mas continua noutra categoria face ao preço de entrada da AAP.
Se a alternativa ao Semaphore Pro é Ansible Automation Platform, as contas são directas. Mesmo Enterprise Semaphore é uma fracção do custo de licenciamento da AAP.
Resumo
AWX e Semaphore UI são ambos projectos open source sérios. Nenhum é vaporware e ambos têm implementações reais em produção. A escolha resume-se às vossas restrições.
Escolham AWX se já estão investidos em Kubernetes, precisam de SAML ou seguem caminho para AAP.
Escolham Semaphore UI se querem algo instalável em dez minutos, que cubra mais do que Ansible e seja activamente mantido com um caminho de suporte claro.
Se estão a avaliar o AWX e sentem fricção com o requisito Kubernetes ou com a complexidade de instalação — essa fricção é real, não falta de competência. Vale a pena comparar directamente com o Semaphore antes de se comprometerem.
