La Edge Cloud Platform de Fastly

Back to blog

Follow and Subscribe

Pilares de la resiliencia de Fastly: cómo construir una Internet más robusta

Brian Haberman

Ingeniero distinguido

Este artículo es la primera parte de la serie "Pilares de la resiliencia" de Fastly, en la que exploramos cómo diseñamos, construimos y operamos nuestra red global para obtener la máxima disponibilidad y rendimiento. Lee la serie completa:

Cada solicitud cuenta. Desde las transacciones hasta el streaming, la experiencia del usuario depende de la latencia y la fiabilidad. Un sitio web lento o no disponible no solo molesta a los usuarios; afecta el resultado final, erosiona la confianza en la marca y provoca una pérdida de ingresos. A escala global, el desafío de entregar contenido de manera confiable se magnifica exponencialmente.

Ya nos has escuchado hablar de resiliencia antes. Estamos un poco enganchados con el tema, algunos dirían que obsesionados. Es una filosofía fundamental arraigada en nuestra cultura, arquitectura y procesos. Algunos de los principios de los que hablaremos ya se han publicado [1][2]. Pero los reunimos todos para ilustrar cómo Fastly ha diseñado su red para obtener la máxima resiliencia. Exploraremos los principios y tecnologías fundamentales que nos permiten no solo entregar contenido de manera increíblemente rápida, sino hacerlo con una disponibilidad inquebrantable. A estos los llamamos nuestros Pilares de la resiliencia.

El desafío de la distribución global

Imagina intentar servir un solo fragmento de contenido, como una imagen, a cientos de millones de usuarios dispersos por todo el mundo. Todos esos usuarios no están geográficamente cerca de una sola ubicación que tenga el contenido. Probablemente tampoco estén usando todos la misma red de acceso. Ese contenido puede originarse en cualquier lugar de Internet. Si es popular, mucha gente lo quiere. Este paradigma de distribución global presenta un conjunto único de desafíos:

  • Latencia geográfica: la velocidad de la luz es un límite físico. Una solicitud de un usuario en Londres a un punto de presencia (PoP) en Sydney siempre será más lenta que una solicitud a un PoP en París, sin importar qué tan potentes sean los servidores en el PoP de Sydney.

  • Congestión de la red: el tráfico de Internet no es uniforme. Ciertas rutas pueden sobrecargarse, lo que genera cuellos de botella y un rendimiento degradado.

  • Puntos únicos de error: un corte de fibra, un corte de energía o incluso un error de configuración en un solo centro de datos pueden dejar fuera de línea una gran parte de una red.

  • Eventos adversos: desde ataques de denegación de servicio distribuida (DDoS) hasta actividad maliciosa dirigida, la red debe estar preparada para absorber y mitigar una constante avalancha de amenazas.

¿Cansado de las interrupciones? Pide a nuestros expertos que configuren tus múltiples CDN sin costo.

Obtén la oferta

Para una red de distribución de contenido (CDN), estos no son solo problemas teóricos; son la realidad de todos los días. El valor de una CDN está directamente ligado a su capacidad para superar estos desafíos de manera constante y entregar el contenido de los clientes a los usuarios finales. Para nuestros clientes, una CDN de alta disponibilidad y resiliente no es algo "deseable"; es un requisito fundamental. Al descargar la distribución de contenido en una CDN como Fastly, las empresas obtienen ventajas significativas:

  1. Tiempo de actividad garantizado: tu sitio web o aplicación permanece accesible incluso si hay un problema con tu servidor de origen o una ruta de red principal.

  2. Rendimiento superior: el contenido se sirve desde el PoP disponible más cercano, lo que minimiza la latencia y garantiza una experiencia del usuario más rápida y fluida.

  3. Ahorro de costos: al absorber picos de tráfico y mitigar ataques, una CDN resiliente reduce la carga en tu propia infraestructura, lo que reduce los costos operativos.

  4. Tranquilidad: puedes concentrarte en desarrollar tu producto principal, sabiendo que el mecanismo de distribución subyacente está diseñado para resistir la naturaleza impredecible de Internet.

Para ser claros, nadie es inmune. Las interrupciones ocurren. Son un estilo de vida cuando se opera una infraestructura global y compleja. La resiliencia consiste en detectar el inicio de la interrupción lo más rápido posible. La resiliencia consiste en minimizar el impacto de la interrupción. La resiliencia es la rapidez con la que los servicios vuelven a sus niveles normales. La verdadera medida de una plataforma no es la prevención de fallas, sino cómo responde a ellas y se recupera.

La resiliencia del sistema determina la profundidad y la anchura del valle del impacto

La base de la resiliencia: observabilidad

Antes de adentrarnos en los pilares específicos, primero analizaremos una capacidad fundamental presente en todos ellos: observabilidad.

No puedes construir un sistema resiliente si no entiendes su comportamiento. En Fastly, creemos que observar un sistema no se trata solo de ver métricas simples como el uso de CPU o el ancho de banda. Se trata de poder responder preguntas arbitrarias sobre el estado de la red en cualquier momento. Esto incluye:

  • Métricas: seguimiento de indicadores de rendimiento como la frecuencia de solicitudes, la latencia y los índices de aciertos de caché.

  • Logs: captura de registros detallados de eventos para diagnosticar problemas.

  • Rastreos: seguimiento de una solicitud individual a medida que recorre el sistema para identificar cuellos de botella y puntos de error.

Las métricas simples solo pueden respaldar operaciones de red reactivas. No proporcionan suficiente contexto, especialmente dada la complejidad de una CDN global. Considera la siguiente visualización:

Cada permutación del estado de producción (código, configuración, carga de trabajo) es diferente

El estado real de nuestro sistema siempre cambia. El software no es estático. El estado de la red no es estático. Las cargas de trabajo de los clientes no son estáticas. Debemos operar una red que no tiene una línea base de comparación. A medida que estas variables evolucionan, nuestra visión de lo normal evoluciona.

Nuestros ingenieros tienen acceso a una vista en directo y exhaustiva de cada parte de la red. 2.1 billones de puntos de datos cada día. Nuestra frecuencia de recopilación de referencia es de 15 segundos, pero con la capacidad de capturar algunas métricas a frecuencias mucho más altas para facilitar el diagnóstico y la depuración. Tenemos un conjunto base de métricas que siempre se recopilan, así como otros conjuntos que se pueden habilitar cuando se detecta el inicio de un problema. La recopilación de métricas también se puede configurar para capturar en diferentes percentiles (por ejemplo, 99.9999 frente a 99.99), ya que algunos eventos tienen apariencias distintivas a diferentes resoluciones.

Esta observabilidad profunda es fundamental para todo, desde el mantenimiento proactivo hasta la respuesta rápida a incidentes. Permite no solo detectar problemas, sino también comprender su causa raíz con precisión, un paso innegociable para construir un sistema verdaderamente resiliente. Nuestra capacidad de observabilidad también facilita la planificación de capacidad basada en datos y las optimizaciones del sistema. Lo que nos permite adaptarnos antes de que ocurra algo malo.

Es crucial que todos entiendan que tal capacidad no es gratuita. Recopilar tal volumen de datos es costoso. Es necesario mantener múltiples canalizaciones de datos para recopilar las métricas. Se necesita almacenamiento back-end para alojar las métricas. Se necesitan recursos de cálculo para convertir los datos en información. No debería sorprender que la observabilidad sea una de nuestras tres principales categorías de gasto en infraestructura. Pero creemos que el gasto es necesario para comprender realmente nuestra infraestructura compleja.

¿Qué sigue?

En las siguientes publicaciones, exploraremos los pilares individuales de resiliencia que constituyen la base de nuestra infraestructura global. Discutiremos cómo diseñamos nuestra red para que sea altamente disponible, la construimos para que sea resistente a las interrupciones y la operamos para resistir y recuperarse incluso de los eventos más desafiantes.

¿Estás listo para empezar?

Ponte en contacto con nosotros