¿Qué es una CDN?
Una Red de Entrega de Contenidos (CDN, por sus siglas en inglés) es un grupo de servidores distribuidos geográficamente que se utilizan para almacenar archivos en caché a nivel local y conseguir velocidades de descarga más rápidas para los mercados nacionales e internacionales.
Las CDN ofrecen cientos de ubicaciones de centros de datos situados cerca de las regiones geográficas más pobladas del mundo, con equilibrio de carga en el tráfico de red que dirige las solicitudes al servidor web más cercano.
Las CDN se utilizan en el alojamiento web para almacenar en caché HTML, CSS, JavaScript, imágenes, vídeo y otros archivos para su descarga, con el fin de reducir la carga de un servidor central.
Al cambiar la configuración DNS de un dominio para que apunte a una CDN, todas las peticiones al servidor web principal se distribuyen a través de múltiples centros de datos a nivel internacional con equilibrio de carga en las peticiones de tráfico que construyen mejores velocidades de rendimiento.
Las CDN ofrecen funciones de seguridad integradas para los editores web que incluyen Denegación de servicio distribuida (DDoS), cortafuegos de aplicaciones web (WAF) y gestión de certificados SSL/TLS.
El uso de caché en sitios web de alto tráfico y aplicaciones móviles reduce el tamaño total de los archivos descargados mediante compresión y minificación, para que los usuarios naveguen más rápidamente por los contenidos.
Las CDN también soportan aplicaciones de streaming multimedia, juegos y comercio electrónico.
¿Cuál es la diferencia entre CDN y alojamiento?
En el alojamiento web, un servidor HTTP(S) debe soportar el procesamiento de bases de datos y lenguajes de programación para almacenar datos, recuperar información y publicar contenidos dinámicos.
En cambio, un servidor Red de Entrega de Contenidos (CDN) sólo almacena los archivos en caché de un sitio web o aplicación móvil.
Cuando se actualizan las visualizaciones de contenido dinámico, la caché se borra para repoblar los datos de la CDN.
Una CDN es más eficaz para servir páginas estáticas a usuarios anónimos a escala.
Por ejemplo, un sitio web WordPress que se ejecuta en un alojamiento compartido, VPS o servidor dedicado puede almacenar en caché el contenido web a través de un servicio CDN para distribuir las páginas globalmente y conseguir velocidades de descarga más rápidas.
El servidor web principal se utiliza para las páginas de usuarios registrados, que no pueden almacenarse en caché de forma eficiente en las CDN.
Un servidor web también admitirá correo electrónico, FTP, acceso SSH, etc., que no forman parte de la funcionalidad principal de una CDN.
Una red de servidores de borde es una solución híbrida que combina las funciones de red global distribuida de una CDN con la capacidad de un servidor web para procesar código.
La CDN de Cloudflare ofrece Cañón de riel solución para una mayor compatibilidad con las variables de usuario en el contenido del sitio web almacenado en caché.
Un ejemplo de CDN
Algunas de las soluciones CDN más populares del mercado actual son Cloudflare, Akamai, EdgeCast, Fastly, Limelight, AWS CloudFront, Azure, Google Cloud, OnApp y GoDaddy.
La CDN de Cloudflare es gratuita, incluye cientos de centros de datos internacionales y se integra de forma nativa con las cuentas de alojamiento de cPanel.
Otras CDN funcionan con integración incorporada en plataformas de nube pública.
Akamai, EdgeCast y Limelight son utilizados principalmente por sitios web empresariales y aplicaciones móviles de gran tráfico para dar soporte a software en la nube en producción.
Estos servicios ofrecen una optimización del streaming de vídeo que se escalará para dar soporte a los requisitos de eventos online en directo como las Olimpiadas o la SuperBowl.
El uso de la geolocalización a través de múltiples centros de datos mejora la capacidad de los sitios web de streaming multimedia para soportar millones de usuarios simultáneos en eventos en directo.
Conectar una aplicación web/móvil a una CDN como AWS, Google Cloud o Azure permite a los desarrolladores transformar el contenido dinámico en archivos planos comprimidos y minificados para conseguir las velocidades de descarga más rápidas en producción.
Cloudflare es gratuito y se utiliza más comúnmente en entornos de alojamiento compartido.
Los editores web pueden mejorar el rendimiento de los sitios web de WordPress, Joomla, Drupal y otros CMS integrándose con una CDN para la distribución global de archivos.
¿Cómo funciona una CDN?
Una CDN funciona mediante equilibrio de carga de proxy inverso que opera delante del servidor web y dirige las peticiones de tráfico web a páginas almacenadas en caché a través de centros de datos de todo el mundo.
Analizando el hardware de la red en tiempo real, el equilibrador de carga puede dirigir las peticiones al centro de datos más cercano a la geolocalización del usuario.
La combinación de la proximidad del servidor y el almacenamiento en caché de las páginas web permite que el contenido se descargue a velocidades inferiores a 1 segundo.
Una CDN ofrecerá velocidades de descarga más rápidas en producción que las que puede gestionar incluso un servidor web dedicado.
No es necesario que una CDN acceda a la base de datos o ejecute código para que un sitio web o una aplicación móvil sirva páginas en caché al usuario.
El equilibrador de carga puede determinar si dirigir las peticiones a las páginas almacenadas en caché o al servidor web principal en función de la disponibilidad de los archivos.
Las solicitudes anónimas se dirigen a los archivos almacenados en caché del centro de datos más cercano al usuario por geolocalización.
Si el usuario necesita datos y visualizaciones personalizados, las solicitudes se dirigen al servidor raíz para su procesamiento.
El servidor raíz puede funcionar en planes de alojamiento compartido, VPS o en un servidor dedicado.
Los desarrolladores también pueden integrar Funcionalidad CDN con una nube elástica y hardware multiclúster.
La clave es el equilibrador de carga CDN que gestiona el tráfico web global.
Bloques de construcción CDN (PoPs, caché, SSD/HDD + RAM)
Los principales componentes de una Red de Entrega de Contenidos (CDN) son servidores web ubicados en múltiples centros de datos internacionales conocidos como Puntos de Presencia (PoP).
The largest CDNs support hundreds of different PoPs in a unified network with load balancing.
Web content is stored on hard-disk drives (HDD), solid-state drives (SSD), or RAM depending on the service.
Las unidades de estado sólido (SSD) superarán a la tecnología tradicional de disco duro (HDD) con un procesamiento de peticiones de E/S 20 veces más rápido en el mismo servidor web.
Servir datos en caché desde la RAM del sistema es la solución más rápida.
El equilibrio de carga del proxy inverso puede respaldar los recursos de la red con almacenamiento HDD y SSD según los requisitos del proyecto, optimizando las transferencias con almacenamiento en caché RAM para las peticiones más populares.
Muchas CDN utilizan el aprendizaje automático (ML) para mejorar el equilibrio de carga.
Los más Puntos de Presencia (PdP) disponibles en una CDN suelen garantizar mejores tiempos de servicio.
Esto se debe a un mayor apoyo geolocalizador a los centros urbanos más poblados del mundo.
Las CDN más pequeñas pueden incluir sólo ubicaciones de centros de datos únicos en Norteamérica, Europa y Asia.
Cada PoP representa una ubicación de servidor en un único centro de datos que se integra con el equilibrio de carga de la red global.
De este modo, los usuarios de Nueva York o Tokio recibirán acceso al servidor local.
¿Qué es un proxy inverso?
A servidor proxy inverso se utiliza para gestionar el equilibrio de carga, el almacenamiento en caché de sitios web y la seguridad en una Red de Entrega de Contenidos (CDN).
Un servidor proxy tradicional funciona con la tarea de proteger a los clientes de una red mediante la aplicación de las políticas de seguridad unificadas que requieren las organizaciones.
Un servidor proxy inverso funciona protegiendo la infraestructura del servidor de peticiones maliciosas.
Un servidor proxy inverso actúa como agente intermedio entre las peticiones de los internautas y la infraestructura de la CDN. En servidor proxy inverso puede configurarse para reconocer la geolocalización, el tipo de dispositivo y el idioma del usuario, con el fin de dirigir la solicitud a archivos específicos o al hardware del centro de datos que transferirá la información con los tiempos de rendimiento más óptimos y la visualización correcta.
Se implementa el equilibrio de carga para gestionar los PoP en toda la infraestructura CDN.
Un servidor proxy inverso identificará qué solicitudes se envían desde usuarios anónimos de un sitio web o aplicación móvil y dirigirá sus solicitudes a páginas almacenadas en caché para su rápida satisfacción a través de centros de datos regionales.
Las solicitudes de páginas o información que no se almacenan en caché se envían al servidor raíz.
De este modo, una CDN puede gestionar cientos de PoP a nivel internacional para una única aplicación en la nube, replicando los datos para los usuarios regionales y reduciendo la velocidad de descarga a milisegundos.
¿Cuáles son las ventajas de utilizar una CDN?
Estudios sectoriales de Google han descubierto que cuando la velocidad de descarga de un sitio web aumenta de 1 a 5 segundos, la retención de usuarios en la plataforma disminuye hasta un 90%.
Esto es importante para los editores de comercio electrónico que necesitan convertir navegadores en clientes.
Como consecuencia, Google ha basado recientemente las clasificaciones SEO en la velocidad de descarga de la página web.
Si tu sitio web no se carga rápidamente, no será promocionado en los listados de búsqueda.
Las CDN son la mejor forma de conseguir tiempos de carga de página inferiores a 1 segundo en producción.
Esto se consigue mediante la compresión y minificación de HTML, CSS, JavaScript y otros archivos necesarios para que se cargue una página.
Cuando una página web se reduce a un archivo plano en una CDN, ya no requiere ejecutar la base de datos o el código en el servidor raíz y puede replicarse con geolocalización en cientos de instancias a nivel global.
Esto supera incluso a los servidores dedicados.
Para las empresas que se dedican al streaming de medios a grandes audiencias, una CDN proporciona la infraestructura necesaria para escalar a millones de usuarios simultáneos.
La misma tecnología soporta los sitios web y las aplicaciones móviles con mayores índices de tráfico en producción.
El coste de un servicio CDN es menor que el de un servidor web estándar, debido a la limitación del soporte de archivos planos.
Un servidor web procesa archivos almacenados en caché y comprimidos con mayor velocidad que las consultas a bases de datos.
¿Cómo mejora una CDN la velocidad y el rendimiento de un sitio web?
El principio fundamental de Red de Entrega de Contenidos (CDN) la optimización es la geoproximidad.
Internet funciona sobre la base de cables de fibra óptica de alta velocidad entre centros de datos que transfieren información a velocidades en torno a los 100 Mbit/s.
Las CDN ubican sus servidores en los puntos de unión de los cables de fibra óptica para poder servir páginas web a las velocidades más rápidas.
La geoproximidad también es la razón para establecer múltiples PoP en centros de datos internacionales en infraestructuras CDN.
En lugar de servir todas las solicitudes de red desde una única unidad de hardware, las CDN multiplican los datos por servidores regionales para conseguir velocidades de descarga más rápidas.
Esto permite a los usuarios de la Costa Este, la Costa Oeste, Europa, Asia, África y Australia conectarse a un centro de datos regional en lugar de a un servidor central, y reduce la distancia que deben recorrer los datos hasta el usuario final.
Al combinar la geolocalización con el almacenamiento en caché del sitio web y la minificación del tamaño de los archivos HTML, CSS, JavaScript, imágenes, secuencias de vídeo, etc., el tamaño total de la solicitud se reduce junto con la distancia que deben recorrer los datos.
De este modo, las funciones de equilibrio de carga del proxy inverso de la CDN son capaces de servir los datos al usuario por región en el tiempo más óptimo posible por el hardware.
Esto mejora significativamente el rendimiento general del sitio web y de las aplicaciones móviles.
¿Cómo mantiene una CDN un sitio web siempre en línea?
Una CDN suele soportar entre 5 y más de cien PoP diferentes en ubicaciones de centros de datos de todo el mundo.
La existencia de archivos almacenados en caché para tu sitio web o aplicación móvil en todos los servidores PoP de la red elimina un único punto de fallo para el hardware.
Aunque falle tu servidor web raíz, los datos se conservarán en la CDN hasta que se reinicie.
Un único servidor web también servirá páginas en caché a usuarios anónimos a través de un sitio web CMS correctamente configurado.
Sin embargo, si el hardware falla o si el tráfico web escala hasta llevarlo fuera de línea, no existen mecanismos inherentes de copia de seguridad o conmutación por error.
Una CDN no sólo reduce la presión sobre el servidor raíz mediante el almacenamiento en caché distribuido, sino que también preserva los datos en producción en caso de fallo del hardware.
Para conseguirlo, debes asignar la configuración DNS a la CDN.
Una CDN también protegerá un servidor web contra ataques DDoS escaneando las peticiones de E/S e identificando la actividad dañina basándose en la dirección IP o en patrones de comportamiento.
Una vez detectado un ataque, el usuario y la IP son puestos en cuarentena y en la lista negra por la protección del cortafuegos de la CDN.
Los ataques DDoS se mitigan aislando la actividad maliciosa e impidiendo que las peticiones afecten al hardware de producción.
De este modo, una CDN puede mantener un sitio web siempre en línea.
¿Cómo protege los datos una CDN?
La mayoría de los proveedores de CDN han incorporado el uso del aprendizaje automático (ML) en el tráfico de red para identificar patrones comunes de uso para la protección del cortafuegos.
Las CDN están diseñadas para reconocer la actividad maliciosa como parte de las capacidades de equilibrio de carga de la servidor proxy inverso.
Known spam and hacker domains can be blocked by IP address or at the ISP level for blacklisting.
Un proveedor de CDN es la mejor forma de mitigar los ataques DDoS para sitios web y aplicaciones móviles en producción activa.
El servicio CDN impide que los ataques maliciosos lleguen al servidor raíz.
Los robots de secuencias de comandos suelen dirigirse a los formularios de inicio de sesión y de contacto de un sitio web para realizar ataques de inyección MySQL.
El alojamiento CDN con un servidor proxy inverso escaneará las solicitudes maliciosas con antelación para reconocer la actividad de los robots de secuencia de comandos y evitar que se dirijan a páginas o formularios.
Un servidor CDN está distribuido en varios centros de datos con un diseño de conmutación por error que protegerá al servidor web raíz en caso de oleadas de tráfico que, de otro modo, dejarían el sistema fuera de servicio.
Algunos proveedores de servicios CDN también ofrecen gestión de certificados SSL/TLS para cifrar las conexiones de datos y mantener la seguridad de la nube.
Los cortafuegos de aplicaciones web (WAF) protegen el software en ejecución de los ataques de piratas informáticos aplicando las técnicas de seguridad reforzadas de la red a las aplicaciones.
¿Cómo reduce una CDN los costes de ancho de banda?
Un servidor CDN no ejecuta ningún lenguaje de programación, script o funcionalidad de base de datos.
Al limitar el servicio CDN a archivos en caché comprimidos y minificados, el hardware puede funcionar con mayor eficacia y velocidad de E/S.
Al ubicar los servidores en múltiples centros de datos internacionales, se reduce el coste del ancho de banda mediante el uso de la geoproximidad a los clientes locales.
El uso de ML con un equilibrador de carga CDN permite al sistema calcular la distancia del usuario al servidor con mayor precisión para una mejor optimización.
Al eliminar la carga principal de tráfico web del servidor raíz, los editores web pueden recibir del proveedor de la CDN costes más bajos en ancho de banda que una empresa de alojamiento web.
Una interrupción de la CDN es rara en comparación con la caída de un único servidor en producción.
Eliminar la carga de tráfico de un servidor conlleva un mejor tiempo de actividad.
¿Cómo elegir un proveedor de CDN?
La elección del mejor proveedor de CDN depende del presupuesto del proyecto, la experiencia del equipo de desarrollo, la cantidad total de tráfico web que se va a soportar y la plataforma que se utilice para el alojamiento en la nube.
Cloudflare se ha convertido en el mayor proveedor de CDN del mundo gracias a sus servicios gratuitos a los usuarios de alojamiento compartido en cPanel.
Otros servicios como Akamai, EdgeCast y Limelight se centran en los requisitos del comercio electrónico empresarial y el streaming de medios.
Los servicios CDN de AWS, Google Cloud y Azure están integrados con plataformas en la nube.
Los sitios web con los niveles más altos de tráfico que soportar pueden considerar la utilización de servicios CDN de proveedores de telecomunicaciones.
El factor decisivo más importante entre los proveedores de CDN es el número de PoP o ubicaciones de centros de datos disponibles internacionalmente.
Sin embargo, la escala de una Red de Entrega de Contenidos (CDN) debe corresponderse con las velocidades de rendimiento.
Las instalaciones de equilibrio de carga, el servidor proxy inverso y la configuración de hardware de un proveedor de CDN deben funcionar con velocidades de élite para permitir el almacenamiento en caché de páginas web que se cargan en menos de 1 segundo.
Las marcas empresariales, los servicios de streaming multimedia y los sitios web independientes de comercio electrónico tienen requisitos diferentes para una plataforma CDN, aunque la funcionalidad básica sigue siendo la misma.
La relación coste-rendimiento impulsa Adopción de CDN para cumplir los requisitos de publicación web, comercio electrónico, redes sociales y soporte de aplicaciones móviles.
Busca los servicios CDN con más experiencia en proporcionar infraestructura para eventos de talla mundial con soporte de streaming multimedia.
Elige servicios CDN rentables para proyectos de presupuesto que alivien la carga de los servidores web sin quebrar la producción.
Favorece el equilibrio de carga con el mayor número de centros de datos a través de una red internacional, y busca la innovación en los proveedores de servicios CDN.
Aunque es difícil comparar los proveedores de CDN de las distintas plataformas, conociendo claramente los requisitos de desarrollo que deben soportarse en producción, los responsables de TI pueden tomar la mejor decisión sobre los proveedores.
Confía en tu equipo de desarrollo y elige la plataforma CDN que soporte el código de tus aplicaciones.
Equilibra el coste total de los servicios con el rendimiento optimizado que ofrece la plataforma para elegir el mejor alojamiento CDN para tus proyectos.