Glossan

¿Qué es la infraestructura como código?

También llamado: IaC, Infrastructure as Code, Terraform, OpenTofu, Ansible

Definición

La infraestructura como código (IaC) consiste en describir servidores, redes, DNS y demás recursos en archivos de texto, en lugar de crearlos a mano desde un panel. Así se pueden versionar, revisar y reproducir.

Si un servidor se configuró a mano hace tres años, nadie recuerda exactamente cómo. Con IaC, la definición está en un repositorio Git: cualquier cambio se revisa como el código, y reconstruir todo desde cero es ejecutar un comando.

Ejemplo

Con Terraform u OpenTofu se declara qué recursos deben existir. Aquí, un servidor y su registro DNS (los nombres de los recursos dependen del proveedor):

resource "cloud_server" "web" {
  name        = "web-01"
  server_type = "2cpu-4gb"
  image       = "debian-13"
  location    = "mad"
}

resource "dns_record" "web" {
  zone  = "example.com"
  name  = "@"
  type  = "A"
  value = cloud_server.web.ipv4_address
  ttl   = 3600
}
$ tofu plan     # muestra qué va a crear, cambiar o destruir
$ tofu apply    # lo aplica

Herramientas habituales

Herramienta Para qué
Terraform / OpenTofu Crear recursos en proveedores cloud, DNS, CDN…
Ansible Configurar servidores: paquetes, usuarios, archivos
Pulumi Lo mismo que Terraform, con lenguajes de programación
Dockerfile, manifiestos de Kubernetes Describir contenedores y despliegues

Errores habituales

¿Tienes un producto o servicio relacionado con Infraestructura como código? Anúnciate en este término.

Términos relacionados

Categorías: DevOps