Cuando alguien visita una página web, no siempre es necesario que todos los elementos de esa página tengan que viajar desde un único servidor hasta el dispositivo del visitante.
Existe una tecnología que permite acercar determinados contenidos al usuario y reducir la distancia que deben recorrer los datos: la CDN.
CDN significa Content Delivery Network, o red de distribución de contenidos.
Su funcionamiento puede parecer complejo, pero la idea fundamental es sencilla:
que los contenidos de una web estén disponibles desde servidores situados cerca de las personas que los solicitan.
¿Qué es exactamente una CDN?
Una CDN es una red formada por diferentes servidores distribuidos geográficamente.
En lugar de depender exclusivamente de un único servidor situado en un determinado lugar, determinados contenidos de una página pueden almacenarse temporalmente en diferentes puntos de esa red.
Cuando una persona visita la web, la infraestructura puede servir esos contenidos desde un punto de presencia más cercano o adecuado.
Esto reduce la distancia que tienen que recorrer los datos y puede contribuir a mejorar los tiempos de respuesta.
Imaginemos una web alojada en un servidor situado en Europa y un visitante que accede desde América.
Sin una infraestructura de distribución, la comunicación tendrá que realizarse directamente con el servidor de origen.
Con una CDN, determinados recursos pueden estar disponibles desde una infraestructura mucho más próxima al visitante.
La diferencia puede ser especialmente relevante cuando una web recibe visitas desde diferentes países.
La distancia también importa.
Cuando hablamos de velocidad web solemos pensar en el servidor, el código, las imágenes o la conexión a Internet.
Pero existe otro factor importante: la distancia.
Los datos necesitan desplazarse a través de diferentes redes para llegar desde el servidor hasta el dispositivo del usuario.
Aunque las conexiones actuales son extremadamente rápidas, reducir esa distancia puede ayudar a disminuir la latencia.
Por eso una arquitectura distribuida puede resultar especialmente interesante para páginas destinadas a recibir visitas desde diferentes ubicaciones geográficas.
¿Y qué tiene que ver la caché?
La CDN está estrechamente relacionada con otro concepto: la caché.
La caché permite almacenar temporalmente determinados recursos para evitar tener que generarlos o recuperarlos desde el origen cada vez que alguien los solicita.
Por ejemplo, una imagen que se utiliza en una página puede almacenarse temporalmente en un punto de la red.
Cuando otro visitante solicita esa misma imagen, puede ser posible entregársela directamente desde la caché, sin tener que volver a obtenerla desde el servidor de origen.
Esto puede reducir trabajo y mejorar los tiempos de respuesta.
En términos muy sencillos:
sin caché: hay que volver a buscar o generar el recurso.
con caché: el recurso puede estar disponible inmediatamente en un punto intermedio.
Una web no tiene por qué estar físicamente en un único lugar.
Aquí aparece una idea interesante.
Cuando pensamos en una página web, solemos imaginar que todos sus archivos están almacenados en un servidor concreto.
Sin embargo, una arquitectura moderna puede ser mucho más distribuida.
Existe un origen, donde se encuentra la instalación principal de la web, y pueden existir diferentes puntos de distribución que sirven determinados contenidos a los visitantes.
Esto permite combinar la potencia del servidor de origen con una red distribuida de entrega.
La CDN actúa, por tanto, como una capa adicional entre la infraestructura principal y los visitantes.
La CDN de Google Cloud.
En berhattan configuramos una CDN para todos nuestros clientes, utilizando concretamente la infraestructura de Google Cloud.
La arquitectura de Google Cloud permite distribuir contenidos mediante una red global de infraestructura.
En nuestra configuración, las webs de nuestros clientes cuentan con réplicas y puntos de distribución repartidos por todo el mundo, con presencia en más de 150 datacenters.
Esto significa que la infraestructura que participa en la entrega de una web no tiene que depender exclusivamente de un único punto geográfico.
La finalidad es acercar los contenidos al usuario y conseguir una entrega eficiente independientemente de dónde se encuentre.
¿Significa esto que toda la web se copia en 150 datacenters?
No necesariamente.
Esta es una distinción importante.
Una CDN no significa simplemente hacer una copia completa e idéntica de una instalación WordPress en cientos de servidores.
La red distribuye y almacena determinados contenidos de acuerdo con su configuración, políticas de caché y necesidades de entrega.
La web mantiene un origen, mientras que la CDN funciona como una infraestructura de distribución delante de ese origen.
Esto permite mantener centralizada la gestión de la web y, al mismo tiempo, utilizar una red global para entregar determinados recursos.
¿Qué ventajas puede aportar?
Una CDN puede aportar diferentes beneficios técnicos.
Menor latencia.
Al poder servir contenidos desde una infraestructura más próxima al visitante, se puede reducir el tiempo necesario para determinadas comunicaciones.
Mayor capacidad de distribución.
Una red distribuida permite repartir la entrega de contenidos entre diferentes puntos de presencia.
Mejor experiencia internacional.
Una web que recibe visitantes de distintos países puede beneficiarse especialmente de una infraestructura global.
Menor carga sobre el origen.
Cuando determinados recursos pueden servirse desde la caché, no es necesario solicitar continuamente esos mismos recursos al servidor de origen.
Mayor eficiencia.
La combinación de caché, distribución geográfica y una infraestructura optimizada puede contribuir a mejorar el rendimiento general de una web.
Una CDN no sustituye a un buen hosting.
Es importante no confundir conceptos.
Una CDN no convierte automáticamente una web lenta en una web rápida.
Si una página tiene un código deficiente, imágenes excesivamente pesadas, demasiados plugins, problemas de base de datos o una mala configuración de WordPress, una CDN no solucionará por sí sola todos esos problemas.
La velocidad web depende de muchos factores.
Hosting, servidor web, PHP, WordPress, base de datos, código, imágenes, caché, CDN, navegador y conexión del usuario forman parte de una cadena.
Por eso es importante trabajar sobre el conjunto.
Una arquitectura pensada para el mundo real.
La tecnología utilizada para servir una página web debe responder también a la realidad de Internet.
Una empresa puede tener visitantes de Jerez, Madrid, Berlín, Londres, Nueva York o cualquier otro lugar del mundo.
No tiene demasiado sentido pensar únicamente en la ubicación física del servidor de origen.
Una infraestructura distribuida permite plantear la entrega de contenidos desde una perspectiva global.
Y eso es especialmente relevante en un momento en el que una página web puede convertirse en la principal puerta de entrada a un negocio.
CDN, caché y rendimiento: tres conceptos relacionados.
Podemos resumirlo de una forma muy sencilla:
Hosting: dónde se encuentra la infraestructura principal.
Caché: qué contenidos pueden almacenarse temporalmente para evitar repetir procesos.
CDN: desde qué puntos distribuidos pueden entregarse esos contenidos.
Los tres conceptos trabajan conjuntamente.
Y cuando se combinan con una buena configuración de WordPress, un código optimizado, imágenes correctamente preparadas y protocolos modernos de comunicación, se puede construir una arquitectura web mucho más eficiente.
La velocidad empieza mucho antes de que aparezca la página.
Cuando una web aparece rápidamente en la pantalla, el usuario normalmente no piensa en todo lo que ha ocurrido detrás.
No ve los servidores.
No ve la CDN.
No ve las cachés.
No ve las conexiones entre redes.
Simplemente ve una página que carga.
Pero detrás de esa aparente sencillez existe una infraestructura tecnológica que puede determinar en gran medida cómo se comporta la web.
En berhattan consideramos que esa parte invisible también forma parte del diseño web.
Por eso configuramos una CDN de Google Cloud para todos nuestros clientes, integrando la web con una infraestructura global con presencia en más de 150 datacenters repartidos por el mundo.
Porque diseñar una web no consiste solamente en decidir cómo se ve.
También consiste en decidir cómo llega hasta quien la está viendo.



