¿Qué es una red de entrega de contenido (CDN)? Definición, Arquitectura y Mejores Prácticas

Una red de entrega de contenido consta de servidores distribuidos que minimizan los tiempos de carga de la página web al acercar físicamente a los servidores y los usuarios.

Una red de entrega de contenido se define como un grupo de servidores altamente distribuidos que funcionan al unísono para ayudar a garantizar demoras mínimas en la carga del contenido de la página web al reducir la distancia geográfica entre los usuarios y los servidores. Este artículo explica una red de entrega de contenido y sus componentes en detalle y comparte prácticas recomendadas útiles para la implementación de la red de entrega de contenido en 2021.

¿Qué es una red de entrega de contenido (CDN)?

Una red de entrega de contenido es un grupo de servidores altamente distribuidos que funcionan al unísono para ayudar a garantizar demoras mínimas en la carga del contenido de la página web al reducir la distancia geográfica entre los usuarios y los servidores.

La capacidad de atención del consumidor promedio en línea se está acortando día a día. Al mismo tiempo, la tecnología está avanzando a niveles nunca antes vistos. Por lo tanto, entregar contenido rápidamente podría ser la diferencia entre retener clientes y perderlos, tal vez incluso para siempre. Elegir el proveedor de CDN correcto puede ayudar a las empresas y otros proveedores de contenido a entregar su contenido a los lectores de manera rápida, eficiente y segura.

Las CDN permiten a los usuarios disfrutar del contenido con una alta calidad constante sin tener que lidiar con retrasos ni tiempos de carga lentos, independientemente de la ubicación geográfica. Los CDN se utilizan normalmente para entregar contenido estático, incluidas imágenes, documentos, hojas de estilo, páginas HTML y scripts del lado del cliente.

 

 

Los CDN están ubicados físicamente más cerca de los usuarios finales, lo que minimiza el tiempo de ida y vuelta y mejora la experiencia en línea general. Los usuarios confían en las redes de entrega de contenido para evitar que sus servidores de origen de contenido tengan que responder a todas las solicitudes de los usuarios finales por sí mismos. Esto minimiza los niveles de tráfico que manejan los servidores de origen, reduce los niveles de carga y disminuye la probabilidad de falla del servidor de origen en caso de picos de tráfico muy altos o cargas persistentes. Una gran cantidad de contenido en Internet se entrega mediante CDN. Garantizan niveles de latencia mínimos al eliminar la demora entre la solicitud del contenido de la página web y la carga de dicha página web en el dispositivo del usuario final.

Veamos un ejemplo. 

Un visitante ubicado en Asia desea ver contenido almacenado en un servidor de origen norteamericano. Si los datos tuvieran que viajar desde el servidor de origen hasta el dispositivo de este visitante, los tiempos de carga deficientes están casi garantizados. Sin embargo, este retraso se puede evitar implementando una CDN que almacene en caché una copia del contenido en un país geográficamente más cercano al usuario final. Tal CDN se conoce como punto de presencia (PoP). Cada PoP normalmente contiene un servidor de almacenamiento en caché que ayuda a entregar contenido a usuarios finales geográficamente diversos con demoras mínimas.

Aunque los CDN se utilizan principalmente para entregar contenido de sitios web, no es su único caso de uso. También ofrecen otros tipos de contenido, como video y audio de alta calidad, registros de datos médicos, financieros y de otro tipo, y aplicaciones, actualizaciones del sistema operativo y software. Casi todas las formas de información digitalizada se pueden entregar utilizando una red de entrega de contenido.

¿Cómo funciona un CDN?

Una red de entrega de contenido normalmente funciona en los siguientes pasos:

  • Paso 1: un agente de usuario (el dispositivo que ejecuta el navegador web del usuario final) envía una solicitud de contenido, como imágenes, archivos JavaScript, HTML y CSS, necesarios para mostrar páginas web.

  • Paso 2: cada solicitud se asigna al servidor CDN más óptimo.

  • Paso 3: cada servidor CDN se revierte con una versión previamente guardada (en caché) del contenido solicitado.

  • Paso 4: si el contenido solicitado no se encuentra en el servidor más óptimo, los archivos se recuperan de otro servidor en la plataforma CDN. 

  • Paso 5: si el contenido solicitado está obsoleto o no está disponible incluso en otras CDN dentro de la plataforma, se envía una solicitud al servidor de origen. 

Este contenido recién solicitado se almacena para cumplir con futuras solicitudes.

Componentes clave de la arquitectura CDN

Los componentes de una arquitectura CDN funcionan de forma coherente para reducir el tiempo que se tarda en mostrar el contenido web a los usuarios. Aunque los diferentes tipos de CDN se especializan en diferentes facetas de la entrega de contenido, como la seguridad o el rendimiento, en su mayoría se basan en configuraciones similares. Los componentes clave de la arquitectura CDN se explican a continuación.

1. Arquitectura de operaciones

El objetivo principal de una CDN es luchar contra la latencia. En términos arquitectónicos, esto significa construir CDN con niveles óptimos de conectividad. En el mundo real, esto se traduce en que los PoP se colocan en todos los principales puntos de acceso de tráfico del mundo, con centros de redes que se cruzan con esta arquitectura para garantizar la transmisión fluida de datos. 

Las instalaciones físicas son críticas para el máximo rendimiento de CDN. En términos generales, los PoP deben estar ubicados en centros de datos premium, con proveedores centrales que se comprometan con un comportamiento orientado a los pares. Esto significa que los proveedores de CDN deben establecer acuerdos de interconexión con otros proveedores de CDN y los principales operadores de tráfico. A través de dichos acuerdos, las CDN pueden mejorar significativamente la utilización del ancho de banda y reducir los tiempos de ida y vuelta.

2. Arquitectura del sistema de nombres de dominio (DNS)

El componente DNS de la arquitectura CDN funciona para dirigir las solicitudes al servidor CDN más cercano y viable. En el caso de solicitudes de DNS para nombres de dominio manejados por CDN, el servidor asignado para procesar estas solicitudes determina qué conjunto de servidores es el más adecuado para manejar la solicitud entrante. En el nivel más simple, los servidores DNS ejecutan búsquedas geográficas en función de la dirección IP y dirigen la solicitud al servidor perimetral geográficamente más cercano.

3. Arquitectura de proxy inverso

Las CDN se basan en proxies inversos para funciones como la imitación del servidor del sitio web, el almacenamiento en caché y la protección de firewall. Los aspectos clave de la capa de proxy inverso incluyen el firewall de aplicaciones web (WAF), el bloqueo de bots y las pruebas divididas (A/B).

4. Arquitectura de continuidad 

Muchas plataformas CDN a menudo ven fallas en sus operaciones diarias. Por lo tanto, la arquitectura para garantizar la continuidad en el rendimiento de CDN es de vital importancia. Los proveedores a menudo invierten en una arquitectura resistente y de alta disponibilidad para comprometerse con acuerdos de nivel de servicio (SLA) del 99 % o más. Los proveedores de CDN eligen una arquitectura que está diseñada para garantizar que no haya fallas en ningún punto de contacto único. Esto se logra programando los ciclos de mantenimiento de manera planificada, entre otras medidas.

La adopción e integración de software y hardware de redundancia en la arquitectura CDN existente también ayuda a garantizar una continuidad sólida. Esto puede ser en forma de sistemas internos para conmutación por error y recuperación ante desastres. Dichos sistemas normalmente cuentan con enrutamiento automático de tráfico para eludir los servidores caídos. Para mejorar la confiabilidad, los proveedores de CDN firman acuerdos con múltiples proveedores de datos líderes. También establecen canales fuera de banda dedicados para comunicación y administración que les permiten interactuar, controlar y administrar servidores CDN en situaciones exigentes.

5. Arquitectura de procesamiento y escalabilidad

Las CDN están diseñadas para el enrutamiento rápido de grandes volúmenes de datos. Por lo tanto, la arquitectura de la red de entrega de contenido está diseñada con dos expectativas: procesar el tráfico de manera rápida y eficiente y escalar la potencia de procesamiento de acuerdo con el volumen de datos. Estas expectativas se abordan proporcionando amplios recursos de procesamiento y redes que son escalables en todos los niveles de operación. Estos recursos incluyen arquitectura escalable para computación, almacenamiento en caché, ciberseguridad y enrutamiento.

Los proveedores de CDN que ofrecen protección contra denegación de servicio distribuida (DDoS) naturalmente requieren una arquitectura con mayores niveles de potencia de procesamiento y escalabilidad. Por lo tanto, dichos proveedores adoptan servidores de depuración dedicados para contrarrestar las amenazas DDoS. Cada uno de estos servidores puede manejar volúmenes de tráfico a nivel de red y procesar decenas de gigabytes de datos por segundo.

6. Arquitectura de capacidad de respuesta

La capacidad de respuesta se puede medir calculando el tiempo que tardan en surtir efecto las modificaciones en la configuración de toda la red. Los proveedores de CDN generalmente se esfuerzan por maximizar la capacidad de respuesta a través de una arquitectura de vanguardia.

Sin embargo, garantizar la máxima capacidad de respuesta puede ser difícil, especialmente para las redes que se extienden por todo el mundo. Los cambios más pequeños en la configuración deben comunicarse de manera rápida y efectiva a todos los PoP en la plataforma CDN global. Los ejemplos incluyen una solicitud para eliminar todas las instancias de una imagen en particular en los cachés o agregar una dirección a una lista de IP en la lista negra.

Cuanto más grande sea una red y más amplia sea su presencia geográfica, mayor será el esfuerzo necesario para lograr la máxima capacidad de respuesta. Para garantizar altos niveles de capacidad de respuesta, la arquitectura CDN debe construirse mientras se prioriza la rápida propagación de la configuración.

Ventajas de implementar un CDN

Para las entidades con el caso de uso correcto, existen numerosas ventajas de adoptar una solución CDN. Algunos de estos se han esbozado a continuación.

1. Latencia minimizada

Disminuir el tiempo de carga de los sitios web es la principal ventaja que ofrecen las soluciones CDN. Con un CDN, el contenido se distribuye en un área geográfica más amplia, acercándolo a los visitantes del sitio web en todo el mundo. Al disminuir la distancia entre su contenido y los usuarios finales, las empresas y los proveedores de contenido ayudan a garantizar una experiencia mejorada para todas las partes interesadas.

A medida que el mundo posterior a la pandemia se digitaliza cada vez más, es menos probable que los usuarios permanezcan o vuelvan a visitar sitios web que tardan más en cargarse. Los CDN pueden disminuir las tasas de rebote y aumentar las métricas favorables, como las visitas al sitio web y el tiempo promedio que los usuarios pasan en el sitio web. En pocas palabras, un sitio web mejorado con CDN se traduce en más visitantes y visitas más largas.

Las redes de distribución de contenido se distribuyen por todo el mundo. Como tal, los usuarios pueden obtener sus datos desde un centro de datos físicamente más cercano en lugar de esperar a que les llegue desde donde se encuentra el servidor de origen. Cuanto menor sea el tiempo de viaje, mejor será la experiencia en línea.

Además, las CDN minimizan la cantidad de datos transferidos mediante la compresión de archivos y otros métodos de minificación para reducir el tamaño de los archivos. Los archivos más pequeños significan tiempos de carga reducidos. Las CDN también pueden aumentar la velocidad de los sitios web que usan certificados TLS/SSL a través de medidas como el inicio falso de TLS y la reutilización optimizada de la conexión.

Al combinar una red de entrega de contenido con otras técnicas de optimización basadas en hardware y software, los datos se pueden transmitir a los usuarios finales a velocidades aún mayores. Los ejemplos de dicha optimización incluyen discos duros de estado sólido (SSD) y equilibrio de carga eficiente.

2. Mayor confiabilidad

Al adoptar una CDN, los proveedores de contenido pueden asegurarse de que sus sitios web estén siempre disponibles. Las CDN contrarrestan las interrupciones causadas por factores como un alto volumen de tráfico o fallas de hardware. Debido a su presencia distribuida, pueden procesar grandes cantidades de tráfico de datos y tolerar fallas de hardware simultáneas.

El tiempo de actividad es uno de los componentes más importantes para cualquier proveedor de contenido digital. En el mundo actual, muchos usuarios simplemente no están dispuestos a esperar por el contenido en línea, y solo se necesita una interrupción del sitio web para empujar a un porcentaje de usuarios finales a los brazos de espera de los competidores. Las CDN abordan este problema al contrarrestar tanto las fallas de hardware como los picos de tráfico. Ya sea que sea causado por un ataque malicioso o por un aumento en la popularidad del sitio web, una red de entrega de contenido evitará que el sitio web se caiga.

Los principales proveedores de CDN brindan numerosas funciones que ayudan a minimizar el tiempo de inactividad, que incluyen:

  • Conmutación por error inteligente: esto garantiza un tiempo de actividad ininterrumpido incluso cuando más de un servidor deja de funcionar debido a un mal funcionamiento del hardware. Con esta función, el tráfico se redistribuye a otros servidores para garantizar la continuidad.

  • Equilibrio de carga: esto asigna el tráfico de red por igual entre numerosos servidores para hacer frente a cualquier cantidad de aumento de tráfico a escala.

  • Enrutamiento Anycast: Esto transfiere el tráfico de datos a otro centro de datos disponible si un centro de datos completo no está disponible debido a problemas técnicos.

3. Costos de ancho de banda reducidos

Uno de los principales costos en los que incurren los proveedores de contenido digital es el consumo de ancho de banda para el alojamiento de sitios web. El consumo de ancho de banda ocurre cada vez que un servidor de origen envía una respuesta a una solicitud de contenido. Una de las características principales de una CDN es reducir los datos que un servidor de origen necesita transmitir. Esto ayuda a los propietarios de sitios web a ver una reducción en sus costos de alojamiento. Las CDN también ayudan a minimizar los costos de ancho de banda a través de medidas de optimización como el almacenamiento en caché.

4. Ciberseguridad mejorada

Finalmente, las CDN ayudan a proteger los datos a través de medidas como certificados de seguridad mejorados y mitigación de DDoS. Los proveedores líderes integran varias funciones de seguridad de la información en sus soluciones de CDN. Una de esas características es la certificación TLS/SSL que permite que las CDN protejan los sitios web de manera más eficaz. Las CDN también ayudan a garantizar estándares sólidos de autenticación, integridad y cifrado para los sitios web.

Las 5 mejores prácticas principales para implementar una red de entrega de contenido en 2021

En el mundo posterior a la pandemia, los proveedores de contenido están aprovechando las soluciones de CDN más que nunca para mejorar el rendimiento y la disponibilidad de su contenido digital. A continuación se presentan cinco prácticas recomendadas que las empresas y los proveedores de contenido deben tener en cuenta al implementar una red de entrega de contenido en 2021.

 

1. Elija una metodología adecuada de implementación, prueba y compresión

Si el contenido estático no se incluye dentro del paquete o proceso de implementación de la aplicación, su aprovisionamiento e implementación pueden ocurrir por separado de la aplicación. Las partes interesadas deben considerar cómo el enfoque de control de versiones utilizado para administrar el contenido de recursos estáticos y los componentes de la aplicación se verá afectado por el método de implementación elegido.

Además, se pueden usar técnicas como la minificación y la agrupación para minimizar los tiempos de carga del sitio web. La minificación funciona para eliminar los caracteres redundantes de los archivos y scripts CSS mientras conserva su funcionalidad. La agrupación fusiona numerosos archivos para crear un solo archivo. 

Además, el proceso de implementación debe modificarse en el caso de que el contenido deba implementarse en más de una ubicación. En el caso de la actualización del contenido del lado de la aplicación para la CDN, las instancias del contenido actualizado deben almacenarse en el extremo de la CDN y en ubicaciones adicionales. Esta actualización puede tener lugar a intervalos fijos y predeterminados a través de disparadores específicos.

El manejo de las actividades de prueba y desarrollo locales en los casos en que el contenido estático debe ser atendido por la CDN es otro punto que debe tenerse en cuenta. Una opción es el uso de un script de compilación que implementa previamente el contenido en la CDN. Una alternativa a esto es el uso de indicadores o directivas de compilación para administrar la forma en que la aplicación carga los recursos. Por ejemplo, la aplicación podría configurarse para cargar contenido estático a través de canales locales cuando está en modo de depuración y usar el CDN cuando está en modo de lanzamiento.

Finalmente, las opciones para la compresión de archivos, como GNU zip, se pueden considerar para la ejecución, ya sea directamente por la CDN en los servidores perimetrales o por el alojamiento de la aplicación web en los servidores de origen.

2. Asegúrese de que el contenido esté correctamente enrutado y restringido

Se debe tener en cuenta el uso de diferentes CDN para diversas situaciones. Por ejemplo, se puede considerar el uso de una nueva CDN para implementar una nueva versión de la aplicación para conservar las versiones anteriores de la aplicación en la CDN anterior. Del mismo modo, los formatos de contenido más antiguos se pueden almacenar en una CDN, mientras que los formatos más nuevos se pueden implementar en una CDN nueva. Algunos proveedores líderes ofrecen una forma de "almacenamiento de blobs" que se puede utilizar como punto de origen del contenido. Esto se puede usar para crear una cuenta de almacenamiento distinta o un contenedor al que se puede enrutar el extremo de CDN.

Algunos proveedores de CDN no recomiendan usar la cadena de consulta para indicar versiones de aplicaciones variables en enlaces a recursos de CDN. Esto se debe a que la cadena de consulta se incluye dentro del nombre del recurso durante la recuperación de contenido y el almacenamiento en caché de los recursos por parte del cliente puede verse afectado. Además, cuando las versiones anteriores de contenido estático ya están almacenadas en caché en una CDN, la implementación de nuevas versiones de recursos a través de actualizaciones de aplicaciones puede ser un desafío. Las medidas de control de caché descritas en el siguiente punto pueden ayudar en tales casos.

Finalmente, los proveedores de contenido a menudo necesitan restringir el acceso al contenido de CDN según el país o la región. Esto puede deberse a razones reglamentarias, legales o de otro tipo. Los proveedores de CDN a menudo permiten filtrar las solicitudes de los usuarios en función del punto de origen geográfico y, en consecuencia, permiten la restricción de la entrega de contenido.

3. Implementar controles para la eliminación y el almacenamiento en caché de contenido

Se puede lograr que los objetos no estén disponibles desde la CDN eliminando el contenido del servidor de origen. Otra opción es la eliminación o eliminación del objeto del extremo de la CDN. El blob o contenedor también se puede cambiar a "privado" cuando el almacenamiento de blobs está disponible. Sin embargo, debe tenerse en cuenta que es posible que el contenido de CDN no se elimine por completo hasta que expire el límite de saltos. La purga manual de un extremo de CDN puede ser una opción viable en algunos casos.

También se debe considerar la gestión del almacenamiento en caché en el ecosistema CDN. Algunos proveedores líderes de CDN permiten a los usuarios definir reglas de almacenamiento en caché a nivel mundial. Las opciones de almacenamiento en caché personalizadas para puntos finales de origen específicos también se pueden implementar según sea necesario. Finalmente, los usuarios pueden controlar el rendimiento de almacenamiento en caché de una CDN mediante la transmisión de encabezados de control de caché en el origen.

4. Aplicar medidas robustas de ciberseguridad

La entrega de contenido mediante HTTPS (SSL) es posible a través de un certificado proporcionado por CDN y HTTP estándar. Las advertencias del navegador sobre "contenido mixto" se pueden evitar mediante HTTPS para solicitar contenido estático. Esto ayuda a mostrar contenido en páginas que se cargan a través de HTTPS.

Los usuarios pueden encontrar problemas con respecto a la política del mismo origen. Esto puede suceder cuando se usa una llamada XMLHttpRequest para solicitar contenido de otro dominio. Dichos problemas pueden verse en los casos en que se utiliza un CDN para entregar archivos de fuentes y otros activos estáticos.

En los casos en que el servidor web no esté configurado para asignar los encabezados de respuesta aplicables, es probable que los navegadores web deshabiliten el uso compartido de recursos de origen cruzado (CORS). Para superar esto, se puede usar uno de los métodos que se enumeran a continuación para configurar CDN para habilitar CORS.

  1. Las reglas de CORS se pueden agregar al extremo de almacenamiento cuando el almacenamiento de blobs es el punto de origen.

  2. La CDN se puede configurar para incluir encabezados CORS dentro de las respuestas.

  3. La aplicación se puede configurar para establecer encabezados CORS.

5. Seleccionar procedimientos alternativos y de continuidad efectivos

Las CDN de vanguardia se jactan de una disponibilidad casi constante incluso ante fallas generalizadas del sistema. Sin embargo, puede ser conveniente que los proveedores de contenido a gran escala consideren opciones alternativas, especialmente aquellos que se ocupan de contenido sensible o crítico. Por lo tanto, se debe tener en cuenta la reacción de la aplicación en caso de indisponibilidad temporal de CDN o falla total de CDN.

Una opción que vale la pena considerar es configurar aplicaciones cliente para usar copias del contenido que se almacenó localmente en caché durante solicitudes anteriores. Otra opción es la inclusión de código para la detección de fallos. En el último caso, las solicitudes de recursos se pueden enrutar desde el servidor de origen en caso de que la CDN no esté disponible.

Quitar

Hoy en día, las empresas de todas las verticales necesitan una presencia en línea para sobrevivir, por lo que las redes de entrega de contenido son imprescindibles. Las empresas, especialmente las más pequeñas que operaban solo o en su mayoría fuera de línea antes de la pandemia de COVID-19, enfrentan muchos desafíos. Estos desafíos se encuentran en las áreas de entrega de contenido, ajuste de contenido según el tipo de dispositivo del usuario final y el manejo seguro de datos. Las CDN tienen varias características que se adaptan perfectamente para ayudar a los proveedores de contenido a superar estos desafíos de manera rápida y a gran escala.

 

Fuente: https://www.spiceworks.com/tech/networking/articles/what-is-content-delivery-network/