¿Qué es una CDN, cómo funciona y por qué debería utilizar una?
Publicado: 2016-03-22Imagine un mundo en el que cada página web se cargue instantáneamente, sin un solo milisegundo de tiempo de espera. Aunque esto todavía no es posible, están surgiendo tecnologías que nos están ayudando a acercarnos unos pasos más.
Una red de entrega de contenidos (o CDN para abreviar) es uno de los pasos para lograr este objetivo.
En este artículo, explicaré qué es una CDN, cómo se compara un modelo de CDN con el modelo de alojamiento web tradicional, analizaré los pros y los contras de usar una CDN para su sitio web y, por último, le mostraré cómo iniciar su sitio web. con una CDN.
¿Qué es una CDN?
Una CDN es un sistema de servidores web, dispersos geográficamente por todo el mundo, cada uno de los cuales aloja una copia de su sitio web, para mejorar la forma en que se entrega su contenido a sus usuarios.
¿Cuál es el propósito principal de una CDN?
El objetivo principal de una CDN es ofrecer el contenido de su sitio web de manera más eficiente ( es decir, más rápida ) a los usuarios finales.
Si utiliza una CDN, cuando un usuario carga el contenido de su sitio web, el servidor CDN más cercano al usuario proporcionará ese contenido.
Debido a que el contenido tiene que recorrer menos distancia, llega al usuario más rápido, lo que significa que los tiempos de carga de su sitio web son más rápidos.
Sin embargo, como veremos, ¡esa no es la única ventaja de usar una CDN!
¿Cómo funciona una CDN?
Como ya hemos comentado, cuando utiliza una CDN como parte de su configuración de alojamiento web, cada uno de los servidores de la red aloja una copia de su sitio web.
Estos servidores CDN se denominan servidores "periféricos" porque están en el perímetro de la red y más cerca de los usuarios.
Esto contrasta con el servidor de “origen”, que proporciona su empresa de alojamiento web y es donde sus archivos se cargan y almacenan automáticamente cuando crea y actualiza su sitio web.
Quizás se pregunte cómo llega su sitio web desde el servidor de origen a estos servidores perimetrales.
Bueno, eso depende de si lo tuyo es un CDN push o pull …
¿Qué es Pull CDN (y cómo funciona)?
Una configuración de extracción de CDN funciona extrayendo archivos del servidor de origen , cuando sean necesarios.
La primera vez que un usuario solicita un archivo, el servidor perimetral deberá leer el archivo desde su servidor de origen (es decir, su proveedor de alojamiento actual).
Luego, el servidor perimetral almacenará una versión en caché de ese archivo. Una versión "en caché" simplemente significa una copia del archivo de ese momento particular.
Las solicitudes futuras del archivo provendrán directamente del servidor perimetral (en lugar de extraerse del servidor de origen), hasta que el archivo caduque (quede obsoleto).
Después de la expiración, será necesario actualizar nuevamente el archivo desde el servidor de origen y almacenarlo en caché.
¿Qué es una Push CDN (y cómo funciona)?
Una CDN push permite a los usuarios cargar ("enviar") sus archivos a la propia CDN y, una vez cargados, los archivos se distribuyen inmediatamente a los servidores perimetrales.
Por lo tanto, sus archivos ya están almacenados en cada servidor perimetral, sin necesidad de extraerlos de un servidor de origen.
Esta es una opción menos común; sin embargo, es ventajoso para distribuir archivos multimedia de gran tamaño , ya que siempre se almacenará una copia de los medios en los servidores perimetrales.
¿Un CDN reemplaza su alojamiento web?
No, una CDN no reemplaza tu alojamiento web . Trabajan en conjunto.
Todos sus archivos originales se almacenan en el servidor de su proveedor de alojamiento web. Este es el servidor de origen.
Los servidores CDN solo contienen copias de los archivos en el servidor de origen.
Si se deshace de su alojamiento web, ¡la CDN no tendrá ningún lugar desde donde copiar los archivos!
Vídeo resumen de una CDN
Si todavía estás un poco confundido, aquí tienes un vídeo rápido que explica una CDN en términos muy simples:
El problema del alojamiento web sin CDN
Con el modelo de alojamiento web tradicional, todos los archivos de su sitio web (HTML, CSS, imágenes, etc.) se alojan en un lugar del mundo, básicamente dondequiera que se encuentre el centro de datos de su proveedor de alojamiento web.
Cuando los usuarios finales acceden a su sitio web, el contenido del sitio siempre se recupera desde esta única ubicación .
Esto tiene varias desventajas:
1. Las velocidades disminuyen con la distancia
Si el centro de datos de su proveedor de alojamiento web está ubicado en Texas, cada vez que un usuario quiera cargar su sitio web, el contenido se entregará desde ese centro de datos de Texas.
Las velocidades de transferencia tienden a disminuir cuanto más lejos se encuentra geográficamente el usuario de su servidor, ya que los archivos necesitan viajar una distancia mayor. Cuanto más lejos esté un usuario del centro de datos, más tardará en cargarse su sitio web.
Por lo tanto, un usuario de un sitio web en el Reino Unido cargará su sitio web más lentamente que un usuario en los EE. UU., debido a su proximidad al centro de datos de Texas.
2. Tarifas de transferencia limitadas
Considere una situación en la que varios usuarios intentan cargar su sitio web al mismo tiempo.
Así como su computadora personal tiene limitaciones en cuanto a la velocidad con la que se pueden transferir archivos a través de la red (tasa de rendimiento), los servidores también tienen limitaciones en cuanto a la velocidad con la que pueden transferir archivos.
¿Está preparado su alojamiento web actual para tal aumento de tráfico?
Considere específicamente las soluciones de alojamiento compartido, donde no se especifican las tasas de transferencia. En estos y otros entornos, las tasas de transferencia pueden ser bastante limitadas, lo que puede tener como resultado un impacto notable en el rendimiento cuando hay un aumento en el tráfico a su sitio web.
Por estos motivos, un aumento en el tráfico puede aumentar los tiempos de carga de su sitio web, ya que el contenido del sitio web se envía a todos los usuarios finales a la vez.
Las ventajas de utilizar una CDN
Con un modelo CDN, podemos superar las desventajas del modelo de alojamiento web tradicional. De hecho, una CDN tiene varias ventajas, como:
1. Tiempos de carga más rápidos (al servir contenido desde el servidor más cercano al usuario)
Recuerde que cuanto más lejos esté el usuario del centro de datos de su proveedor de alojamiento, más tardará en cargarse su sitio web, ya que los archivos deben transferirse a una distancia mayor.
Una CDN ofrecerá contenido desde un servidor perimetral que sea el más cercano o el más eficiente para cada usuario final individual, según su ubicación en el mundo.
Por ejemplo, si alguien en China cargara su sitio web, la CDN podría cargar automáticamente una copia del contenido de su sitio web desde un servidor en China. Si alguien accediera a su sitio desde el Reino Unido, se podría utilizar un servidor en el Reino Unido para cargar su sitio web para ese usuario específico.
La CDN determinará automáticamente qué servidor es la opción más eficiente para cada usuario final.
2. Mejor manejo de picos de tráfico (mediante transferencia dispersa de archivos)
Como se mencionó anteriormente, los servidores contienen restricciones sobre la cantidad de datos que se pueden transferir a través de ellos a la vez. Una CDN ayuda a mejorar el rendimiento de su sitio web cuando varios usuarios intentan acceder a él a la vez.
Dada la naturaleza de cómo funciona CDN, las solicitudes simultáneas a su sitio web probablemente serán manejadas por múltiples servidores en múltiples áreas en todo el mundo, dependiendo de dónde provengan las solicitudes.
De esta manera, un servidor en particular no se ve inundado con todas las solicitudes de los usuarios. Los proveedores de CDN también implementarán otros procedimientos para garantizar que sus archivos se carguen de manera eficiente incluso en medio de un aumento en el tráfico.
3. Mejor seguridad (mediante mitigación y protección DDoS)
Un ataque DDoS ocurre cuando su servidor se inunda con solicitudes ilegítimas para su sitio web, con el propósito de bloquear su sitio o causar mayores cargos de ancho de banda debido a una transferencia excesiva.
Es probable que su proveedor de CDN ofrezca mecanismos de detección y mitigación de DDoS, que ayudarán a mejorar el rendimiento y el tiempo de actividad de su sitio web en medio de un ataque DDoS.
Las desventajas de utilizar una CDN
Sin embargo, existen un par de desventajas al utilizar una CDN.
1. Costo: las CDN suelen ser de pago por uso
Los proveedores de CDN suelen cobrar en función de la cantidad de contenido que se transfiere. Debido a esto, su costo mensual varía según el mes .
Es posible que su proveedor de alojamiento web actual ya incluya una cierta cantidad de transferencia mensual como parte de su paquete de alojamiento actual; por lo tanto, deberá considerar si el costo adicional de CDN es viable para la presencia en línea de su empresa.
Tenga en cuenta que los proveedores de “CDN push” a menudo también cobran por el espacio de almacenamiento (ver más abajo).
Para ayudarle a comprender cuánto le costará la transición a la nube, considere el siguiente escenario...
Digamos que el tamaño de su sitio web es de 1 MB y su proveedor de CDN cobra $ 0,085 por GB de transferencia. El costo de que 10.000 usuarios accedan a todo su sitio web sería: ((1/1024)×10.000) ÷ 0,085 = 114 centavos, o 1,14 dólares por 10.000 solicitudes .
Como puede ver, este no es un costo escandaloso.
Sin embargo, muchas ofertas de CDN leen sus archivos desde su ubicación de almacenamiento con su proveedor de alojamiento actual, lo que supone un coste adicional. Este servidor de origen podría ser un sistema de almacenamiento de archivos como Amazon S3, o podría ser su proveedor de alojamiento actual.
Si su sitio web contiene contenido dinámico, aún necesitará mantener una solución de alojamiento que pueda procesar ese tipo de archivos.
Dado que las soluciones CDN suelen ser de pago por uso, un ataque DDoS podría ser financieramente desfavorable: el drástico aumento en las transferencias de archivos causado por este tipo de ataque resultaría en un mayor costo para su negocio.
Sin embargo, los proveedores de CDN están trabajando para detectar y mitigar este tipo de ataques, como se mencionó anteriormente.
Nota: muchos de los mejores proveedores de alojamiento web ahora incluyen servicios CDN gratuitos en sus planes.
2. Se necesita configuración adicional para almacenar en caché el contenido cambiante
Tenga en cuenta que una CDN funciona almacenando en caché copias del contenido de su sitio web en todo el mundo.
Sin embargo, la mayoría de los sitios web incluyen algún contenido que cambia dependiendo del usuario específico que accede al sitio web u otros criterios (mensajes de bienvenida para un usuario específico, carritos de compras, etc.).
Este tipo de contenido no es tan fácil de almacenar en caché en todo el mundo, ya que se actualiza constantemente por solicitud.
Los archivos de streaming son otra forma de contenido que requiere especial atención para su uso en la CDN. Consulte a continuación para obtener más detalles.
Otras consideraciones sobre CDN
Actualizar el caché de archivos al actualizar sus archivos
Cuando necesite actualizar uno de sus archivos mediante una CDN de extracción, todas las copias en caché en todo el mundo también deberán caducar para que se actualicen en la siguiente solicitud.
Para que esto suceda, es posible que deba esperar el tiempo de vencimiento predeterminado (que varía según el proveedor) o forzar la invalidación inmediata de los archivos almacenados en caché (borrando el caché manualmente).
Aunque actualizar sus archivos puede implicar este paso adicional, es probable que los archivos estáticos de su sitio web no se actualicen con demasiada frecuencia.
Garantizar un tiempo de caducidad suficiente para los archivos a los que se accede con poca frecuencia
Las soluciones Pull CDN no necesariamente contienen una copia de sus archivos en cada servidor perimetral en todo momento (se analiza con más detalle a continuación). Si aún no existe una versión almacenada en caché de un archivo, el archivo debe extraerse del servidor de origen.
Esto es más un problema para archivos más grandes, como videos, ya que el impacto en el rendimiento al cargar este tipo de archivos desde el servidor de origen puede sentirse de manera bastante significativa.
Algunas soluciones a este problema son aumentar el tiempo de caducidad del archivo en caché (si es posible), de modo que no sea necesario actualizar el archivo desde el servidor de origen con tanta frecuencia, o almacenar archivos grandes en una solución CDN push (consulte a continuación ).
Contenido estático versus dinámico
Los sitios web contienen dos tipos principales de datos: contenido estático y contenido dinámico.
La mayor parte del contenido que ve en un sitio web (es decir, la apariencia, las imágenes, los videos, los archivos CSS y JavaScript, etc.) suele ser contenido estático. El contenido estático nunca cambia (a menos que vuelva a cargar el archivo fuente).
Por ejemplo, la apariencia del logotipo de su empresa no cambiará, sin importar quién visite su sitio web o cuántas veces recargue la página.
El contenido dinámico cambia según quién solicita los datos u otros criterios.
Por ejemplo, cuando John inicia sesión en su cuenta bancaria, ve sus saldos. Sin embargo, cuando David inicia sesión, los saldos no son los mismos que los que ve Joe.
Como otro ejemplo: después de iniciar sesión en el panel de WordPress, verá un mensaje como "¡Hola, John!".
El contenido que cambia según el usuario u otros criterios se considera contenido dinámico.
¿Cómo maneja una CDN el contenido estático, dinámico y de streaming?
Llegados a este punto llegamos a una pregunta importante: “¿Qué tipo de archivos puedo almacenar en el CDN?”.
Dado que los archivos estáticos tienden a permanecer iguales en todo momento sin importar quién cargue su sitio web, son ideales para almacenarse en caché en todo el mundo a través de una CDN, ya que los archivos se actualizan con poca frecuencia.
En cuanto al contenido dinámico (es decir, un carrito de compras), generalmente no hay un solo archivo que pueda almacenarse en caché en todo el mundo, ya que a menudo cambia para cada usuario u otros criterios.
Sin embargo, los proveedores de CDN están implementando soluciones para mejorar la eficiencia de la carga de contenido dinámico, como encontrar la ruta más rápida entre el usuario y su servidor de alojamiento.
Muchos proveedores de CDN también han implementado soluciones para transmitir medios en vivo y bajo demanda a través de una CDN.
Cómo configurar una CDN
Ahora probablemente estés pensando: “¡Estoy convencido de que mi sitio web necesita una CDN! ¿Cómo hago la transición?”.
La respuesta depende del proveedor de alojamiento que utilice y del tipo de solución CDN que desee.
Algunos proveedores de alojamiento web ofrecen una opción para habilitar CDN fácilmente a través de su panel de control. Otras configuraciones requieren algunos pasos adicionales.
Agregue una capa CDN a todo su sitio web
Esta opción es una de las más sencillas de configurar para propietarios de pequeñas empresas. Cada solicitud de los usuarios para acceder al contenido de su sitio web se filtrará primero a través de un sistema administrado por un proveedor de CDN.
El contenido estático se cargará desde la CDN, mientras que el contenido dinámico se cargará directamente desde su servidor existente (o se podría utilizar una técnica para mejorar el tiempo de carga del contenido dinámico, como se analizó anteriormente).
De hecho, se implementará una CDN de extracción detrás de escena para distribuir archivos a través de la CDN.
CloudFlare es una de esas empresas que ofrece este tipo de solución CDN. Algunas empresas, como CloudFlare, también proporcionarán otras mejoras para el rendimiento de su sitio web más allá de la CDN.
Cómo configurarlo
El paso principal para configurar este tipo de sistema CDN es actualizar los registros DNS de su sitio web para que apunten a la capa CDN. Luego, la capa CDN enrutará las solicitudes a su servidor de origen según sea necesario.
Aún deberá conservar su solución de alojamiento actual para que la CDN pueda extraer archivos de ella.
Cómo configurar una CDN Pull
Usted especifica la ubicación de sus archivos en su servidor de origen para distribuirlos en la CDN. Luego, la CDN extraerá los archivos del servidor de origen según sea necesario.
También deberá actualizar los enlaces a los archivos de su sitio web en el punto final de la CDN o actualizar su configuración de DNS para que apunte a la CDN.
Cómo configurar una CDN Push
Cargue sus archivos al proveedor de CDN. También deberá actualizar los enlaces a los archivos de su sitio web en el punto final de la CDN o actualizar su configuración de DNS para que apunte a la CDN.
¿Debo dejar mi proveedor de alojamiento web?
No. Incluso después de comprar una solución CDN, deberá permanecer con un proveedor de alojamiento web.
Tenga en cuenta que una CDN se utiliza para almacenar en caché el contenido; Si su sitio web contiene contenido dinámico, aún deberá conservar su solución de alojamiento actual para poder procesar ese contenido.
¿Qué empresas de hosting ofrecen una CDN?
Muchas empresas de alojamiento ofrecen una CDN como parte de sus planes de alojamiento compartido en la actualidad:
- SiteGround (use su propio CDN de SiteGround personalizado)
- Bluehost (Cloudflare está prehabilitado)
- Kinsta (se incluye un plan pago de Cloudflare de forma gratuita)
- WP Engine (se incluye un plan pago de Cloudflare de forma gratuita)
- HostGator (Cloudflare está incluido solo en el plan Business)
- IONOS (Cloudflare solo está incluido en el plan Expert)
- Cloudways (Cloudflare Enterprise se puede agregar por solo $4,99 al mes)
Conclusión
Las CDN son una solución viable para mejorar la eficiencia de su sitio web al reducir el tiempo necesario para transferir archivos a los usuarios. Esto probablemente sirve para aumentar la retención de clientes en su sitio web y posiblemente incluso mejorar su clasificación en los resultados de búsqueda.
Las CDN también reducirán la carga de solicitudes de archivos en su configuración de alojamiento actual, lo que puede ayudar a manejar grandes volúmenes de tráfico.
Sin embargo, una CDN suele tener un coste mayor. Su sitio web merece la mejora de rendimiento que podría ofrecer una CDN, pero los beneficios deben superar los costos potenciales y otras compensaciones.
No olvide que una CDN es sólo uno de los muchos pasos que puede seguir para mejorar el rendimiento de su sitio web. Elegir un proveedor de alojamiento web rápido es el primero (y el más importante).
¡Y también hay muchas otras cosas que puedes hacer para aumentar en general la velocidad de tu sitio web (como la compresión de imágenes) y mejorar específicamente los tiempos de carga de tu sitio web de WordPress!
¿Ha utilizado una CDN para su sitio web? ¡Háganos saber en los comentarios a continuación lo que piensa sobre las CDN!