Una red de distribución de contenido (CDN) es un sistema distribuido de servidores ubicados en múltiples emplazamientos geográficos que ofrecen contenido a los visitantes desde un punto cercano a ellos, en lugar de desde un único servidor de origen. Al reducir la distancia física que debe recorrer una solicitud, disminuye la latencia, y al absorber las solicitudes en el extremo de la red, reduce la carga sobre la infraestructura de origen.
La reducción de la latencia es el mecanismo principal y tiene mayor trascendencia de lo que parece, ya que su efecto se acumula a lo largo de los numerosos viajes de ida y vuelta que implica la carga de una página. El establecimiento de la conexión, la negociación TLS y cada solicitud posterior consumen tiempo de ida y vuelta, por lo que servir el sitio desde una ubicación a cincuenta milisegundos de distancia, en lugar de a trescientos milisegundos, mejora no solo una métrica, sino todas las dependencias secuenciales de la carga. Para un sitio con audiencia internacional servido desde una sola región, esta suele ser la mayor mejora de rendimiento posible.
Las redes de distribución de contenido modernas hacen mucho más que simplemente almacenar en caché recursos estáticos. Finalizan TLS en el extremo de la red, aplican compresión, convierten y redimensionan imágenes sobre la marcha, sirven formatos modernos a los navegadores que los admiten, almacenan en caché respuestas HTML completas para las páginas que lo permiten y, cada vez más, ejecutan la lógica de la aplicación en ubicaciones periféricas. También proporcionan funciones de seguridad, como la mitigación de ataques de denegación de servicio, cortafuegos para aplicaciones web y gestión de bots, lo que para muchas organizaciones es un motivo tan importante para adoptar una red de este tipo como el rendimiento.
La configuración de la caché es donde reside la mayor parte del valor práctico y la mayor parte del riesgo. Los encabezados de control de caché determinan qué se almacena, durante cuánto tiempo y bajo qué condiciones se revalida. Un error en esta configuración produce tasas de acierto de caché bajas, lo que anula el beneficio, o bien, contenido obsoleto para los usuarios, lo que puede tener graves consecuencias comerciales cuando se trata de precios, niveles de existencias o contenido personalizado. El diseño de las claves de caché es igualmente importante: las claves que incluyen variaciones innecesarias, como parámetros de seguimiento, cachés de fragmentos por usuario o segmentación de dispositivos innecesaria, dividen la caché y reducen las tasas de acierto sin aportar ningún beneficio.
El contenido personalizado y dinámico requiere un manejo cuidadoso, no su exclusión. Servir una página base almacenada en caché con fragmentos personalizados cargados por separado, o usar lógica de borde para ensamblar las respuestas, permite que el almacenamiento en caché se aplique a la mayor parte del contenido, mientras que las partes específicas del usuario permanecen intactas. Los sitios que marcan todo como no almacenable en caché porque parte del contenido es personal suelen perder la mayor parte del beneficio disponible.
La protección de origen es una ventaja que a menudo solo se descubre durante un incidente. Un pico de tráfico derivado de una campaña, una mención en los medios o una oleada de bots que saturaría la infraestructura de origen se absorbe en gran medida en el borde de la red cuando el almacenamiento en caché está bien configurado, y se transmite directamente cuando no lo está. Probar esto deliberadamente, midiendo qué proporción de un patrón de tráfico realista llegaría al origen, es más útil que asumir que la red proporciona protección por sí sola. Para las empresas cuyos períodos de mayor actividad comercial son predecibles, verificar el comportamiento de la caché antes del pico, en lugar de durante él, marca la diferencia entre un día de mucho tráfico y una interrupción del servicio.
La estrategia de purga determina la confianza operativa. Una implementación que cambia plantillas o activos debe poder invalidar el contenido en caché afectado de manera confiable y rápida, y los enfoques estándar, nombres de archivo de activos versionados combinados con purga basada en etiquetas o clave sustituta para HTML, vale la pena establecerlos antes de que un incidente los haga urgentes. En la práctica, esta configuración se encuentra dentro de rendimiento web trabajar en estrecha coordinación con desarrollo de productos, puesto que las decisiones sobre el almacenamiento en caché limitan el comportamiento de la aplicación y no pueden ser tomadas de forma sensata por ninguna de las partes por sí sola.