← Lumbre

DevOps para Datos · 8.º Infraestructura como código

← Volver a todos los contenidos
Portada de Infraestructura como código

Infraestructura como código

✦ La infraestructura configurada a mano se pierde y no se reproduce · DevOps para Datos · Ingeniería de Datos · y te lleva 5 minutos

Roadwise Consulting

Firmado y verificado · Fernando Castro

Objetivo: Gestionar servidores, redes y recursos en la nube mediante definiciones declarativas en código, reproducibles y versionadas.

5 min 18–30 años
Autoevaluación
Más
Infraestructura como código

Herramientas de la lección

◉ Entrar a La Matrix Sorpréndeme

Sobre este contenido

Ir a

Volver a Objetos Cursos Explorar Mi cuenta Salir del modo estudio

Infraestructura como código

¿Qué es IaC? Infraestructura como código explicado
Cómo declarar servidores, redes y recursos en archivos versionados en lugar de configurarlos a mano.

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.
Un documento de código con corchetes a la izquierda que, mediante una flecha y un nodo de rama de git, se transforma a la derecha en iconos de infraestructura en la nube: un servidor, una red en la nube y una base de datos.
La infraestructura se escribe como código versionado: el archivo declarativo levanta, duplica y destruye entornos reales.

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.

  1. escribir la definición declarativa de la infraestructura
  2. revisar y aprobar el cambio en el repositorio
  3. planificar para simular qué creará o modificará
  4. aplicar para alcanzar el estado descrito
  5. 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

Declarar infraestructura en archivos
iac
Describir el qué, no el cómo
declarativo
Mismo resultado al reejecutar
idempotencia
Repositorio como fuente de verdad
gitops
Realidad que se aleja del código
deriva

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.

Une cada término de IaC con su definición:

      IaC

      • Infraestructura como código
        • Enfoque
          • declarativo
            • idempotente
              • reproducible
              • Herramientas
                • Terraform
                  • Ansible
                    • plantillas de nube
                    • Prácticas
                      • versionar
                        • revisar
                          • GitOps
                          • Cuidados
                            • secretos cifrados
                              • estado compartido
                                • deriva de configuración

                              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.

                              Las respuestas y tu progreso se guardan sólo en este dispositivo. Contenido firmado por su autoría mediante Lumbre.

                              Autoevaluación

                              Comprueba lo que aprendiste

                              2 preguntas · ves cada respuesta al momento · el resultado queda guardado en tu historial

                              Iniciar autoevaluación
                              Más sobre esta lección

                              Rutas vivas

                              ¿Y ahora qué? Elige el camino por lo que necesitas

                              No es un listado al azar: cada camino responde una pregunta distinta y te dice por qué.

                              Para profundizar

                              ✦ Explorar el universo completo
                              Explora temas relacionados

                              Conceptos

                              Comentarios

                              Inicia sesión para comentar.

                              Todavía no hay comentarios. Sé la primera persona en opinar.