CDN, un tema muy importante que deben tener en cuenta los dueños de sitios web, pero del cual se habla muy poco, y del que posiblemente las empresas de hosting, tampoco quieres que tengas conocimiento, por un tema económico y es la Red de Distribución de contenido (CDN).

Antes de entrar a fondo con este tema, vamos por partes a definir este concepto.

¿Qué es la Red de Distribución de contenido (CDN)?

Un CDN es un grupo de servidores con copias de los datos, distribuidos en diferentes zona geográficas que permiten acelerar la entrega de contenido, desde texto, imágenes, script, aplicaciones, videos y más. Esto aumenta consigo el ancho de banda, reduciendo además la carga del servidor donde está alojado el sitio web en cuestión.

En tal sentido, cuando los visitantes acceden al sitio web, en vez de cargar las imágenes y videos, desde el servidor principal, carga el mismo contendido desde el servidor externo más cercano al cliente, logrando así que el sitio web cargue más rápido; lo que además permite que el sitio web puedan recibir mayor cantidad de tráfico sin problemas, al delegar el contenido «pesado» a la CDN.

Ventajas del uso de CDN para los sitios web

Hablando ya concretamente de las ventajas del uso de la CDN para los sitios web tenemos, como primera, reducir el uso de recursos en el servidor, como memoria ram y procesador; evitando así tener que adquirir VPS ó servidor dedicados con muchos recursos. Por ejemplo, un sitio web de noticias que reciba más de 1000 visitas simultáneamente, necesitaría normalmente un potente servidor para alojar su sitio web; mientras que al usar un CDN, podría ahorrarse mucho dinero, al contratar un hosting con menos recursos.

Ventajas de sitios web con CDN
Red distribuida usando CDN

Otra ventaja significativa, es que al tener los archivos cargándose mediante CDN, a los visitantes les carga más rápido el sitio web, puesto que por ejemplo si la persona está en España, en vez de cargar desde un servidor en EEUU, lo hará desde Europa, y al estar más cerca, será más rápida la carga. Igual puede hacer por ejemplo si alguien de Colombia visita el sitio, le puede cargar ese contenido desde el mismo país, haciendo que sea más rápido el proceso. Recuerda, mientras más tiempo tarde en cargar el sitio web, los visitantes se irán, afectando además el posicionamiento seo.

Uso de CDN ajustable automáticos, normalmente no sabemos si se mantendrá el ritmo de la cantidad de visitas que recibimos, si aumentará ó bien bajará. A diferencia de los servidores, que tienes que estar migrando a uno más potente; los CDN normalmente son automáticos, es decir, pagas solo por lo que uses, un mes podrías pagar más ó menos, que el anterior, según el consumo que tenga tu sitio web ese mes; sin que debas hacer algún cambio en el sistema. Esto hace que tengamos ancho de banda ilimitada.

Los CDN son económicos, a diferencia de lo que pudiera parecer, el uso de cdn es realmente bajo, con precios desde 0.01$ hasta 0.1$ por cada Gigabyte (GB) descargado. Recordemos que una imagen en promedio puede pesar 100kb ó menos (en formato JPG por ejemplo); lo que quiere decir que, supongamos que tienes 100 imágenes y cada una pesa 100kb; si 1000 personas visitan al mes TODO EL CONTENIDO, nos consumiría 10GB, que a la tasa más alta de 0.1$ serian solo 1$ al mes. Recordando que es solo un ejemplo superficial, pero puedes tener una idea del bajo costo que involucraría contar con un CDN.

Disponibilidad al 100% de la información, dado que se tendrán decenas y cientos servidores en cadena, almacenando y entregando la información a los usuarios, por lo cual siempre estará disponible la misma, aún cuando alguno fallara, simplemente se entregaría del próximo centro de datos más cercano al usuario.

Evitar el Hotlinking, existe un término en internet llamado «Hotlinking» que es la técnica mediante la cual un sitio web le roba ancho de banda a otro, insertando una imagen en el sitio web B, pero en vez de subirla, usando la dirección del sitio web A. Obligando con ello, a que el sitio web A contrate mayores recursos, sin beneficiarse en la mayoría de los casos por eso. Pues bien, los proveedores de CDN, permiten bloquear, para que solo las imágenes aparezcan en los sitios que tu desees, evitando tener que pagar facturas innecesarias. Normalmente un sitio web no le presta atención a esto, pero si estas pagando por ancho de banda, seguramente te gastaría evitar esto.

Purgar rápido (borrar cache masiva), al usar la cdn, se copia el archivo del servidor de origen, en decenas y cientos de servidores réplicas de ese contenido; pero si necesitamos actualizar ese contenido, por ejemplo imagen, pudiera parecer un problema, dado que normalmente se tardan los servidores en actualizar; sin embargo hoy en día, los servidores cdn tienen un botón «mágico» que permite borrar la cache tanto para un archivo ó para todos los archivos almacenados, obligando a actualizar con la nueva versión del archivo. Cabe destacar que esto aplica, en caso que el nombre sea el mismo; por ejemplo si tienes una imagen de nombre «tecnologia.jpg» y subes otra con el nombre «tecnologia2.jpg» no hace falta borrar cache, dado que realmente es otra ruta imagen diferente, pero si decides borrar y subir nuevamente «tecnologia.jpg», ahí si tendrás que borrar cache.

Problema de no usar CDN

problemas de no usar cdn

Al no usar CDN, todo el contenido carga desde el servidor principal. Que cuando nuestro sitio web es nuevo ó tiene pocas visitas, no es importante, sin embargo a medida que esas visitas suben, van consumiendo recursos que pueden originar la caída de la web en cuestión, dado que consumirían un uso excesivo de ram y procesador, que no soportaría nuestro hosting, al menos en el plan básico que seguramente haz contratado. Imagina una cola de personas tratando de entrar al mismo tiempo, que mientras mayor sea, origina retrasos, lentitud del sitio ó su caída temporal.

Ejemplo de consumo de 5 Terabytes con diferentes proveedores de CDN

precios de cdn para 5 terabytes

Como podemos visualizar en la imagen, tenemos 6 proveedores diferentes de CDN, con nodos en Europa y Norteamérica, donde por 5 Terabytes Bunny nos cobra 50$, CDN77 165$, Stackpath 170$, KeyCDN 200$, Cloudfront (es un servicio de Amazon) nos cobra más de 425$ y Fastly más de 600$. Las características son similares en todos, por lo cual no tiene caso pagar tanto, personalmente tengo varias años utilizando el servicio de Bunny.net en múltiples sitios web, han ido implementando con el tiempo más funciones; por lo cual si quieren ahorrar y tener un servicio eficiente, pueden elegir esa opción. Cabe destacar, que este ejemplo es por 5 Terabytes, sin embargo en la mayora de los casos no consumen los usuarios más de 10GB al mes, por lo cual igualmente no pagan más de 5$.

Tiempos de carga de proveedores de CDN

tiempos de carga de proveedores de cdn

En esta imagen, podemos visualizar los tiempos de carga en promedio de los diferentes proveedores de CDN antes mencionados, donde el menor seria el más rápido. En donde podemos visualizar que en promedio, el más rápido carga es Cloudfront (el servicio de Amazon) con 27ms (milisegundos), seguido de Bunny y Fastly que demoran 29ms, pasando por CDN77 con 31ms y finalmente Stackpath y KeyCDN con 36ms. La diferencia entre todos es muy poca, pero igual para que tengas una referencia.

¿Que proveedor de CDN elegir?

Personalmente, acá en EulisesAvila.com así como en muchos otros sitios web que tenemos y manejamos, hemos usado BunnyCDN por bastante tiempo, tanto por la facilidad de uso como por la economía, actualmente manejan una tarifa mínima al mes de 1$, mientras que otros tienen 4$, 5$ y más como tarifa mínima al mes. Además de CDN, Bunny tiene múltiples servicios, como Storage (un disco en la nube ilimitado, para que guardes archivos, tengas respaldos de información, sitios y más), al momento de escribir este articulo tienen 108 centros de datos geolocalizados en todo el mundo (34 en Europa, 20 en Norte América, 6 en Oceanía, 24 en Asia, 14 en Latinoamérica, 10 en oriente medio y África, es decir 6 continentes y 73 países), los servidores son SSD y NVMe, cuenta con servicio para subir videos e incluso para poder incrustarlos en tus sitios de forma personalizada, pudiendo agregar la publicidad estilo de YouTube, si así lo deseas. También cuentan con servicio de DNS (al estilo de cloudflare), optimizador de imágenes, entre muchos otro servicios.

Como instalar un servicio de CDN

Una vez hayas contratado el servicio, si bien puedes hacerlo manualmente, al subir cada archivo al servidor CDN y usar la ruta de cada archivo que te ofrece el sistema en vez de la de tu servidor, ejemplo cdn.servidorcdn.com/rutadeimagen.jpg. También puedes personalizar la dirección para usar la de tu dominio, por ejemplo cdn.tusitio.com. Si usas CMS como wordpress, hay sistemas que te facilitaran ese trabajo, por ejemplo WP Rocket, que es un sistema de cache, optimización de sitios y al mismo tiempo cambiar las url de los archivos por las del CDN de forma automática, para que no tengas que preguntarte por ello, tanto en artículos viejos como los nuevos.