Construya un servidor configurado, cree una imagen o plantilla y úsela para levantar nuevas instancias. Automatice la config post-arranque (secrets, hostname) con cloud-init o config management. Mantenga la imagen golden actualizada y probada.
Flujo de imagen golden
- Construya una vez: Instale OS, paquetes y app en un servidor "golden". Endurezca (usuarios, SSH, firewall). Sin secrets en la imagen—inyéctelos al arranque o desde un vault.
- Cree la imagen: Use API o panel del proveedor para crear imagen/plantilla desde el servidor. Opcionalmente generalice (ej. quite IDs por host) si el proveedor no lo hace.
- Despliegue: Nuevas instancias arrancan desde la imagen. Misma base de OS y software; difieren por hostname, IP y secrets aplicados al arranque.
Automatización post-arranque
- cloud-init: Scripts o config cloud-init se ejecutan en el primer arranque. Defina hostname, monte volúmenes, obtenga secrets, registre en config management o únase a un clúster.
- Config management: Ansible, Puppet, Chef o similar pueden ejecutarse tras el arranque para aplicar config por rol o estado más reciente.
- Secrets: Nunca meta secrets en la imagen. Use metadata de instancia, vault o variables inyectadas en runtime. Rote sin reconstruir la imagen.
Mantenimiento
- Actualice la imagen golden: En cronograma o tras cambios grandes, actualice el servidor golden, pruebe y cree nueva imagen. Versione imágenes (nombre o tag) para poder hacer rollback.
- Pruebe: Ejecute smoke tests o pruebas de integración en una instancia recién desplegada antes de usar la imagen en producción.
- Documente: Qué hay en la imagen, cómo construirla y cómo pedir una nueva. Reduce setups "snowflake".
Resumen
Construya un servidor configurado, cree una imagen y úsela para desplegar nuevas instancias. Automatice la config post-arranque con cloud-init o config management. Mantenga la imagen golden actualizada, probada y versionada.




