Cómo Funcionan los CDN

Un CDN es una red distribuida de servidores que cachea y entrega contenido desde ubicaciones cercanas a los usuarios. Proveedores populares: Cloudflare, AWS CloudFront, Fastly, Akamai.

Flujo de Solicitud CDN

  1. Usuario solicita https://example.com/image.jpg
  2. DNS resuelve al servidor edge CDN más cercano
  3. Edge verifica si tiene copia cacheada
  4. HIT: Sirve directamente desde edge (rápido)
  5. MISS: Obtiene del origen, cachea, luego sirve

Qué Debe Probar QA

Comportamiento de Caché CDN

# Verificar estado de caché CDN
curl -I https://example.com/style.css
# Buscar: CF-Cache-Status, X-Cache, Age

Latencia Multi-Región

Usa WebPageTest para probar desde múltiples ubicaciones globales.

Contenido Geo-Restringido

  • Usuarios en regiones permitidas pueden acceder
  • Usuarios en regiones restringidas ven mensaje apropiado
  • Usuarios VPN se manejan correctamente
  • Geo-detección usa IP correcta

Ruteo Geo-Basado

  • Usuarios de EE.UU. van a us.api.example.com
  • Usuarios de EU van a eu.api.example.com
  • Soberanía de datos: datos EU permanecen en data centers EU
  • Failover: si EU cae, tráfico se redirige

Failover de CDN

  • ¿El sitio cae de vuelta al servidor de origen?
  • ¿Es el failover transparente para usuarios?

Ejercicio: Auditoría de CDN y Geo-Distribución

Paso 1: Verificación de Caché CDN

# Primera solicitud (debería ser MISS)
curl -I https://tu-sitio.com/assets/main.css

# Segunda solicitud (debería ser HIT)
curl -I https://tu-sitio.com/assets/main.css
RecursoPrimeraSegundaCache-ControlAge
CSS
JS
Imagen
HTML

Paso 2: Testing Multi-Ubicación

Usa WebPageTest desde 3+ ubicaciones:

UbicaciónTTFBFCPLCPCarga Completa
EE.UU. Este
Europa
Asia

Paso 3: Testing de Purge de Caché

  1. Nota el contenido actual de un recurso cacheado
  2. Actualiza en origen
  3. Purga caché CDN
  4. Solicita el recurso — verifica contenido actualizado
  5. Solicita desde otra región — verifica actualización global
Solución: Problemas Comunes de CDN

Problema 1: CDN cacheando contenido de usuario. Respuesta API con datos de usuario servida a otros. Corrección: Cache-Control: private.

Problema 2: Purge no propaga globalmente. Contenido actualizado en EE.UU. pero obsoleto en Asia. Corrección: Verificar propagación en todas las regiones.

Problema 3: Bypass de geo-restricción. Video restringido cacheado en edge de región permitida y accesible desde regiones restringidas. Corrección: Geo-checking en el edge.

Problema 4: HTTP/HTTPS mixto. Origen HTTPS pero CDN también servía HTTP. Corrección: Redirect HTTP a HTTPS en CDN.

Problema 5: Caché obsoleto post-deployment. CDN servía archivos viejos por horas. Corrección: Purge automático en pipeline de deployment.

Puntos Clave

  • Testing CDN requiere verificar caché (HIT/MISS), latencia multi-región y consistencia
  • Siempre verifica headers de CDN (CF-Cache-Status, X-Cache, Age)
  • Prueba desde múltiples ubicaciones — un sitio puede funcionar localmente pero fallar en otras regiones
  • Respuestas autenticadas no deben ser cacheadas por CDN
  • Incluye purge de CDN en tu pipeline de deployment
  • Restricciones geográficas deben aplicarse en el edge, no solo en el origen