CDN, un sistema para mejorar la carga de tu web

Todo el mundo sabe lo importante que es disponer de una página web que cargue lo más rápido posible, ya que una carga lenta podría hacer que aquellos visitantes que llegaran a nuestra web la abandonaran sin poder ver la información que les interesa. La velocidad de carga también influye en el posicionamiento web. Para mejorar esta velocidad se puede optimizar la programación de la web, utilizar sistemas de cacheo o usar algún sistema de red CDN, que será sobre lo que hablaremos a lo largo de este White Paper.

Leer White Paper: 'CDN, un sistema para mejorar la carga de tu web'

 

cdn-white-paper-acens-cloud-hosting

 

¿Qué es un CDN?

Un CDN (Content Delivery Network – Red de Distribución de Contenidos) es una red de servidores distribuidos por todo el mundo desde la cual el usuario que visita un portal web, dependiendo de su ubicación, se descarga la información proveniente del servidor original donde se subió la web de uno u otro nodo que forma parte de la red CDN. Esto provoca que la descarga de esa información sea mucho más rápida, además de evitar el problema de saturar el servidor donde se aloja el dominio, ya que esta descarga de información se hace desde uno de estos servidores que forman parte de la red en vez de hacerlo desde el servidor original.

Los contenidos que se suelen almacenar en este tipo de redes son de tipo estático, tales como imágenes, documentos, vídeos o audios entre otros. Todos esos elementos los tiene la red CDN en su caché durante un tiempo determinado, pasado ese tiempo se borra teniéndolos que volver a solicitar al hosting. Cuando un usuario solicita un tipo de información, lo que hace esta red es conectar con el servidor web real para pedirle aquellos de los que aún no dispone, además de los contenidos dinámicos que no son almacenados en sus sistema de caché.

 

Ventajas del uso de CDN

El uso de las redes CDN busca mejorar la experiencia de los usuarios que visitan nuestro portal. Entre las ventajas que ofrece este sistema podemos destacar las siguientes.

 

1.- Incremento de la velocidad 

Se trata, posiblemente, de la ventaja más importante que ofrece el uso de algunas de las redes CDN que nos podemos encontrar actualmente. Al estar en caché algunos de los elementos más pesados como las imágenes o ficheros de estilo, la velocidad de carga se ve beneficiada, ya que no será necesario que el servidor sirva toda esa información, lo que agilizará considerablemente la velocidad del sitio.

 

2.- Reducción de carga del servidor original 

Como hemos explicado anteriormente, al tener ciertos archivos en la caché de la red CDN, no será necesario que solicitar esa información al servidor original, por lo que la respuesta de este será mucho más liviana, al tener que servir únicamente la información dinámica solicitada.

 

3.- Ubicación geográfica

Este tipo de redes tienen presencia en múltiples localizaciones geográficas de Internet. Cuando uno de estos servidores adquiere nueva información, lo replica al resto de máquinas que forman parte del sistema, lo que permite mejorar la velocidad de carga geográficamente.

Por ejemplo, si un usuario de México solicita información de una página alojada en una máquina de acens, esta petición no la realizará a este servidor, sino a la máquina que forme parte del CDN y que esté más próxima a su ubicación geográfica.

 

4.- Mejora de la seguridad 

Algunos CDN ofrecen funciones que van más allá de mejorar las prestaciones a la hora de mostrar la información de un portal, sino que añaden funcionalidades capaces de determinar si las peticiones realizadas son legítimas o más bien fraudulentas. En este segundo caso, esas peticiones son eliminadas y no se llegan a procesar.

 

5.- Mejorar el posicionamiento de la web 

Al mejorar la velocidad de carga del sitio, esto favorece a que los buscadores la valoren más positivamente que a otras del sector que carguen más lentas, lo que se puede traducir en un aumento en el número de visitas a nuestro sitio.

 

¿Cómo funciona una red CDN?

Veamos cómo funciona una de estar redes CDN para mejorar la velocidad de las páginas web.

Paso 1. Los usuarios acceden a la información desde cualquier parte del mundo 

Las peticiones realizadas por parte de los usuarios son enviadas a los servidores DNS. La red detecta la ubicación desde la que se hizo la petición y la redirige hacia el nodo más cercano, un nodo que podría estar a unos pocos kilómetros de distancia.

 

Paso 2. Se envían los archivos al usuario y comunicación entre el CDN y el servidor de alojamiento. 

Una vez procesada la petición del usuario, nos podemos encontrar con tres situaciones diferentes:

  1. Los archivos solicitados no están en la caché de la red. En este caso, la CDN los solicita al hosting y se los reenvía al usuario, dejando además esa nueva información en su sistema de caché.
  2. Los archivos están en la caché de la red. En este caso, lo que hace el sistema es enviar directamente la información que tiene almacenada al usuario.
  3. La información solicitada es dinámica. Si los contenidos a mostrar son dinámicos, la CDN redirige la petición al servidor que a su vez envía la información al usuario.

 

Paso 3. Cuando otro usuario solicite la información, la descarga será más rápida.

Cuando otro usuario solicite la misma información, al estar ya almacenada en su sistema de caché, el contenido será servido más rápido. Si el tiempo de vida de los archivos almacenados en la caché ha expirado, entonces la CDN deberá solicitar de nuevo la información al servidor de origen.

 

Ejemplos de proveedores CDN que nos podemos encontrar en la actualidad

En el mercado nos podemos encontrar un gran número de proveedores, tanto servicios gratuitos como de pago. Veamos a continuación algunos ejemplos.

 

  1. CloudFlare

Se trata de uno de los operadores más importantes actualmente. Ofrece servicios tanto gratuitos como de pago. Su red está formada por cerca de 30 centros de datos repartidos en ciudades de todo el mundo como Madrid, Lima, Tokyo o Sydney.

Empezar a utilizar su servicio es muy sencillo, ya que el usuario lo único que tendrá que hacer es añadir su dominio a la red de CloudFlare y cambiar las DNS que estaba utilizando por las que ellos nos proporcionen.

Algunas de las ventajas que ofrece esta red son:

  • Acelera y protege cualquier sitio web tanto en su modo gratuito como de pago, sin que haya límite de ancho de banda consumido.
  • Mayor seguridad, ya que nuestro sitio funcionará detrás del firewall de CloudFare. Además se nos da la opción de elegir entre tres niveles de protección.
  • Ofrece la posibilidad de hacer nuestras páginas compatibles con dispositivos móviles.
  • Soporte de SPDY, protocolo complementario a HTTP y que puede llegar a mejorar nuestro rendimiento hasta un 55%.
  • Certificado SSL para usar entre el usuario y CloudFlare.

 

  • Akamai

Se trata de uno de los CDN más grandes del mercado y el utilizado por importantes empresas como Symantec, FedEX o la BBC News, entre otros muchos.

Su funcionamiento y servicios que ofrece son muy similares a los que hemos visto en el caso anterior, pero en este caso, también ofrece sistemas de seguridad para protección de ataques DDOS.

 

  • SwarmCDN

Se trata de una red de tipo peer to peer, es decir, el contenido proviene de otros usuarios en vez desde servidores. Para su funcionamiento, utilizan el protocolo WebRTC, una API creada por el consorcio W3C para permitir a las aplicaciones del navegador realizar llamadas de voz, chat de vídeo y uso compartido de archivos P2P sin plugins y que por ahora sólo es soportado por Chrome, Firefox y Opera. Cuando un visitante utiliza otro navegador distinto, la información será devuelta desde el servidor original en vez de hacerlo desde el usuario más cercano.

Para mantener la seguridad de la información, el contenido que se comparte entre los peers es encriptado. Lo que no ofrece es soporte SSL, algo muy necesario en cualquier comercio electrónico, por lo que no es aconsejable su uso en este tipo de aplicaciones.

 

Como hemos podido ver a lo largo de este libro blanco, los CDN son una herramienta muy buena para mejorar la velocidad de nuestros sitios y liberar al servidor de carga al reducir el número de llamadas realizadas.