Infraestructura como código, o IaC, es la práctica de describir servidores, redes y bases de datos en archivos de texto. En lugar de hacer clic en paneles, escribes lo que quieres y una herramienta lo crea todo.
Cómo funciona
Escribes archivos que declaran los recursos deseados. Una herramienta, como Terraform, Pulumi o los servicios nativos de cada nube, lee esos archivos y se comunica con el proveedor para crear, modificar o eliminar recursos.
El flujo suele ser:
- Escribir: definir los recursos en archivos.
- Planificar: la herramienta muestra qué va a cambiar, sin aplicar aún.
- Aplicar: la herramienta ejecuta los cambios.
- Versionar: los archivos quedan en Git, con historial y revisión.
Como el código describe el estado final, ejecutarlo dos veces da el mismo resultado. A esta propiedad se le llama idempotencia y evita crear recursos duplicados.
Ejemplo práctico
Necesitas un servidor para ejecutar tu API de IA. En lugar de crearlo manualmente en el panel de la nube, escribes un archivo:
resource "aws_instance" "api" {
ami = "ami-exemplo"
instance_type = "t3.small"
tags = {
Name = "api-de-ia"
}
}Los valores anteriores son ficticios. Después, en la terminal:
terraform plan
terraform applySi mañana necesitas un entorno igual para pruebas, basta con aplicar el mismo archivo con otro nombre.
Para qué sirve
Sirve para repetir entornos sin error manual, recuperar una infraestructura rápidamente tras un problema y auditar cambios, ya que todo pasa por Git.
También ayuda a los equipos: los cambios de infraestructura entran por pull request y se revisan como código. En proyectos de IA es común usar IaC para crear clústeres de GPUs, colas y bases de datos vectoriales de forma estandarizada.
Los agentes de código pueden ayudar a escribir estos archivos, pero la revisión humana es esencial antes de aplicar.
Cuidados
Un error en el código de infraestructura puede eliminar recursos reales o generar costo. Siempre lee el plan antes de aplicar.
No guardes secretos en los archivos. Usa variables de entorno o un gestor de secretos. Y protege el archivo de estado de herramientas como Terraform, pues puede contener datos sensibles.