El problema de "configurar a mano"
Crear servidores, redes y bases de datos pulsando botones en una consola web es rápido la primera vez... y un desastre la décima: nadie recuerda qué se tocó, no hay forma de reproducirlo y recrear el entorno tras un fallo es una odisea.
Infraestructura como código (IaC)
La IaC describe la infraestructura en archivos de texto que se versionan en Git, igual que el código. Herramientas como Terraform o Pulumi leen esa descripción y crean (o actualizan) los recursos reales.
# Terraform: declaras el QUÉ quieres, no el CÓMO crearlo
resource "google_cloud_run_service" "api" {
name = "mi-api"
location = "europe-west1"
}
Ventajas:
- Reproducible: el mismo archivo recrea el entorno idéntico cuando quieras.
- Versionada: ves en el historial quién cambió qué y por qué; puedes revertir.
- Declarativa: describes el estado deseado; la herramienta calcula los pasos para llegar a él.
DNS, dominios y HTTPS
Para que la gente escriba miapp.com y llegue a tu servidor hace falta:
- DNS: la "agenda de internet" que traduce el dominio a la IP de tu
servidor (un registro
AoCNAME). - HTTPS/TLS: cifra el tráfico entre el navegador y el servidor. Hoy se obtiene gratis y automático (Let's Encrypt, y la mayoría de PaaS/CDN lo gestionan y renuevan por ti).
# Comprobar a qué IP resuelve un dominio
dig +short miapp.com
Todo esto —dominios, DNS, certificados— también se puede declarar con IaC, de modo que tu infraestructura completa quepa, reproducible, en un repositorio.