Este artículo es la primera parte de la serie «Los pilares de la resiliencia» de Fastly, en la que se analiza cómo diseñamos, construimos y gestionamos nuestra red global para conseguir 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. Una web lenta o que no funciona no solo molesta a los usuarios, sino que afecta a los resultados, merma la confianza en la marca y provoca pérdidas de ingresos. A escala global, el reto de ofrecer contenido de forma fiable se multiplica exponencialmente.
Ya te hemos hablado antes de la resiliencia. Es un tema que nos tiene algo obsesionados, algunos dirían que incluso demasiado. Es una filosofía fundamental que forma parte de nuestra cultura, nuestra arquitectura y nuestros procesos. Algunos de los principios de los que vamos a hablar ya se han publicado [1][2]. Pero los vamos a recopilar todos para mostrarte cómo Fastly ha diseñado su red para lograr la máxima resiliencia. Exploraremos los principios y tecnologías fundamentales que nos permiten no solo entregar contenido a la velocidad del rayo, sino hacerlo con una disponibilidad inalterable. A esto lo llamamos nuestros pilares de la resiliencia.
El desafío de la distribución global
Imagina que tienes que servir un único elemento de contenido, como una imagen, a cientos de millones de usuarios repartidos por todo el mundo. Todos esos usuarios no están geográficamente cerca de un único lugar donde se encuentre el contenido. Probablemente tampoco utilicen todos la misma red de acceso. Ese contenido puede provenir de cualquier parte de Internet. Si es popular, mucha gente lo querrá. Este modelo de distribución global plantea una serie de retos muy particulares:
Latencia geográfica: la velocidad de la luz es un límite físico. Una petición de un usuario de Londres a un punto de presencia (PoP) de Sídney siempre tardará más en llegar que una petición a un PoP de París, por muy potentes que sean los servidores del PoP de Sídney.
Congestión de la red: el tráfico de Internet no es uniforme. Algunas rutas pueden saturarse, lo que provoca cuellos de botella y un deterioro del rendimiento.
Únicos puntos 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 servicio una gran parte de una red.
Eventos adversarios: desde ataques de denegación de servicio distribuido (DDoS) hasta actividades maliciosas dirigidas, la red tiene que estar preparada para absorber y mitigar un aluvión constante de amenazas.
Para una red de distribución de contenidos (CDN), estos problemas no son solo teóricos; son la realidad del día a día. El valor de una CDN está directamente ligado a su capacidad para superar estos retos de forma constante y hacer llegar el contenido de los clientes a los usuarios finales. Para nuestros clientes, una CDN con alta disponibilidad y resiliencia no es algo «que estaría bien tener», sino un requisito fundamental. Al delegar la distribución de contenidos a una CDN como Fastly, las empresas obtienen ventajas importantes:
Tiempo de actividad garantizado: tu página web o aplicación seguirá estando accesible aunque haya algún problema con tu servidor de origen o con una ruta de red importante.
Rendimiento superior: el contenido se sirve desde el punto de presencia (PoP) más cercano disponible, lo que reduce al mínimo la latencia y garantiza una experiencia de usuario más rápida y con mayor capacidad de respuesta.
Ahorro de costes: al absorber los picos de tráfico y mitigar los ataques, una CDN resiliente disminuye la carga en tu propia infraestructura, lo que reduce los costes operativos.
Tranquilidad: puedes centrarte en desarrollar tu producto principal, sabiendo que el mecanismo de distribución subyacente está diseñado para resistir la naturaleza impredecible de internet.
Que quede claro: nadie es inmune. Las interrupciones ocurren. Son algo habitual cuando se gestiona una infraestructura global y compleja. La resiliencia consiste en detectar el inicio de la interrupción lo antes posible. La resiliencia consiste en minimizar el impacto de la interrupción, la rapidez con la que los servicios vuelven a su nivel normal. La verdadera medida de una plataforma no es la prevención de fallos, sino cómo responde ante ellos y se recupera.

La resiliencia del sistema determina la profundidad y la anchura del valle de impacto
La base de la resiliencia: la observabilidad
Antes de entrar en detalle en los pilares concretos, vamos a hablar primero de una capacidad fundamental que está presente en todos ellos: la observabilidad.
No puedes crear un sistema resiliente si no entiendes cómo funciona. En Fastly, creemos que observar un sistema no consiste solo en fijarse en métricas sencillas como el uso de la CPU o el ancho de banda. Se trata de ser capaz de responder a cualquier pregunta sobre el estado de la red en cualquier momento. Esto incluye:
Métricas: seguimiento de indicadores de rendimiento como las tasas de peticiones, la latencia y la proporción de aciertos de caché.
Registros: captura de registros detallados de eventos para diagnosticar problemas.
Trazas: seguimiento de una sola petición a medida que recorre el sistema para identificar cuellos de botella y puntos de error.
Las métricas sencillas solo sirven para operaciones de red reactivas. No ofrecen suficiente contexto, sobre todo teniendo en cuenta la complejidad de una CDN global. Echa un vistazo a 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 cambia constantemente. 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. Tenemos que gestionar una red que no tiene un punto de referencia con el que comparar. A medida que estas variables cambian, nuestra idea de lo que es «normal» también cambia.
Nuestros ingenieros tienen acceso a una visión en tiempo real y completa de cada parte de la red. Cada día se recopilan 2,1 billones de puntos de datos. Nuestra frecuencia de recopilación básica es de 15 segundos, pero podemos capturar algunas métricas a frecuencias mucho más altas para facilitar el diagnóstico y la depuración. Contamos con un conjunto básico de métricas que se recopilan siempre, así como otros conjuntos que se pueden activar cuando se detecta la aparición 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 se presentan de forma distinta según la resolución.
Esta observabilidad en profundidad es fundamental para todo, desde el mantenimiento proactivo hasta la respuesta rápida ante incidentes. Nos permite no solo detectar problemas, sino también entender su causa raíz con precisión, un paso imprescindible para construir un sistema verdaderamente resiliente. Nuestra capacidad de observabilidad también facilita la planificación de la capacidad basada en datos y la optimización de los sistemas. Así podemos hacer ajustes antes de que pase algo malo.
Es fundamental que todo el mundo entienda que esta capacidad no sale gratis. Recopilar tal volumen de datos sale caro. Hay que mantener múltiples canales de datos para recabar las métricas. Se necesita almacenamiento back-end para guardar las métricas. Y se necesitan recursos de computación 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 este gasto es necesario para entender de verdad nuestra compleja infraestructura.
Siguientes pasos
En los próximos artículos, vamos a analizar los distintos pilares de la resiliencia que constituyen la base de nuestra infraestructura global. Hablaremos de cómo diseñamos nuestra red para que tenga una alta disponibilidad, cómo la construimos para que sea resistente a las interrupciones y cómo la gestionamos para que aguante y se recupere incluso de los incidentes más difíciles.

