En la actualidad muchos sitios web deben utilizar un CDN, muchos sitios y aplicaciones modernas, entregan gran cantidad de contenido estático a los usuarios.

Cuando hablamos de contenido estático nos referimos a imágenes, hojas de estilos, JavaScript y hasta video. A menudo que este contenido estático crece, también crece el ancho de banda necesario para poder brindar el acceso a los mismos.

Con el fin de reducir los tiempos de cargas, mejorar el rendimiento y reducir el consumo de ancho de banda en tu hosting o servidores, se puede implementar un CDN, para almacenar en cache este contenido, en distintos servidores ubicados en diferentes partes del mundo.

En este breve tutorial, realizaremos una breve introducción a los CDN, como funcionan y sus ventajas de implemenmtarlos.

¿Qué es un CDN?

(Content, Delivery, Network). Es una red de entrega de contenido estático, contenido en un conjunto de servidores ubicados en diferentes lugares geográficos, optimizados para entregar contenido estático a los usuarios.

Los CDN se utilizan con mayor frecuencia para entregar páginas web y sus archivos relacionados, transmisión de video y audio, y grandes paquetes de software.

¿Qué es un CDN?, aprende como acelerar el contenido estático de tu web. Clic para tuitear

Cuando un usuario visita tu sitio web , y este trabaja con un CDN, solicita archivos estáticos como las imágenes y el código JavaScript, el CDN enruta las solicitudes al servidor mas cercano, desde donde se sirven los contenidos.

Si el servidor mas cercano no cuenta con la información en cache, buscará otro servidor del grupo, descargará el contenido para que en una siguiente petición ya pueda atender las solicitudes de los usuarios.

El paso anterior, va permitir que el contenido del usuario se muestre sin la necesidad de hacer muchos saltos en los servidores del grup, obteniendo mejores tiempos de carga del sitio web.

Varios proveedores de CDN, ofrecen además otros servicios adicionales como la mitigación de ataques DDoS y limitación de velocidad, análisis de los usuarios que visitan tu sitio, visitas sospechosas, pero a un costo adicional.

¿Cómo funciona un CDN?

Cuando un usuario visita tu sitio, lo primero es contactarse con el servidor DNS que contiene la dirección IP de tu dominio o de tu servidor web. Luego el navegador al tener la dirección IP solicita el contenido al servidor web, este provee todo el contenido del sitio, en donde se incluye contenido estático.

que-es-un-cdn-distribucion

Una vez que despliegas tu contenido a un CDN, debes realizar la descarga de tu contenido estático a los servidores, este proceso se pude realizar de forma manual o automática, realizada por los mismos servidores.

Luego debes configurar tu servidor web para reescribir enlaces a cotenido estático en lo servidores CDN, esto por si algún archivo cambia, se mantenga actualizado.

Sí utilizas un CMS como WordPress, está reescritura de enlaces puede implementarse utilizando complementos de terceros, como CDN Enabler.

La gran mayoría de servicios CDN ofrecen la creación de un registro CNAME bajo su dominio que apunta a un punto final del CDN. Una vez que el punto final del CDN recibe una solicitud del usuario, entonces enruta al servidor más cercano al usuario, este servidor es llamado punto de presencia (PoP) mas cercano al usuario.

Lo que acabamos de indicar es en manera general como funciona los CDN, pero existen servicios con funcionamiento distinto, lo mejor es siempre revisar la documentación de tu proveedor.

Beneficios de utilizar un CDN

En general los motivos principales para implementar un CDN, es descargar el ancho de banda de tus servidores y trasladarlo a los servidores de origen de los CDN, reduciendo la latencia para los usuarios distribuido geográficamente.

Por ejemplo si tu sitio web se aloja en un servidor ubicado en Estados Unidos, y de un momento empiezas a obtener visitas significativas de países europeos, lo ideal sería poder alojar contenido en algún servidor de esa región, y de está manera la latencia será mucho mejor para estos usuarios.

A contnuación los beneficios de contar con un despliegue de CDN patra su sitio web:

Descarga en el servidor origen

Si estas cerca de llegar a la capacidad de ancho de banda en sus servidores, la descarga de archivos estáticos reducirá drásticamente el ancho de banda de sus servidores.

Menor latencia y mejorar la experiencia del usuario

Si cuenta con una base de usuarios muy dispersa geográficamente, una CDN puede disminuir la latencia al almacenar los activos estáticos de su sitio, en servidores perimetrales mas cercanos a los usuarios.

Administrar el tráfico y evitar el tiempo de inactividad

Para los sitrios web que utilizan un solo servidor de origen, estos grandes picos de tráfico a menudo pueden abrumar al sistema, causando tiempo de inactividad.

El desplazamiento del tráfico hacia una infraestructura CDN redundante y de alta disponibilidad, diseñada para manejar niveles variables de tráfico web, puede aumentar la disponibilidad de sus activos y contenido,

Reducir costos

Dado que el servicio de contenido estático generalmente constituye la mayor parte del uso de ancho de banda, la descarga de estos activos en una red de entrega de contenido puede reducir drásticamente su inversión mensual en infraestructura. También mencionar la reducción que se podría obtener del consumo de ancho de banda que ofrecen algunos proveedores.

Aumentar la seguridad

Otro caso de uso común es la mitigación del ataque DDoS. Muchos proveedores incluyen funciones para monitorear y filtrar las solicitudes a los servidores periféricos.

Estos servicios analizan el tráfico web en busca de patrones sospechosos, bloqueando el tráfico de ataques maliciosos mientras se continúa permitiendo el tráfico de usuarios de confianza.

Consideraciones antes de evaluar un despliegue de CDN

Si su cuello de botella es la carga de la CPU en el servidor de origen, y no el ancho de banda, una CDN puede no ser la solución más adecuada. En este caso, el almacenamiento en caché local utilizando cachés populares como NGINX o Varnish puede reducir significativamente la carga al servir los activos de la memoria del sistema.

Antes de desplegar una red de entrega de contenidos, los pasos de optimización adicionales, como minimizar y comprimir archivos JavaScript y CSS, y habilitar la compresión de solicitud HTTP del servidor web, también pueden tener un impacto significativo en el tiempo de carga de la página y el uso del ancho de banda.

Una herramienta útil para medir la velocidad de carga de su página y mejorarla es la de PageSpeed ​​Insights de Google .

Otra herramienta útil que proporciona un desglose en cascada de los tiempos de solicitud y respuesta, así como las optimizaciones sugeridas, es Pingdom.

Palabras finales

Una red de entrega de contenido puede ser una solución rápida y efectiva para mejorar la escalabilidad y la disponibilidad de sus sitios web.

Al almacenar en caché activos estáticos en una red distribuida geográficamente de servidores optimizados, puede reducir en gran medida los tiempos de carga de página y las latencias para los usuarios finales.

No olvides que si te gusto el artículo, ayúdanos compartiendo el contenido en tus redes sociales para llegar a más personas. No olvides pasar por nuestra sección de cursos de Programación y Tecnología.

Etiquetado en:

, ,

Acerca del Autor

Grover Vásquez

Profesional de TI con más de 10 años de experiencia, en el campo de las Tecnologías de la Información, Programación y Seguridad de la Información. Instructor Online y presencial de cursos de programación de aplicaciones.

Ver Artículos