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
- Usuario solicita
https://example.com/image.jpg - DNS resuelve al servidor edge CDN más cercano
- Edge verifica si tiene copia cacheada
- HIT: Sirve directamente desde edge (rápido)
- 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
| Recurso | Primera | Segunda | Cache-Control | Age |
|---|---|---|---|---|
| CSS | ||||
| JS | ||||
| Imagen | ||||
| HTML |
Paso 2: Testing Multi-Ubicación
Usa WebPageTest desde 3+ ubicaciones:
| Ubicación | TTFB | FCP | LCP | Carga Completa |
|---|---|---|---|---|
| EE.UU. Este | ||||
| Europa | ||||
| Asia |
Paso 3: Testing de Purge de Caché
- Nota el contenido actual de un recurso cacheado
- Actualiza en origen
- Purga caché CDN
- Solicita el recurso — verifica contenido actualizado
- 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