Los caminos del contenido son insondables o hablemos de CDN

Los caminos del contenido son insondables o hablemos de CDN

Descargo de responsabilidad:
Este artículo no contiene información previamente desconocida para los lectores familiarizados con el concepto de CDN, sino que tiene un carácter de revisión de la tecnología.

La primera página web apareció en 1990 y tenía un tamaño de solo unos pocos bytes. Desde entonces, el contenido se ha escalado tanto cualitativa como cuantitativamente. El desarrollo del ecosistema de TI ha llevado a que las páginas web modernas se midan en megabytes y la tendencia hacia un aumento en la capacidad de las redes se fortalece con cada año que pasa. ¿Cómo pueden los proveedores de contenido alcanzar grandes escalas geográficas y asegurar que los usuarios tengan acceso a información de alta velocidad en todo momento? Estas son las tareas que deben manejar las redes de entrega y distribución de contenido, conocidas como Content Delivery Network o simplemente CDN.

En Internet hay cada vez más contenido 'pesado'. Al mismo tiempo, numerosas investigaciones muestran que los usuarios no quieren lidiar con los servicios web si estos tardan más de 4-5 segundos en cargar. Una velocidad de carga demasiado baja puede llevar a la pérdida de audiencia, lo que a su vez resultará en una disminución del tráfico, la conversión y, por ende, de las ganancias. Las redes de entrega de contenido (CDN), en teoría, permiten eliminar estos problemas y sus consecuencias. Pero, en la práctica, como es habitual, son los detalles y matices del caso específico los que importan, y estos son abundantes en este ámbito.

¿De dónde surgió la idea de las redes distribuidas?

Comencemos con una breve excursión a la historia y la definición de términos. CDN es una red de un grupo de máquinas servidoras ubicadas en diferentes lugares para proporcionar acceso al contenido de Internet con un alcance a una gran cantidad de usuarios. La idea de redes distribuidas radica en la existencia de varios puntos de presencia (PoP) que se encuentran fuera del servidor de origen. Este sistema procesará más rápidamente el volumen de solicitudes entrantes, aumentando la respuesta y la velocidad de transmisión de cualquier dato.

El problema de la entrega de contenido a los usuarios surgió de manera aguda en el apogeo de Internet, es decir, a mediados de los años 90. Los servidores de aquel entonces, cuya rendimiento no alcanzaba ni siquiera a los modernos laptops insignia, apenas soportaban la carga y no podían manejar el tráfico en constante crecimiento. Microsoft gastaba cientos de millones de dólares anualmente en investigaciones relacionadas con la autopista de la información (viene a la mente la famosa afirmación de Bill Gates sobre los 640 KB). Para resolver estos problemas, era necesario implementar caché jerárquica, pasar de módems a fibra óptica y analizar detalladamente la topología de las redes. La situación era similar a la de una antigua locomotora que avanza por las vías y se moderniza por todos los medios posibles para aumentar su velocidad.

A finales de los años 90, los propietarios de portales web comprendieron que era necesario utilizar servidores intermediarios para disminuir la carga y satisfacer las demandas requeridas. Así aparecieron las primeras CDN, que distribuían contenido estático desde diferentes servidores, geográficamente dispersos por el mundo. Aproximadamente en esta misma época, también surgió el negocio de redes distribuidas. El mayor (al menos uno de los más grandes) proveedor de CDN en el mundo, la empresa Akamai, se convirtió en pionera en este campo, comenzando su camino en 1998. Un par de años después, las CDN se volvieron masivas, y los ingresos por la entrega y contribución de contenido se contaban en decenas de millones de dólares mensuales.

Hoy en día, nos encontramos con CDN cada vez que accedemos a una página comercial con alto tráfico o interactuamos en redes sociales. Este servicio es proporcionado por: Amazon, Cloudflare, Akamai, así como muchos otros proveedores transnacionales. Además, las grandes empresas buscan utilizar sus propias CDN, lo que les ofrece una serie de ventajas en velocidad y calidad de entrega de contenido. Si Facebook no tuviera redes distribuidas y se limitara a un solo servidor ubicado en EE. UU., la carga de perfil para los usuarios de Europa del Este podría llevar mucho más tiempo.

Unas palabras sobre CDN y streaming

La agencia FutureSource Consulting realizó un análisis de la industria musical y concluyó que en 2023 el número de suscripciones a servicios de streaming musical alcanzará casi medio billón de personas. Además, más del 90% de los ingresos de los servicios provendrán específicamente de audio en streaming. La situación con el video es similar, ya se han consolidado términos como: let's play, concierto en línea y cine en línea en el lenguaje popular. Apple, Google, YouTube y muchas otras compañías tienen sus propios servicios de streaming.

En su presentación inicial, el CDN se utilizaba principalmente para sitios con contenido estático. Se denomina estático a la información que no cambia en función de las acciones del usuario, el tiempo y otros factores, es decir, no es personalizada. Sin embargo, el desarrollo de servicios de video y audio en streaming ha añadido otro escenario común para el uso de redes distribuidas. Los servidores intermediarios, al estar cerca de la audiencia objetivo en todo el mundo, permiten asegurar un acceso estable al contenido durante períodos de alta carga, eliminando la falta de 'cuellos de botella' en internet.

¿Cómo funciona?

La esencia de todos los CDN es aproximadamente la misma: utilizar intermediarios para poder entregar el contenido más rápido al consumidor final. Funciona de la siguiente manera: el usuario envía una solicitud para cargar un archivo, la recibe el servidor CDN, que contacta una vez al servidor original y entrega el contenido al usuario. Paralelamente, el CDN almacena en caché los archivos durante un período de tiempo determinado y ya todas las solicitudes subsiguientes las procesa desde su propia caché. Opcionalmente, también pueden pre-cargar archivos desde el servidor original, establecer el tiempo de almacenamiento en caché, comprimir archivos pesados y mucho más. En la situación más ideal, el host transfiere todo el flujo a un nodo CDN, que ya utiliza sus propios recursos para entregar el contenido a los usuarios. Por supuesto, un almacenamiento efectivo de información en caché, así como la distribución de solicitudes no en un solo servidor, sino en la red, resultará en una carga de tráfico más equilibrada.

Los caminos del contenido son insondables o hablemos de CDN
Una segunda característica importante de las redes CDN es la reducción de la latencia en la transferencia de datos (también conocida como RTT – round trip time). La conexión TCP, la carga de contenido multimedia, el archivo JS, el inicio de una sesión TLS, todo esto depende del ping. Es evidente que cuanto más cerca estés de la fuente, más rápido podrás obtener respuesta de ella. De hecho, incluso la velocidad de la luz tiene su límite: alrededor de 200 mil km/s por fibra óptica. Esto significa que la latencia de Moscú a Washington será de aproximadamente 75 ms en RTT, y esto sin contar el hardware intermedio.

Para entender mejor qué tareas resuelven las redes de distribución de contenido, presentemos una lista de soluciones actuales:

  • Google, Yandex, MaxCDN (utilizan CDN gratuitos para distribuir bibliotecas JS, tienen más de 90 puntos de presencia en la mayoría de los países del mundo);
  • Cloudinary, Cloudimage, Google (servicios y bibliotecas de optimización del lado del cliente: imágenes, videos, fuentes, etc.);
  • Jetpack, Incapsula, Swarmify, etc. (optimización de recursos en sistemas de gestión de contenido: bitrix, wordpress, etc.);
  • CDNVideo, StackPath, NGENIX, Megafon (CDN para la distribución de contenido estático, utilizados como redes de propósito general);
  • Imperva, Cloudflare (soluciones para acelerar la carga de sitios web).

Los primeros 3 tipos de CDN de la lista presentada están diseñados para transferir solo una parte del tráfico desde el servidor principal. Los 2 restantes se utilizan como servidores proxy completos con la transferencia total de canales desde el host original.

¿A quién y qué beneficios ofrece la tecnología?

En teoría, cualquier sitio que venda sus productos/servicios a clientes corporativos o individuos (B2B o B2C) puede beneficiarse de la implementación de un CDN. Es importante que su audiencia objetivo, es decir, la base de usuarios, esté fuera de su ubicación geográfica. Pero incluso si esto no es así, las redes de distribución ayudarán con el balanceo de carga en grandes volúmenes de contenido.

No es un secreto que para saturar un canal de servidor son suficientes unos pocos miles de flujos. Por lo tanto, la transmisión de video a grandes masas inevitablemente conducirá a un cuello de botella: la capacidad de ancho de banda del canal de Internet. Lo mismo sucede cuando en un sitio hay numerosas imágenes pequeñas no unificadas (como las miniaturas de productos, por ejemplo). El servidor de origen utiliza una única conexión TCP al procesar cualquier cantidad de solicitudes, lo que genera una carga en cola. La adición de un CDN implica la necesidad de distribuir las solicitudes entre varios dominios y utilizar múltiples conexiones TCP, aliviando así el canal. La fórmula de latencia circular, incluso en las peores circunstancias, da un valor de 6-7 RTT y toma la forma: TCP+TLS+DNS. También se deben incluir las latencias relacionadas con la activación del canal de radio en el dispositivo y la transmisión de la señal a las torres de telefonía celular.

Resumiendo los puntos fuertes de la tecnología para negocios en Internet, los especialistas destacan los siguientes aspectos:

  1. Escalabilidad rápida de la infraestructura + reducción del ancho de banda. Más servidores = más puntos donde se almacena la información. Como resultado, un punto procesa menos tráfico en un tiempo determinado, lo que significa que puede tener una menor capacidad de ancho de banda. Además, entran en juego herramientas de optimización, lo que permite manejar cargas pico sin pérdida de tiempo.
  2. Menor ping. Ya hemos mencionado que a las personas no les gusta esperar mucho tiempo en Internet. Por lo tanto, un ping alto contribuye a altas tasas de rebote. La latencia puede deberse a problemas de procesamiento de datos en el servidor, uso de hardware antiguo o simplemente una topología de red mal pensada. La mayoría de estos problemas se resuelven en parte con redes de distribución de contenido. Sin embargo, es importante señalar que el verdadero beneficio del uso de la tecnología solo se verá cuando el 'ping del consumidor' supere los 80-90 ms, lo que representa la distancia desde Moscú a Nueva York.

    Los caminos del contenido son insondables o hablemos de CDN

  3. Seguridad de datos. Los DDoS (ataques de tipo 'denegación de servicio') están dirigidos a causar fallos en el funcionamiento del servidor con el fin de obtener algún beneficio. Un servidor es mucho más vulnerable a los riesgos de seguridad informática que una red distribuida (destruir la infraestructura de un gigante como CloudFlare no es una tarea fácil). Gracias al uso de filtros y una distribución adecuada de las solicitudes a través de la red, se pueden prevenir problemas artificialmente creados con el acceso al tráfico legítimo sin problemas.
  4. Distribución rápida de contenido y funciones de servicio adicionales. Distribuir grandes volúmenes de información en la red de servidores permitirá llevar la oferta más rápidamente al consumidor final. No hay que ir muy lejos para encontrar ejemplos: solo hay que recordar a Amazon y AliExpress.
  5. Capacidad de "enmascarar" problemas con el sitio principal. No es necesario esperar a que se actualicen los DNS, se puede redirigir a una nueva ubicación con la entrega de contenido previamente en caché. Esto, a su vez, puede mejorar la resistencia a fallos.

Ya hemos abordado las ventajas. Ahora, veamos a qué nichos les conviene esto.

Negocios publicitarios

La publicidad es el motor del progreso. Y para que el motor no se queme, debe ser sometido a carga moderada. Así, el negocio publicitario, al intentar mantenerse al día con el mundo digital moderno, se enfrenta a problemas de "contenido pesado". Se considera que el contenido pesado es la publicidad multimedia (principalmente banners animados y videos), que requiere altas capacidades de red. Un sitio web con multimedia tarda mucho en cargarse y puede colapsar, probando la paciencia de los usuarios. La mayoría se retira de tales recursos incluso antes de que carguen toda la información disponible. Las agencias publicitarias pueden aprovechar las ventajas de un CDN para resolver estos problemas.

Ventas

El comercio electrónico necesita una expansión constante de su cobertura geográfica. Otro aspecto importante es la competencia, que es abundante en cada segmento del mercado. Si un sitio web no cumple con los requisitos del usuario (incluyendo tiempos de carga largos), no será popular y no podrá generar una conversión establemente alta. La implementación de un CDN debe mostrar sus ventajas al procesar solicitudes de datos desde diferentes lugares. Además, la distribución del tráfico ayudará a prevenir picos y los subsiguientes fallos en el funcionamiento del servidor.

Plataformas de contenido de entretenimiento

Aquí encajan todo tipo de plataformas de entretenimiento, desde la carga de películas y juegos hasta el video en streaming. Aunque la tecnología trabaja con datos estáticos, los datos en streaming pueden llegar más rápido al usuario a través de retransmisores. Nuevamente, la caché de información de un CDN es un salvavidas para los propietarios de grandes portales de multimedia.

Juegos en línea

Los juegos en internet deben ser considerados como un punto separado. Si la publicidad necesita un gran ancho de banda, los proyectos en línea son aún más exigentes en cuanto a recursos. Los proveedores enfrentan un problema con dos facetas: la velocidad de acceso a los servidores y garantizar un alto rendimiento de juego con gráficos atractivos. Un CDN para juegos en línea es la posibilidad de tener lo que se llama 'zonas de push', donde los desarrolladores pueden almacenar los juegos en servidores ubicados cerca de los usuarios. Esto reduce el impacto de la velocidad de acceso al servidor original y, por lo tanto, asegura una experiencia de juego cómoda en todas partes.

Por qué el CDN no es una panacea

Los caminos del contenido son insondables o hablemos de CDN
A pesar de las claras ventajas, no todos y no siempre buscan implementar esta tecnología en su negocio. ¿Por qué? Paradójicamente, algunos inconvenientes surgen de las ventajas, además de algunos puntos adicionales relacionados con el despliegue de la red. Los especialistas en marketing hablarán bellamente de todas las ventajas de la tecnología, olvidando mencionar que todas ellas pierden sentido en un amplio rango de condiciones. Si se consideran más a fondo los inconvenientes de un CDN, es importante destacar:

  • Trabaja solo con contenido estático. Sí, la mayoría de los sitios web modernos tienen un bajo porcentaje de contenido dinámico. Pero donde las páginas están personalizadas, el CDN no podrá ayudar en nada (salvo que alivie un gran volumen de tráfico);
  • Retardo en el caché. La optimización en sí misma es una de las principales ventajas de las redes distribuidas. Pero cuando se hacen cambios en el servidor de origen, pasa un tiempo antes de que el CDN los recache en todos sus servidores;
  • Bloqueos masivos. Si por alguna razón se bloquea la dirección IP del CDN, se cierran todos los sitios que están alojados en él;
  • En la mayoría de los casos, el navegador establecerá dos conexiones (con el servidor de origen y el CDN). Esto significa milisegundos adicionales de espera;
  • Vinculación a la dirección IP de proyectos (incluidos aquellos que no existen) que previamente estaban asociados con él. Como resultado, obtenemos un ranking complicado de los bots de búsqueda de Google y dificultades para que el sitio alcance los primeros lugares en SEO;
  • Un nodo CDN es un posible punto de falla. Si se utilizan, es importante comprender de antemano cómo funciona la enrutación del sistema y qué errores pueden surgir al trabajar con el sitio;
  • Es obvio, pero hay que pagar por los servicios de entrega de contenido. Principalmente, los costos son proporcionales al volumen de tráfico, lo que significa que puede ser necesario un control para planificar el presupuesto.

Un hecho importante: incluso la cercanía del CDN al usuario no garantiza un ping bajo. La ruta puede establecerse desde el cliente hasta un host ubicado en otro país o incluso en otro continente. Esto depende de la política de enrutación de la red específica y sus relaciones con los operadores de telecomunicaciones (peering). Muchos grandes proveedores de CDN tienen varias tarifas donde el costo influye directamente en la cercanía del punto de presencia al transmitir contenido a los usuarios finales.

Si tienes las capacidades, lanza tu propio CDN.

¿No estás satisfecho con la política de las empresas que ofrecen servicios de redes de distribución de contenido, pero tu negocio necesita expandirse? Si tienes las capacidades, ¿por qué no probar a lanzar tu propio CDN? Esto tiene sentido en las siguientes situaciones:

  • Los costos actuales de distribución de contenido no cumplen con las expectativas y no son económicamente viables;
  • Se necesita un caché permanente, sin compartir el servidor y el canal con otros sitios;
  • La audiencia objetivo se encuentra en una región donde no hay puntos de presencia de CDN disponibles para usted;
  • Necesidad de personalizar la configuración al entregar contenido;
  • Es necesario acelerar la entrega de contenido dinámico;
  • Sospechas de violaciones de la privacidad de los usuarios y otras acciones indebidas por parte de servicios externos.

Lanzar un CDN requerirá un nombre de dominio, varios servidores en diferentes regiones (virtuales o dedicados) y una herramienta para procesar solicitudes. No olvidar la instalación de certificados SSL, la configuración y edición de programas para la entrega de contenido estático (Nginx o Apache) y un monitoreo efectivo de todo el sistema.

La correcta configuración de proxies de caché es material para un artículo aparte, por lo que aquí no profundizaremos en dónde y qué parámetro ajustar correctamente. Teniendo en cuenta los gastos iniciales y el tiempo de implementación de la red, el uso de soluciones ya disponibles puede ser más prometedor. Sin embargo, es necesario seguir la situación del mercado y planificar varios pasos adelante.

Qué se puede concluir

Un CDN es un conjunto de capacidades adicionales para retransmitir su tráfico a grandes masas. ¿Son necesarios para los negocios en internet? Tanto sí como no, depende de a qué audiencia esté dirigido el contenido y cuáles son los objetivos del propietario del negocio.

Los proyectos regionales y especializados obtendrán más desventajas que ventajas al implementar un CDN. Las solicitudes seguirán llegando primero al servidor original, pero ahora a través de un intermediario. De ahí una dudosa disminución del ping, pero gastos mensuales definidos por el uso del servicio. Con buen equipo de red, se puede perfeccionar cómodamente los algoritmos existentes de seguridad informática, ubicar sus servidores más cerca de los usuarios y obtener optimizaciones y beneficios de forma continua y gratuita.

Las grandes empresas, cuya infraestructura no puede manejar el flujo de tráfico en constante crecimiento, deberían realmente considerar el uso de servidores intermediarios. El CDN se demuestra como una tecnología excelente que permite desplegar rápidamente una red en una amplia geografía de usuarios, garantizar una experiencia de juego en la nube cómoda o vender productos en una gran plataforma comercial.

Sin embargo, incluso con una amplia geografía de audiencia, es importante entender de antemano para qué se necesita exactamente las redes de distribución de contenido. La aceleración del sitio sigue siendo una tarea compleja que no se resuelve mágicamente con la implementación de un CDN. Es fundamental no olvidar funciones importantes como: compatibilidad entre plataformas, adaptabilidad, optimización del lado del servidor, del código, del renderizado, etc. Una auditoría técnica previa y medidas adecuadas para resolver problemas siguen siendo la solución óptima para cualquier proyecto en línea, independientemente de su enfoque y tamaño.

Publicidad

En este momento puedes solicitar servidores potentes, que utilizan los últimos procesadores AMD Epyc. Tarifas flexibles: desde 1 núcleo de CPU hasta impresionantes 128 núcleos de CPU, 512 GB de RAM, 4000 GB de NVMe.

Los caminos del contenido son insondables o hablemos de CDN

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster