¡Bienvenido a la Semana de la Velocidad! Cada uno de los días de esta semana, hablaremos de algo que Cloudflare está haciendo para que internet sea significativamente más rápida para todos.
Cloudflare ha creado una enorme red de centros de datos en 180 ciudades en 75 países. Una forma de entender Cloudflare es compararlo con un sistema global para transportar bits de manera segura, rápida y confiable desde cualquier punto A a cualquier otro punto B del planeta.
Para hacer esto realidad, desarrollamos Argo. Argo utiliza información de red global en tiempo real para enrutar en casos de caída de tensión, cortes de cable, pérdida de paquetes y otros problemas de internet. Argo hace que la red en la que Cloudflare confía, es decir internet, sea más rápida, confiable y segura en cada salto del mundo.
Lanzamos Argo hace dos años, y ahora transporta más del 22 % del tráfico de Cloudflare. ¡En un día promedio, Argo reduce en 112 años la cantidad de tiempo que los usuarios de internet pasan esperando contenido!
A medida que Cloudflare y nuestros volúmenes de tráfico crecían, cobró más sentido la idea de crear nuestra propia red troncal privada para dar más seguridad, confiabilidad y velocidad a las conexiones clave entre ubicaciones de Cloudflare.
Hoy presentamos la red troncal global privada de Cloudflare. Ha estado en funcionamiento por un tiempo y vincula las ubicaciones de Cloudflare con conexiones de fibra privadas.
Esta red troncal privada beneficia a todos los clientes de Cloudflare y, combinada con Argo, el resultado es excelente. Argo puede seleccionar el mejor enlace disponible a través de internet por centro de datos y aprovecha al máximo la red troncal global privada de Cloudflare de manera automática.
Analicemos Argo y expliquemos cómo nuestra red troncal mejora aún más el rendimiento de nuestros clientes.
¿Qué es Argo?
Argo es como Waze para internet. Cada día, Cloudflare transporta cientos de miles de millones de solicitudes a través de nuestra red e internet. Como nuestra red, nuestros clientes y sus usuarios finales están bien distribuidos en todo el mundo, todas estas solicitudes que fluyen a través de nuestra infraestructura ofrecen un excelente panorama sobre el rendimiento de las diferentes partes de internet en un momento determinado.
Del mismo modo que Waze examina los datos reales de los conductores reales para ofrecerle rutas precisas y sin congestiones (y a veces poco ortodoxas) en la ciudad, Argo Smart Routing utiliza los datos de sincronización que Cloudflare recopila de cada solicitud para elegir rutas más rápidas y eficientes en internet.
En términos prácticos, la red de Cloudflare tiene un amplio alcance. Algunos de los enlaces de internet en una región determinada pueden estar congestionados y generar un rendimiento deficiente (un atasco de tráfico literal). Al detectar que está sucediendo esto y utilizar ubicaciones y proveedores de red alternativos, Argo puede redireccionar el tráfico por una ruta menos directa, pero más rápida, desde su origen hasta su destino.
Estas ventajas no son teóricas: habilitar Argo Smart Routing reduce en un promedio del 33 % del tiempo HTTP hasta el primer byte (TTFB).
Otra cosa de la que estamos orgullosos: nos hemos ocupado mucho para que sea fácil de usar. Con solo hacer clic en el panel de control, se efectúa un enrutamiento mejor y más inteligente, lo que aporta todo el peso de la red, los datos y la experiencia en ingeniería de Cloudflare para que su tráfico sea más rápido. Los análisis avanzados le permiten hacer un seguimiento exacto del rendimiento que tiene Argo para usted en todo el mundo.
Puede obtener mucha más información sobre cómo funciona Argo en nuestroblog post de lanzamiento original.
Hasta ahora, hablamos de Argo a nivel funcional: usted lo enciende y la herramienta presenta solicitudes que atraviesan internet hasta su origen de manera más rápida. ¿Cómo funciona en realidad? Argo depende de algunos factores para que suceda esta magia: la red de Cloudflare, los datos de rendimiento al segundo sobre cómo se desplaza el tráfico en internet y los algoritmos de enrutamiento de aprendizaje automático.
Red global de Cloudflare
Cloudflare mantiene una red de centros de datos en todo el mundo, y nuestra red sigue creciendo de manera significativa. Actualmente, contamos con más de 180 centros de datos en 75 países. Esto suma 69 centros de datos más desde que lanzamos Argo en mayo de 2017.
Además de agregar nuevas ubicaciones, Cloudflare trabaja constantemente con los socios de la red para agregar opciones de conectividad a nuestras ubicaciones de red. Un único centro de datos de Cloudflare puede tener conexiones con una docena de redes, estar conectado a varios intercambios de internet (IX, Internet eXchanges), estar conectado a varios proveedores de tránsito (por ejemplo, Telia, GTT, etc.) y, ahora, estar conectado a nuestra propia red troncal física. Un destino determinado puede ser accesible a través de varios enlaces diferentes desde la misma ubicación; cada uno de estos enlaces tendrá diferentes características de rendimiento y confiabilidad.
Este aumento de la zona de cobertura de la red es importante para que Argo sea más rápido. Las ubicaciones de red y los proveedores adicionales implican que Argo tenga más opciones a su disposición para hacer enrutamientos en casos de interrupciones y congestión de la red. Cada vez que agregamos una nueva ubicación de red, aumentamos exponencialmente la cantidad de opciones de enrutamiento disponibles para cualquier solicitud determinada.
Mejor enrutamiento para optimizar el rendimiento
Argo necesita la enorme red global que hemos desarrollado para hacer su trabajo. Pero no podría hacer mucho si no tuviera la inteligencia para aprovechar bien todos nuestros centros de datos y el cableado entre ellos para mover el tráfico con mayor rapidez.
Argo combina varias técnicas de aprendizaje automático para crear rutas, probarlas y descalificar las que no están funcionando como esperamos.
La generación de rutas se hace en función de datos y mediante técnicas de optimización “fuera de línea”: Los algoritmos de generación de rutas de Argo toman una serie de datos de entrada (datos de sincronización) y un objetivo de optimización fijo (“minimizar TTFB”), creando así rutas que Argo considera que satisfacen esta restricción.
La descalificación de la ruta se hace mediante un canal diferente que no conoce los algoritmos de generación de la ruta. Estos dos sistemas están diseñados intencionalmente para que sean contradictorios, lo que permite a Argo ser agresivo en la búsqueda de mejores rutas a través de internet, pero también flexible para adaptarse a las condiciones de red, que cambian rápidamente.
Un ejemplo específico de la inteligencia de Argo es su capacidad para distinguir entre varias opciones potenciales de conectividad a medida que deja un centro de datos determinado. A esto lo llamamos “selección de tránsito”.
Como lo analizamos anteriormente, algunos de nuestros centros de datos pueden tener una docena de opciones diferentes y viables para llegar a una dirección IP de destino determinada. Es como si usted se suscribiera a todos los proveedores de servicios de internet (ISP) disponibles en su casa y pudiera elegir usar cualquiera de ellos para cada sitio web al que intenta acceder. La selección de tránsito permite a Cloudflare elegir la ruta más rápida disponible en tiempo real en cada salto para llegar al destino.
Con la selección de tránsito, Argo puede especificar lo siguiente:
Los puntos de referencia de ubicación de red en el trayecto hacia el origen.
El proveedor de tránsito específico o enlace en cada punto de referencia en el trayecto que hace el paquete desde el origen hasta el destino.
Para hacer una analogía con Waze, que Argo dé indicaciones sin selección de tránsito es como decirle a alguien que conduzca a un punto de referencia (ir a Nueva York desde San Francisco_,_ pasando por Salt Lake City_),_ sin especificar las carreteras para llegar a Salt Lake City o a Nueva York. Con la selección de tránsito, podemos dar indicaciones completas paso a paso: tome la I-80 de San Francisco, gire hacia la izquierda aquí, ingrese al área de Salt Lake City por SR-201 (porque I-80 está congestionada en los cercanías de SLC), etc. Esto nos permite enrutar los problemas de internet con mucha más precisión.
La selección de tránsito requiere lógica en nuestro plano de datos entre centros de datos (los componentes que realmente mueven los datos a través de nuestra red) para permitir la diferenciación entre los diferentes proveedores y vínculos disponibles en cada ubicación. Algunas técnicas interesantes de automatización de redes y anuncios nos permiten ser mucho más exigentes con respecto a qué enlace se elige en realidad para mover el tráfico.
Sin las modificaciones al plano de datos de Argo, nuestros enrutadores perimetrales abstraerían esas opciones y dejarían la opción de tránsito al BGP. Más adelante pensamos hablar de manera más pública sobre las técnicas de enrutamiento que se utilizarán.
Podemos medir directamente el impacto que tiene la selección de tránsito en el tráfico de clientes de Argo. Teniendo en cuenta la mejora de la media global, la selección de tránsito ofrece a los clientes un beneficio adicional de latencia de TTFB del 16 % con respecto a la adopción de rutas estándar derivadas de BGP. ¡Eso es un gran logro!
Una cosa en la que pensamos: Argo puede cambiar las condiciones de la red al mover el tráfico de una ubicación o proveedor a otro mediantela inducción de la demanda (agregar volumen de datos debido a la mejora del rendimiento) y el cambio de los perfiles de tráfico. Mayor potencia implica mayor complejidad.
Incorporación de la red troncal global privada de Cloudflare
Ante nuestra variedad de opciones de tránsito y conectividad en cada uno de nuestros centros de datos, y a pesar de que contamos con los expertos que nos permiten elegir entre ellas, ¿por qué nos tomamos el trabajo y el tiempo de desarrollar una red troncal propia? La respuesta breve: operar nuestra propia red troncal privada nos permite tener un mayor control del rendimiento de extremo a extremo y de la gestión de la capacidad.
Cuando compramos tránsito o usamos un socio para la conectividad, confiamos en ese proveedor para administrar el estado del enlace y garantizar que permanezca disponible y sin congestiones. Algunas redes son mejores que otras, y las condiciones cambian todo el tiempo.
Por ejemplo, esta es una medición de la inestabilidad (variación en el tiempo del trayecto de ida y vuelta) entre dos de nuestros centros de datos, Chicago y Newark, en la red de un proveedor de tránsito:
La inestabilidad promedio durante las 6 horas de la imagen es de 4 min, con una latencia media de ida y vuelta de 27 min. Debemos aprender a convivir con una cierta cantidad de latencia; la velocidad de la luz es una constante física a la que es difícil dar batalla, y los protocolos de red están diseñados para que funcionen en enlaces con latencia alta o baja.
La inestabilidad, por otro lado, es “mala” porque es impredecible, y los protocolos de red y las aplicaciones desarrolladas se suelen deteriorar rápidamente cuando aumenta la inestabilidad. Por lo general, la inestabilidad en un enlace se debe a la mayor cantidad de memoria intermedia, colas y la competencia general por los recursos en el hardware de enrutamiento en ambos extremos de una conexión. Por ejemplo, tener una conversación VoIP a través de una red con alta latencia es algo molesto pero manejable. En una llamada, cada una de las partes notará un “retraso”, pero la calidad de la voz no se perderá. La inestabilidad hace que la conversación sea confusa, los paquetes que se superponen y las fallas impredecibles hacen que la conversación sea ininteligible.
Esta es la misma tabla de inestabilidad entre Chicago y Newark, salvo que esta vez transita la red troncal global privada de Cloudflare:
¡Mucho mejor! Aquí vemos una medición de inestabilidad de 536μs (microsegundos), casi ocho veces más que la medición de un proveedor de tránsito entre los mismos dos sitios.
La combinación de fibra que controlamos de extremo a extremo y Argo Smart Routing nos permiten liberar todo el potencial de la red troncal de Cloudflare. El sistema de enrutamiento de Argo sabe exactamente qué capacidad tiene disponible la red troncal y puede administrar la cantidad de datos adicionales que intenta impulsar. Al controlar ambos extremos del canal, y el canal en sí, podemos garantizar ciertas características de rendimiento e incorporar esas expectativas en nuestros modelos de enrutamiento. No se aplican los mismos principios a los proveedores de tránsito y a las redes que no controlamos.
¡Adiós, latencia!
Nuestra red troncal privada es otra herramienta de la que disponemos para mejorar el rendimiento en internet. La combinación del aprendizaje automático de vanguardia de Argo y la conectividad directa de fibra entre los puntos de nuestra extensa red nos permite enrutar el tráfico de los clientes con un rendimiento excelente y predecible.
Nos entusiasma ver cómo la red troncal y el impacto que esta tiene continúan expandiéndose.
A título personal, como gerente de productos, puedo decir que es muy agradable trabajar con Argo. Al lograr que los sitios web, las API y las redes tengan más velocidad, nuestros clientes están más contentos. Los clientes pueden activar Argo con solo un clic y ver de inmediato los beneficios. De modo no visible, las enormes inversiones en infraestructura física y virtual están acelerando el tráfico que fluye desde su origen a su destino.
Desde la perspectiva de la ingeniería, nuestros objetivos y metas semanales son directamente medibles, ¿logramos mayor velocidad para nuestros clientes con más tareas de ingeniería? Cuando enviamos una nueva optimización a Argo e inmediatamente vemos que nuestros gráficos se mueven hacia arriba y hacia la derecha, sabemos que hemos hecho nuestro trabajo.
Desarrollar nuestra red troncal física privada es lo último que hemos hecho en lo que respecta a la velocidad.
¡Bienvenido a la Semana de la Velocidad!
Activa Argo ahora o comunícate con ventas para obtener más información.