Estado desejado, não scripts passo a passo
Entenda por que o declarativo supera o imperativo.
Estado desejado, não scripts passo a passo é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.
Descreva o resultado, não as etapas
O Ansible é declarativo: você descreve o estado final desejado, e o Ansible determina as etapas para chegar lá, independentemente do estado atual do host.
A abordagem imperativa
Um script imperativo lista comandos exatos em ordem. Ele pressupõe o estado inicial, por isso falha se o host já estiver parcialmente configurado.
apt-get update
apt-get install -y nginx
systemctl start nginxA abordagem declarativa
Uma tarefa declarativa simplesmente declara o objetivo: nginx deve estar instalado e em execução. O Ansible verifica a realidade e age somente quando necessário.
ansible.builtin.package:
name: nginx
state: presentstate dá nome ao objetivo
A chave state é onde você declara a intenção. present, started ou absent nomeiam um estado final desejado, não uma ação a ser executada.
ansible.builtin.service:
name: nginx
state: startedO Ansible compara primeiro
Antes de alterar qualquer coisa, um módulo compara o estado atual com aquele que você declarou. Se eles já forem iguais, não fará absolutamente nada.
Isto é convergência
Cada execução aproxima a máquina do estado declarado por você. Isso é convergência: independentemente do ponto de partida, a máquina termina no mesmo estado.
A Ordem Importa Menos
Como as tarefas declaram objetivos, executar novamente uma execução incompleta simplesmente termina o restante. Você não precisa acompanhar qual etapa falhou da última vez.
É Seguro Executar Novamente
É seguro executar novamente tarefas declarativas. As máquinas que já estão corretas permanecem intocadas, que é a base da idempotência.
Menos Coisas para Memorizar
Você deixa de escrever manualmente verificações do tipo “se estiver instalado, ignore”. O módulo controla essa lógica, então seu manual de execução permanece curto e legível.
Um Manual de Execução é uma Fonte de Verdade
Um manual de execução declarativo funciona como a documentação do servidor desejado: quais pacotes, serviços e arquivos devem existir nele.
- name: Web server desired state
hosts: web
tasks:
- ansible.builtin.package:
name: nginx
state: presentAlgumas Tarefas Ainda São Imperativas
As tarefas brutas de comando e de shell são imperativas: elas são executadas todas as vezes. Prefira módulos baseados em estado para que o Ansible permaneça declarativo.
Verificação Rápida
Você escreve uma tarefa dizendo que o nginx deve estar presente e depois executa o manual de execução em uma máquina que já tem o nginx.
Recapitulação
Você declara um estado desejado, e o Ansible aproxima a máquina dele, agindo somente quando a realidade é diferente. Essa segurança é a idempotência. 🎯
Perguntas Frequentes
A aula “Estado desejado, não scripts passo a passo” é grátis?
Sim — o texto completo de “Estado desejado, não scripts passo a passo” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.
O que vou aprender em “Estado desejado, não scripts passo a passo”?
Entenda por que o declarativo supera o imperativo. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar DevOps Bootcamp?
Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Estado desejado, não scripts passo a passo”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de DevOps Bootcamp?
Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Estado desejado, não scripts passo a passo
- Lendo changed versus ok na saída
- Por que command quebra a idempotência
- Modo de verificação: simulação com --check