Las formas misteriosas del contenido o digamos unas palabras sobre CDN

Las formas misteriosas del contenido o digamos unas palabras sobre CDN

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

La primera página web apareció en 1990 y tenía sólo unos pocos bytes de tamaño. Desde entonces, el contenido ha escalado tanto cualitativa como cuantitativamente. El desarrollo del ecosistema de TI ha llevado al hecho de que las páginas web modernas se miden en megabytes y la tendencia a aumentar el ancho de banda de la red se fortalece cada año. ¿Cómo pueden los proveedores de contenidos cubrir grandes escalas geográficas y proporcionar a los usuarios de todo el mundo un acceso de alta velocidad a la información? Las redes de entrega y distribución de contenidos, también conocidas como Content Delivery Network o simplemente CDN, deben hacer frente a estas tareas.

Cada vez hay más contenido “pesado” en Internet. Al mismo tiempo, numerosos estudios muestran que los usuarios no quieren lidiar con servicios web si tardan más de 4 o 5 segundos en cargarse. Una velocidad de carga demasiado baja conlleva una pérdida de audiencia, lo que sin duda conducirá a una disminución del tráfico, la conversión y, por tanto, las ganancias. Las redes de entrega de contenidos (CDN), en teoría, eliminan estos problemas y sus consecuencias. Pero en realidad, como es habitual, todo se decide por los detalles y matices de un caso concreto, de los que abundan en este ámbito.

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

Comencemos con una breve excursión a la historia y las definiciones de términos. CDN es una red de un grupo de máquinas servidor ubicadas en diferentes ubicaciones para brindar acceso a contenido de Internet a una gran cantidad de usuarios. La idea de las redes distribuidas es tener varios puntos de presencia (PoP) a la vez, que se encuentran fuera del servidor de origen. Un sistema de este tipo procesará más rápidamente el conjunto de solicitudes entrantes, aumentando la respuesta y la velocidad de transferencia de cualquier dato.

El problema de entregar contenidos a los usuarios surgió de forma aguda en el apogeo del desarrollo de Internet, es decir, a mediados de los 90. Los servidores de esa época, cuyo rendimiento no alcanzaba ni siquiera a los portátiles emblemáticos modernos, apenas podían soportar la carga y no podían hacer frente al tráfico cada vez mayor. Microsoft gasta cientos de millones de dólares al año en investigaciones relacionadas con la autopista de la información (inmediatamente me viene a la mente los famosos 640 KB de Bill Gates). Para resolver estos problemas, tuvimos que utilizar almacenamiento en caché jerárquico, cambiar de módems a fibra óptica y analizar la topología de la red en detalle. La situación recordaba a una vieja locomotora que corre sobre los raíles y a lo largo del camino se moderniza por todos los medios posibles para aumentar la velocidad.

Ya a finales de los 90, los propietarios de portales web se dieron cuenta de que para reducir la carga y atender las solicitudes requeridas, era necesario utilizar servidores intermediarios. Así aparecieron las primeras CDN, que distribuían contenidos estáticos desde diferentes servidores repartidos geográficamente por todo el mundo. Por la misma época apareció un negocio basado en redes distribuidas. El proveedor de CDN más grande (al menos uno de los más grandes) del mundo, Akamai, se convirtió en pionero en esta área y comenzó su andadura en 1998. Un par de años más tarde, CDN se generalizó y los ingresos por la distribución y contribución de contenidos ascendieron a decenas de millones de dólares mensuales.

Hoy en día nos topamos con una CDN cada vez que accedemos a una página comercial de mucho tráfico o nos comunicamos en las redes sociales. El servicio es proporcionado por: Amazon, Cloudflare, Akamai, así como muchos otros proveedores transnacionales. Además, las grandes empresas tienden a utilizar sus propias CDN, lo que les aporta una serie de ventajas en cuanto a velocidad y calidad de entrega de contenidos. Si Facebook no tuviera redes distribuidas, sino que se contentara con solo un servidor de origen ubicado en los Estados Unidos, podría llevar mucho más tiempo cargar un perfil para los usuarios de Europa del Este.

Algunas 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 música en streaming alcanzará casi 90 millones de personas. Además, los servicios recibirán más del XNUMX% de sus ingresos del streaming de audio. Con el vídeo la situación es similar, en el léxico popular ya se han fijado términos como: letsplay, concierto online y cine online. Apple, Google, YouTube y muchas otras empresas tienen sus propios servicios de streaming.

En sus inicios, CDN se utilizó principalmente para sitios con contenido estático. Estática es información que no cambia según las acciones del usuario, el tiempo y otros factores, es decir. no es personalizado. Pero el auge de los servicios de streaming de vídeo y audio ha añadido otro caso de uso común para las redes distribuidas. Los servidores intermediarios, ubicados cerca del público objetivo en todo el mundo, permiten proporcionar un acceso estable al contenido durante los períodos de máxima carga, eliminando la falta de cuellos de botella en Internet.

¿Cómo funciona esto

La esencia de todas las CDN es aproximadamente la misma: utilizar intermediarios para poder entregar contenido al consumidor final más rápido. Funciona de la siguiente manera: el usuario envía una solicitud para descargar un archivo, la recibe el servidor CDN, que realiza una llamada única al servidor original y le entrega el contenido al usuario. Paralelamente, la CDN almacena en caché los archivos durante un período de tiempo determinado y procesa todas las solicitudes posteriores desde su propia caché. Opcionalmente, también pueden precargar archivos desde el servidor de origen, ajustar el período de retención de la caché, comprimir archivos pesados ​​y mucho más. En la situación más ideal, el host pasa todo el flujo a un nodo CDN, que ya utiliza sus propios recursos para entregar contenido a los usuarios. No hace falta decir que el almacenamiento en caché eficaz de la información, así como la distribución de solicitudes no a un servidor, sino a la red, conducirán a una carga de tráfico más equilibrada.

Las formas misteriosas del contenido o digamos unas palabras sobre CDN
La segunda característica importante del funcionamiento de CDN es la reducción de los retrasos en la transmisión de datos (también conocido como RTT - tiempo de ida y vuelta). Establecer una conexión TCP, descargar contenido multimedia, un archivo JS, iniciar una sesión TLS, todo esto depende del ping. Obviamente, cuanto más cerca esté de la fuente, más rápido podrá obtener una respuesta de ella. Al fin y al cabo, incluso la velocidad de la luz tiene su límite: unos 200 km/s a través de fibra óptica. Esto significa que de Moscú a Washington el retraso será de unos 75 ms en RTT, y esto sin la influencia de equipos intermedios.

Para comprender mejor qué tareas resuelven las redes de distribución de contenido, aquí hay una lista de soluciones que son relevantes en la actualidad:

  • Google, Yandex, MaxCDN (utiliza CDN gratuitos para distribuir bibliotecas JS, tiene 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, vídeos, fuentes, etc.);
  • Jetpack, Incapsula, Swarmify, etc. (optimización de recursos en sistemas de gestión de contenidos: bitrix, wordpress, etc.);
  • CDNVideo, StackPath, NGENIX, Megafon (CDN para distribuir contenido estático, utilizado 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 están diseñados para transferir sólo una parte del tráfico desde el servidor principal. Los 2 restantes se utilizan como servidores proxy completos con transmisión completa de canales desde el host de origen.

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

En teoría, cualquier sitio web que venda sus productos/servicios a clientes corporativos o particulares (B2B o B2C) puede beneficiarse de la implementación de una CDN. Es importante que su público objetivo, es decir La base de usuarios estaba fuera de su ubicación geográfica. Pero incluso si este no fuera el caso, las redes de distribución ayudarán a equilibrar la carga de grandes volúmenes de contenido.

No es ningún secreto que un par de miles de subprocesos son suficientes para obstruir un canal de servidor. Por lo tanto, la distribución de transmisiones de video al público en general conducirá inevitablemente a la formación de un cuello de botella: el ancho de banda del canal de Internet. Lo mismo ocurre cuando en un sitio web hay muchas imágenes pequeñas y sin unir (vistas previas de productos, por ejemplo). El servidor de origen utiliza una conexión TCP al procesar cualquier cantidad de solicitudes, lo que pondrá en cola la descarga. Agregar una CDN hace que sea necesario distribuir solicitudes entre múltiples dominios y utilizar múltiples conexiones TCP, lo que alivia la carga del canal. Y la fórmula del retraso de ida y vuelta, incluso en los escenarios más tristes, da un valor de 6-7 RRT y toma la forma: TCP+TLS+DNS. Esto también incluye retrasos asociados 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 móvil.

Habiendo resumido los puntos fuertes de la tecnología para los negocios online, los expertos destacan los siguientes puntos:

  1. Escalado rápido de la infraestructura + ancho de banda reducido. Más servidores = más puntos donde se almacena la información. Como resultado, un punto procesa menos tráfico por unidad de tiempo, lo que significa que puede tener menos rendimiento. Además, entran en juego herramientas de optimización que le permiten hacer frente a cargas máximas sin perder tiempo.
  2. Menos ping. Ya hemos mencionado que a la gente no le gusta esperar mucho en Internet. Por lo tanto, un ping alto contribuye a tasas de rebote altas. El retraso puede deberse a problemas con el procesamiento de datos en el servidor, al uso de equipos antiguos o simplemente a una topología de red mal pensada. La mayoría de estos problemas se resuelven parcialmente mediante las redes de distribución de contenidos. Aunque es importante señalar aquí que el beneficio real de implementar la tecnología sólo será visible cuando el "ping del consumidor" supere los 80-90 ms, y esta es la distancia de Moscú a Nueva York.

    Las formas misteriosas del contenido o digamos unas palabras sobre CDN

  3. Seguridad de datos. Los DDos (ataques de virus de denegación de servicio) tienen como objetivo hacer caer el servidor para obtener algún beneficio. Un servidor es mucho más susceptible a las vulnerabilidades de seguridad de la información que una red distribuida (instalar la infraestructura de un gigante como CloudFlare no es una tarea fácil). Gracias al uso de filtros y la distribución adecuada de las solicitudes a través de la red, puede evitar fácilmente dificultades creadas artificialmente con el acceso al tráfico legítimo.
  4. Rápida distribución de contenidos y funciones de servicio adicionales. La distribución de grandes cantidades de información en una red de servidores permitirá transmitir rápidamente la oferta al consumidor final. Una vez más, no es necesario buscar mucho para encontrar ejemplos: basta con recordar Amazon y AliExpress.
  5. La capacidad de "enmascarar" problemas con el sitio principal. No es necesario esperar hasta que se actualice el DNS; puede transferirlo a una nueva ubicación y distribuir el contenido previamente almacenado en caché. Esto, a su vez, puede mejorar la tolerancia a fallos.

Hemos resuelto las ventajas. Ahora veamos qué nichos se benefician de esto.

negocio de publicidad

La publicidad es el motor del progreso. Para evitar que el motor se queme, hay que cargarlo moderadamente. Así, el negocio de la publicidad, al intentar adaptarse al mundo digital moderno, se enfrenta al problema del "contenido pesado". Los medios pesados ​​se refieren a la publicidad multimedia (principalmente pancartas y vídeos animados) que requiere un gran ancho de banda de red. Un sitio web con multimedia tarda mucho en cargarse y puede congelarse, poniendo a prueba los nervios de los usuarios. La mayoría de las personas abandonan estos recursos incluso antes de haber descargado toda la información disponible. Las empresas de publicidad pueden aprovechar las CDN para resolver estos problemas.

Las ventas

El comercio electrónico necesita ampliar constantemente su cobertura geográfica. Otro punto importante es la lucha contra los competidores, que abundan en todos los segmentos del mercado. Si un sitio web no cumple con los requisitos del usuario (incluido el tiempo de carga prolongado), no será popular y no podrá generar conversiones altas de manera constante. La implementación de una CDN debería demostrar su ventaja en el manejo de solicitudes de datos desde diferentes ubicaciones. Además, la distribución del tráfico ayudará a evitar picos de tráfico y posteriores fallas del servidor.

Plataformas con contenido de entretenimiento

Aquí son adecuadas todo tipo de plataformas de entretenimiento, desde la descarga de películas y juegos hasta la transmisión de vídeos. A pesar de que la tecnología funciona con datos estáticos, los datos en streaming pueden llegar más rápido al usuario a través de repetidores. Una vez más, el almacenamiento en caché de información CDN es una salvación para los propietarios de grandes portales: almacenamiento multimedia.

Juegos en linea

Los juegos de Internet deben colocarse en una sección separada. Si la publicidad requiere un gran ancho de banda, los proyectos online exigen aún más recursos. Los proveedores se enfrentan a un problema que tiene dos caras: la velocidad de acceso a los servidores + garantizar un alto rendimiento de juego con hermosos gráficos. Una CDN para juegos en línea es una oportunidad para tener las llamadas “zonas de inserción” donde los desarrolladores pueden almacenar juegos en servidores ubicados cerca de los usuarios. Esto le permite reducir el impacto de la velocidad de acceso al servidor original y, por lo tanto, garantizar un juego cómodo en todas partes.

Por qué CDN no es una panacea

Las formas misteriosas del contenido o digamos unas palabras sobre CDN
A pesar de las ventajas obvias, no todo el mundo, ni siempre, se esfuerza por introducir la tecnología en su negocio. ¿Porqué es eso? Paradójicamente, de las ventajas se derivan algunas desventajas, además se agregan un par de puntos más relacionados con la implementación de la red. Los especialistas en marketing hablarán maravillosamente sobre todas las ventajas de la tecnología, olvidándose de mencionar que todas ellas pierden sentido en una amplia gama de condiciones. Si analizamos con más detalle las desventajas de CDN, cabe destacar:

  • Trabaja sólo con estática. Sí, la mayoría de los sitios web modernos tienen un bajo porcentaje de contenido dinámico. Pero cuando las páginas están personalizadas, la CDN no podrá ayudar (a menos que descargue una gran cantidad de tráfico);
  • Retraso de almacenamiento en caché. La optimización en sí es una de las principales ventajas de las redes de distribución. Pero cuando realiza un cambio en el servidor de origen, pasa un tiempo antes de que la CDN lo vuelva a almacenar en todos sus servidores;
  • Bloqueos masivos. Si por algún motivo la dirección IP de una CDN está prohibida, todos los sitios alojados en ella se cierran;
  • En la mayoría de los casos, el navegador realizará dos conexiones (al servidor de origen y al CDN). Y estos son milisegundos adicionales de espera;
  • Vinculación a la dirección IP de proyectos (incluidos los inexistentes) que le fueron asignados previamente. Como resultado, obtenemos clasificaciones complicadas por parte de los robots de búsqueda de Google y dificultades para llevar el sitio a la cima durante la promoción SEO;
  • El nodo CDN es un punto potencial de falla. Si los utiliza, es importante comprender de antemano cómo funciona el enrutamiento del sistema y qué errores pueden ocurrir al trabajar con el sitio;
  • Es trillado, pero hay que pagar por los servicios de entrega de contenidos. En general, los costos son proporcionales al volumen de tráfico, lo que significa que pueden ser necesarios controles para planificar el presupuesto.

Un dato importante: ni siquiera la proximidad de la CDN al usuario garantiza un ping bajo. La ruta se puede construir desde un cliente hasta un host ubicado en otro país o incluso en otro continente. Esto depende de la política de enrutamiento de una red en particular y de su relación con los operadores de telecomunicaciones (peering). Muchos grandes proveedores de CDN tienen múltiples planes, donde el costo afecta directamente la proximidad del punto de presencia al entregar contenido a los usuarios objetivo.

Hay oportunidades: lanza tu propia CDN

¿No está satisfecho con las políticas de las empresas que brindan servicios de redes de distribución de contenido, pero su negocio necesita expandirse? Si es posible, ¿por qué no intentas lanzar tu propia CDN? Esto tiene sentido en los siguientes casos:

  • Los costos actuales de distribución de contenidos no cumplen con las expectativas y no están económicamente justificados;
  • Necesitamos un caché permanente, sin proximidad a otros sitios del servidor y canal;
  • El público objetivo se encuentra en una región donde no hay puntos de presencia CDN disponibles para usted;
  • La necesidad de personalizar la configuración al entregar contenido;
  • Es necesario acelerar la entrega de contenido dinámico;
  • Sospechas de violación de la privacidad del usuario y otras acciones ilegales por parte de servicios de terceros.

Para iniciar una CDN será necesario tener un nombre de dominio, varios servidores en diferentes regiones (virtuales o dedicados) y una herramienta de procesamiento de solicitudes. No se olvide de instalar certificados SLL, configurar y editar programas para servir contenido estático (Nginx o Apache) y monitorear de manera efectiva todo el sistema.

La configuración correcta de los servidores proxy de caché es el tema de un artículo aparte, por lo que no describiremos en detalle aquí: dónde y qué parámetro configurar correctamente. Teniendo en cuenta los costos iniciales y el tiempo para implementar una red, el uso de soluciones ya preparadas puede resultar más prometedor. Pero es necesario guiarse por la situación actual y planificar algunos pasos por delante.

Con el resultado de que

CDN es un conjunto de capacidades adicionales para transmitir su tráfico a las masas. ¿Son necesarios para los negocios en línea? Sí y no, todo depende de a qué público está destinado el contenido y de los objetivos que persigue el empresario.

Los proyectos regionales y altamente especializados recibirán más desventajas que ventajas de la implementación de CDN. Las solicitudes seguirán llegando primero al servidor de origen, pero a través de un intermediario. De ahí la dudosa reducción del ping, pero los costes mensuales bastante definidos por utilizar el servicio. Si tiene un buen equipo de red, puede mejorar fácilmente los algoritmos de seguridad de la información existentes, colocar sus servidores más cerca de los usuarios y recibir optimizaciones y ganancias de forma gratuita y continua.

Pero quienes realmente deberían pensar en servidores intermediarios son las grandes empresas cuyas infraestructuras no pueden hacer frente al flujo de tráfico en constante crecimiento. CDN se muestra perfectamente como una tecnología que permite implementar rápidamente una red en una amplia geografía de usuarios, ofrecer juegos cómodos en la nube o vender productos en una gran plataforma comercial.

Pero incluso con una audiencia geográfica amplia, es importante comprender de antemano por qué se necesitan redes de distribución de contenidos. La aceleración de sitios web sigue siendo una tarea compleja, que no se puede resolver mágicamente mediante la implementación de una CDN. No te olvides de características tan importantes como: multiplataforma, adaptabilidad, optimización de la parte del servidor, código, renderizado, etc. Una auditoría técnica preliminar y medidas adecuadas para eliminar los problemas siguen siendo la solución óptima para cualquier proyecto en línea, independientemente de su enfoque y escala.

Sobre los derechos de publicidad

Puedes ordenar ahora mismo servidores potentesque utilizan los últimos procesadores Epyc de amd. Planes flexibles: desde 1 núcleo de CPU hasta 128 núcleos de CPU, 512 GB de RAM, 4000 GB de NVMe.

Las formas misteriosas del contenido o digamos unas palabras sobre CDN

Fuente: habr.com

Añadir un comentario