Infraestructura como código
Qué es IaC
La gestión de servidores, redes y recursos mediante archivos de configuración legibles por máquina, en lugar de paneles manuales. El código describe la infraestructura deseada.
El problema del clic
- Configurar a mano en una consola no es repetible.
- Nadie sabe muy bien qué se tocó ni en qué orden.
- Un entorno de producción diverge del de pruebas.
Declarativo frente a imperativo
Declarativo: describes qué quieres (una red, dos máquinas). Imperativo: detallas cada paso para lograrlo. El declarativo deja al motor resolver el cómo.
Idempotencia
Aplicar la misma definición muchas veces produce el mismo resultado, sin duplicar recursos. Es la propiedad que hace seguro reejecutar el código.
Herramientas
- Terraform y su lenguaje declarativo para aprovisionar nube.
- Ansible y similares para configurar y configurar máquinas.
- Plantillas nativas de cada proveedor en la nube.
Versionado y revisión
Al vivir en un repositorio, los cambios de infraestructura se revisan como cualquier código, con historial y aprobaciones antes de aplicarse.
Ambientes reproducibles
- Levantar un entorno nuevo ejecutando el mismo código.
- Duplicar producción para pruebas sin copiar a mano.
- Destruir lo que ya no hace falta.

Gestión del estado
Las herramientas rastrean el estado real creado y lo comparan con el código. Ese archivo de estado es delicado: debe compartirse y protegerse.
GitOps
Tratar un repositorio git como única fuente de verdad: lo que está desplegado debe coincidir con el código, y un cambio se aprueba con una solicitud de cambio.
Seguridad y secretos
- No meter credenciales en el código.
- Usar almacenes de secretos cifrados.
- El código describe la forma, no las llaves.
Deriva de configuración
Si alguien cambia la consola sin tocar el código, la realidad se aleja de lo declarado. Detectar y reconciliar ese deriva es clave.
Errores frecuentes
- Configurar a mano en la consola y alejar la realidad de lo declarado en el código.
- Meter credenciales y secretos dentro de los archivos de infraestructura.
- No compartir ni proteger el archivo de estado, y corromperlo entre varios.
Ejemplo resuelto: duplicar producción para pruebas
Un equipo necesita un entorno idéntico a producción para unas pruebas. Como toda la infraestructura vive en archivos declarativos versionados, basta clonar la definición, cambiar un parámetro de nombre y aplicar: se levantan la misma red, las mismas máquinas y la misma base, y al terminar se destruyen con un comando.
- escribir la definición declarativa de la infraestructura
- revisar y aprobar el cambio en el repositorio
- planificar para simular qué creará o modificará
- aplicar para alcanzar el estado descrito
- destruir el entorno cuando ya no hace falta
¿Para qué sirve en la realidad?
Equipos que gestionan decenas de entornos en la nube necesitan que levantar, duplicar o deshacer infraestructura sea un archivo reproducible y revisable, no una máquina que alguien tocó una vez a mano.
La idempotencia en la infraestructura como código garantiza que:
Con infraestructura como código, un entorno puede destruirse y volver a levantarse idéntico ejecutando el mismo código.
IaC
Toca una tarjeta para ver la respuesta.
Ordena el flujo de trabajo de IaC:
Arrastra cada ficha a su categoría (o tócala y luego toca la categoría). También puedes usar el teclado.
Infraestructura como códigoGestión de infraestructura mediante definiciones en código.
Une cada término de IaC con su definición:
IaC
- Infraestructura como código
- Enfoque
- declarativo
- declarativo
- idempotente
- Enfoque
- reproducible
- Terraform
- versionar
- secretos cifrados
GitOpsUsar un repositorio git como fuente de verdad del despliegue.
Alguien amplió un disco desde la consola de nube y nadie lo sabe. ¿Qué práctica de IaC impediría ese deriva y cómo lo detectarías?
Tu texto se guarda sólo en este dispositivo.
Comentarios
Inicia sesión para comentar.
Todavía no hay comentarios. Sé la primera persona en opinar.