Estado deseado, no scripts paso a paso
Por qué lo declarativo supera a lo imperativo.
Estado deseado, no scripts paso a paso es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.
Describa el resultado, no los pasos
Ansible es declarativo: describe el estado final que desea y Ansible determina los pasos necesarios para alcanzarlo desde el estado actual del host.
El enfoque imperativo
Un script imperativo enumera comandos exactos en un orden determinado. Supone cuál es el estado inicial, por lo que falla si el host ya está configurado parcialmente.
apt-get update
apt-get install -y nginx
systemctl start nginxEl enfoque declarativo
Una tarea declarativa simplemente expresa el objetivo: nginx debe estar instalado y en ejecución. Ansible comprueba el estado real y actúa solo cuando es necesario.
ansible.builtin.package:
name: nginx
state: presentstate expresa el objetivo
La clave state es donde declara la intención. present, started o absent expresan un estado final deseado, no una acción que ejecutar.
ansible.builtin.service:
name: nginx
state: startedAnsible compara primero
Antes de cambiar algo, un módulo compara el estado actual con el que declaró. Si ya coinciden, no hace absolutamente nada.
Esto es la convergencia
Cada ejecución acerca el host al estado declarado. Esto es la convergencia: independientemente del punto de partida, el host termina en el mismo estado.
El orden importa menos
Como las tareas declaran objetivos, volver a ejecutar un play incompleto simplemente termina lo que falta. No tiene que seguir qué paso falló la última vez.
Es seguro volver a ejecutar
Las tareas declarativas se pueden volver a ejecutar de forma segura. Los hosts que ya están correctos no se modifican, que es la base de la idempotencia.
Menos que recordar
Deja de escribir manualmente comprobaciones de «si está instalado, omitir». El módulo se encarga de esa lógica, por lo que su playbook se mantiene breve y legible.
Un playbook es la fuente de verdad
Un playbook declarativo se lee como la documentación del servidor deseado: qué paquetes, servicios y archivos deberían existir en él.
- name: Web server desired state
hosts: web
tasks:
- ansible.builtin.package:
name: nginx
state: presentAlgunas tareas siguen siendo imperativas
Las tareas sin procesar de command y shell son imperativas: se ejecutan cada vez. Prefiera módulos basados en el estado para que Ansible pueda mantener un enfoque declarativo.
Comprobación rápida
Escribe una tarea que indica que nginx debe estar presente y luego ejecuta el playbook en un host que ya tiene nginx.
Resumen
Declara un estado deseado y Ansible acerca el host a él, actuando solo cuando la realidad es diferente. Esa seguridad es la idempotencia. 🎯
Preguntas frecuentes
¿La lección «Estado deseado, no scripts paso a paso» es gratis?
Sí — el texto completo de «Estado deseado, no scripts paso a paso» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué aprenderé en «Estado deseado, no scripts paso a paso»?
Por qué lo declarativo supera a lo imperativo. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar DevOps Bootcamp?
No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Estado deseado, no scripts paso a paso»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?
Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Estado deseado, no scripts paso a paso
- Leer changed frente a ok en la salida
- Por qué command rompe la idempotencia
- Modo de comprobación: ejecución en seco con --check