¿Te ha gustado el artículo?
0
¿Te ha gustado el artículo?
0

CDN: ¿Qué son las Content Delivery Networks?

Una Content Delivery Network es una red de servidores en diferentes centros de datos en todo el mundo. Estas representan una excelente oportunidad para desarrollar una página o aplicación web a nivel mundial. Cuando accedes a este tipo de redes, tu servidor web es conectado automáticamente con una gran cantidad de servidores. Con la ayuda de un sistema de gestión, el contenido estático de tu servidor web es transferido a los llamados servidores de réplica. Si los usuarios solicitan solo un determinado contenido de tu página web, el Request Ruting System determina qué servidor de réplica es el más adecuado en la red de distribución de contenidos para la entrega de los datos solicitados. El número y la distribución del servidor, así como el grado de integración de las redes backbone de gran alcance, dependerán del proveedor de CDN.

¿Cómo funciona la transferencia de datos en CDN?

Cuando un usuario navega en Internet, no recibe información alguna sobre si los datos están siendo recuperados desde el servidor de origen de una página web determinada o si lo están haciendo desde un servidor de réplica. El proceso de transferencia de datos se suele ejecutar en un segundo plano y se evidencia por medio de tiempos de carga más cortos.

Los dos componentes más importantes que intervienen en la operación son el sistema de distribución y el Request Routing System. El sistema de distribución no solo transmite el contenido del servidor de origen al servidor réplica, sino que también garantiza autenticidad y calidad. Existen dos posibles enfoques: en el primero, el sistema de distribución envía archivos nuevos y modificados inmediatamente a todos los servidores de las Content Delivery Networks, mientras que en el segundo se envía un mensaje a los servidores réplica informándoles que los datos actuales están disponibles y, de ser necesario, serán solicitados. Aquí es donde el Request Routing System se encarga de garantizar que las solicitudes del usuario lleguen al servidor adecuado. Así, con estos sencillos pasos, este se encarga de que las solicitudes sean dirigidas de manera óptima.  

Encontrar el servidor réplica adecuado

El primer paso es encontrar el servidor más adecuado para responder a la solicitud del usuario. Para lograrlo, el Request Routing System se centra en indicadores específicos determinados por diferentes métodos de medición. Estos índices se encargan de especificar, por ejemplo, si se trata de conexiones realizadas desde el cliente o desde el servidor. Los indicadores desde el servidor, que se encargan de calcular el uso de la CPU o el número de accesos activos, son útiles en la medida en que reconocen aquellas conexiones de menor carga para transferirlas así al servidor réplica. El Request Routing System utiliza los índices del cliente para determinar la mejor conexión entre el servidor y el cliente. Otros factores relevantes son el tiempo de latencia, la velocidad promedio de transmisión de datos, la tasa de pérdida de paquetes y la proximidad geográfica. Además, los indicadores del lado del cliente ofrecen información sobre la identidad del usuario que realiza la solicitud y el sistema los utiliza, por ejemplo, en caso de que el contenido tenga que ser entregado a clientes con acceso estándar o premium.

La ponderación de los diferentes indicadores siempre dependerá de los datos solicitados. Por ejemplo, aquellos contenidos generados dinámicamente obtendrán mejores indicadores desde el lado del servidor, mientras que una conexión estable entre el cliente y el servidor será imprescindible para el uso de Streaming Media.

Redirección de una solicitud

Una vez definido el servidor de destino en CDN, el siguiente paso será la redirección técnica de la solicitud a través del Request Routing System. Existen varios métodos para esta “Request Redirection” y su aplicación se diferencia, principalmente, dependiendo del lugar desde donde se realice (desde el cliente, la red o el servidor réplica).

El redireccionamiento de la solicitud por parte del cliente es un método de sencilla implementación, en el que el cliente seleccionará el servidor réplica de una lista. Su principal desventaja es, sin embargo, que la Content Delivery Network tiene poca influencia en el proceso de asignación. La redirección desde el servidor –HTTP 302 Redirection– es muy fácil de implementar y está muy bien equipada con información sobre la CDN. En este caso, el servidor de salida responde a la petición con el código de estado HTTP y se lo comunica al cliente a través del servidor réplica determinado, que es contactado automáticamente a través de otra solicitud. La principal desventaja de este método es la duplicación de las conexiones requeridas.  

El tipo de redirección más utilizado es el DNS Request Routing. En este, la solicitud realizada por el cliente al servidor DNS local es redirigida dentro de una Content Delivery Network, quien a su vez envía de vuelta la dirección IP del servidor réplica. La mayor desventaja de este método es que los accesos se ven retrasados como consecuencia de la constante repetición en las referencias al Domain Name System.

¿Por qué vale la pena usar CDN?

Gracias a servidores globalmente localizados, los usuarios de una Content Delivery Network se benefician principalmente de tiempos de carga rápidos y un uso de ancho de banda reducido. Como operador web, las ventajas de usar CDN incluyen una reducción del uso del servidor web y un aumento de la seguridad de los datos almacenados en caché –impidiendo, por ejemplo, ataques del tipo DdoS– como consecuencia de las redirecciones de las solicitudes, pues con estas no es posible alcanzar el servidor de origen. En este punto, el requisito es únicamente que aquella información confidencial, como datos de usuario o contraseñas, se mantengan fuera de la CDN, pues su almacenamiento implica un mayor riesgo de ataque y genera, a menudo, conflictos de privacidad. Otra característica útil es la asignación de un dominio único para el contenido de la Content Delivery Network. De esta forma, en caso de un ataque por parte de personas malintencionadas, se evita su propagación a otros elementos de la página web. La siguiente lista resume los beneficios de una CDN:

  • Elementos estáticos como páginas HTML, imágenes, hojas de estilo, documentos o secuencias de comandos del lado del cliente, son almacenados en caché en el servidor réplica y no tienen que ser recuperados desde el servidor web. Esto protege a los servidores y garantiza tiempos de carga más cortos para los usuarios, lo que se ve reflejado en la disminución de la tasa de rebote y en un buen posicionamiento en los motores de búsqueda.
  • La baja utilización del servidor y de las aplicaciones implicadas evita sobrecargas y disminuye el riesgo de posibles daños o fallos. Esto tiene un efecto positivo en cuanto a los requerimientos de hardware para el alojamiento web.
  • Puedes decidir qué elementos estáticos deben ser cargados por el cliente desde el servidor en la Content Delivery Network. Por ejemplo, si únicamente quieres exportar las imágenes de tu blog, es posible cargarlas en paralelo a los demás contenidos, logrando así que la web cargue más rápidamente.
  • Las webs que ofrezcan servicios de streaming de música y vídeos se benefician del uso de una CDN en la medida en que esta se encarga de transferir grandes cantidades de datos en cortos periodos de tiempo. Esto también se aplica a transmisiones en vivo por Internet.
  • Los momentos de afluencia máxima o el aumento del número de usuarios son fácilmente manejables con una CND. Realizar las solicitudes desde el Request Routing System a un servidor réplica con menor carga, resulta especialmente conveniente si ofreces la opción de descargar archivos o si eres el operador de una tienda online.
  • Los tiempos de carga no solo se reducen, sino que también se reduce el consumo de ancho de banda, que está directamente relacionado con las solicitudes de carga de los contenidos de tu web.
  • La seguridad de tu servidor y, por lo tanto, de tus datos y aplicaciones utilizadas aumenta gracias a la utilización de una Content Delivery Network, pues se pueden identificar posibles ataques para poder ser evitados a tiempo.

Glosario Tiempo de Carga