Skip to content
Latchkey

O Que É Ansible? Gerenciamento de Configuração Explicado

Ansible é uma ferramenta de automação agentless que configura servidores e faz deploy de software executando tarefas ordenadas definidas em playbooks YAML via SSH.

O Ansible automatiza o trabalho repetitivo de configurar máquinas: instalar pacotes, editar arquivos de configuração, iniciar serviços. É agentless, conectando-se via SSH, e descreve a configuração desejada em playbooks YAML legíveis, tornando-o acessível tanto para desenvolvedores quanto para operadores.

O que é o Ansible

O Ansible é uma ferramenta open-source de automação para gerenciamento de configuração, deploy de aplicações e orquestração. Ele se conecta aos hosts gerenciados via SSH (sem agente necessário), e você descreve como cada host deve ficar em playbooks: listas ordenadas de tarefas que chamam módulos para impor o estado.

Playbooks e idempotency

Um playbook lista tarefas, cada uma invocando um módulo (instalar um pacote, copiar um arquivo, reiniciar um serviço). Os módulos são projetados para serem idempotent: executar um playbook duas vezes deixa o sistema no mesmo estado sem refazer trabalho que já está feito. Um arquivo de inventory lista os hosts e grupos que o playbook tem como alvo.

Um exemplo de playbook

Uma tarefa garante que um pacote esteja instalado e um serviço em execução.

A minimal Ansible playbook
- hosts: web
  tasks:
    - name: Install nginx
      apt: { name: nginx, state: present }
    - name: Start nginx
      service: { name: nginx, state: started }

Papel no CI/CD

No CI/CD, o Ansible executa etapas de configuração e deploy: um pipeline pode rodar um playbook para configurar servidores ou lançar uma nova versão de app depois que um build passa. Executar playbooks a partir do CI proporciona consistência e uma trilha de auditoria. Usar o modo "--check" em um pipeline pré-visualiza as mudanças sem aplicá-las, semelhante a um dry run.

Alternativas

O Terraform provisiona infraestrutura (criando servidores) enquanto o Ansible os configura, e os dois costumam ser usados juntos. Chef e Puppet são ferramentas de configuração baseadas em agente. Salt é outra opção. O Ansible é preferido por ser agentless, simples de começar e legível.

Principais conclusões

  • O Ansible configura servidores de forma agentless via SSH usando playbooks YAML.
  • Os módulos são idempotent, então reexecutar converge para o mesmo estado.
  • No CI, ele executa etapas de configuração e deploy com uma trilha de auditoria.

Guias relacionados