¿Qué es y cómo implementar un CDN en tu proyecto web?
Desde hace algún tiempo en los sitios web muy grandes o con grandes cantidades de tráfico se recurría a los CDN. Ahora, el uso de un CDN más que relacionarse con el tamaño de la web o el número de visitas, tiene que ver con el lugar desde el que acceden los usuarios para “acercarle” el contenido y reducir la latencia.
¿Qué es un CDN?
CDN (Delivery Content Network) o red de distribución de contenidos, permite distribuir los elementos estáticos de una web (vídeos, imágenes, archivos PDF…) desde el servidor que geográficamente esté más próximo al usuario. De esta forma, al servirse el contenido desde el punto más cercano, se reduce la latencia, es decir el tiempo que tarda la información desde el servidor de origen al navegador del usuario. En este sentido, cuanto mayor sea la latencia, más tiempo tardará en cargarse el sitio web; aunque aquí también influyen otros factores como el número de usuarios recurrentes o los recursos del servidor.
Para evitar que la latencia sea muy alta, y, por tanto, la web responda lentamente, el CDN se encarga de cachear algunos contenidos y almacenarlos en un lugar determinado. Así, cuando un usuario solicite un contenido, el servicio comprobará el servidor, o punto de presencia, que se encuentre más cerca para que le proporcione los archivos necesarios para visualizar la web.
¿Puedo instalar un CDN en cualquier proyecto?
Técnicamente sí, pero en algunos casos no es necesaria la implementación de un CDN. Por ejemplo, si la mayor parte de tu tráfico proviene de un solo país o si tus ventas no están orientadas a un mercado internacional, no tiene sentido alguno optar por un CDN. En estos casos, la implementación de una red de distribución de contenidos en lugar de mejorar el rendimiento de la web, solo ralentizará los tiempos de respuesta; ya que se estarán realizando peticiones que no son necesarias para el tipo de web, sus usuarios o el contenido que aloja.
En cambio, si parte de tu tráfico proviene de otros países, si te orientas a un mercado europeo o mundial o si tu web está en varios idiomas, puede que tenga sentido recurrir a un CDN. Cuanto mayor sea la distancia entre el servidor principal y el usuario mejores resultados se obtendrán con la implementación de un CDN.
¿Qué tipo de CDN necesito?
Existen dos tipos de CDN: los considerados puros y los proxy inversos. En el grupo de los primeros se encontraría, por ejemplo, Amazon CloudFront y, en el segundo, CloudFlare, por mencionar los más conocidos.
Un CDN puro es aquel que se limita a la distribución del contenido en diferentes servidores ubicados en diversos puntos de presencia. Generalmente, se configuran a través de registros CNAME en la zona DNS del dominio. Con un CDN de tipo proxy inverso, además, es posible optimizar algunas partes de la web, como el CSS y el JavaScript, para mejorar aún más los tiempos de carga.
Si tu web está desarrollada a partir de WordPress, PrestaShop o cualquier otro CMS, es posible que en lugar de un CDN sea preferible recurrir al domain sharding. Una técnica WPO “similar” a la implementación de un CDN, pero que en lugar de distribuir el contenido, se encarga de paralelizar las peticiones.
Los servicios más recomendados
Si buscas una opción buena y barata, CloudFlare es el servicio perfecto. Un CDN gratuito que, además, funciona como proxy inverso y que cuenta con el mayor número de puntos de presencia alrededor del mundo. Más allá de las mejoras de rendimiento, CloudFlare también contribuye a la mejora de la seguridad de una web, al filtrar el tráfico que intenta acceder al servidor. El único aspecto negativo es que la versión gratuita solo funciona como proxy inverso, por lo que será necesario pasar a la versión Premium si lo que necesitamos es una configuración mediante CNAME. Eso sí, al escoger CloudFlare deberás tener en cuenta que es necesario utilizar sus DNS para la configuración del CDN, y esto no siempre es posible o la mejor opción.
Amazon CloudFront, el servicio de CDN de AWS. Se trata de un servicio incluido en los servicios de la plataforma cloud de Amazon, aunque también puede utilizarse en sitios web alojados en otro proveedor. Al ser parte de Amazon cuenta con muchos puntos de presencia repartidos en las diferentes regiones en las que se encuentra AWS. El punto negativo de CloudFront es que, al igual que los otros servicios AWS, es necesario contar con conocimientos técnicos para configurarlo correctamente. Además, económicamente puede resultar más costoso que otras soluciones similares; ya que no solo se cobra el tráfico, sino que también tienen coste las peticiones HTTP.