Postmortem: Interrupción del servicio de autenticación de Logto
El 12 de junio de 2025, los servicios de Logto en `logto.app` se vieron brevemente afectados por una interrupción de Cloudflare que impactó el enrutamiento de solicitudes. El problema se resolvió rápidamente, sin impacto en la seguridad de los datos ni en los servicios principales.
Resumen del incidente
Entre las 18:07 y las 18:58 UTC del 12 de junio de 2025, los usuarios que accedieron a los servicios de Logto a través del dominio logto.app
(incluidos los dominios personalizados) experimentaron errores. La interrupción fue causada por una caída en Cloudflare Workers KV, que afectó nuestra capa de enrutamiento. Los servicios de Logto Cloud y Logto Console, que utilizan resolución DNS directa y no dependen de Cloudflare Workers, no se vieron afectados. El servicio fue restaurado en menos de una hora, sin impacto en la seguridad de los datos.
Cronología (UTC)
- 18:07: Las APIs del servicio de autenticación de Logto comenzaron a devolver errores 500 para solicitudes a través de
logto.app
. - 18:24: Se confirmó mediante investigación que la infraestructura de Azure estaba saludable, y que el problema estaba aislado a Cloudflare Workers y KV.
- 18:48: Cloudflare reconoció oficialmente un incidente que afectaba a Workers y KV.
- 18:58: Implementamos una solución temporal eliminando la lógica de caché, lo que restauró el servicio aunque con posible degradación menor del rendimiento.
- 21:00: Tras la estabilización de los servicios de Cloudflare, volvimos a implementar la lógica de caché con una degradación gradual. El rendimiento completo fue restaurado y ahora el servicio es más resistente ante interrupciones similares de KV.
Causa raíz
Este incidente fue provocado por un tiempo de inactividad en Cloudflare Workers KV. Nuestro Worker de Cloudflare enruta las solicitudes a la región correcta de Logto para cada tenant o dominio para garantizar la residencia y el cumplimiento adecuado de los datos. Para mejorar el rendimiento, el Worker usa KV para almacenar en caché estos mapeos de región. Cuando KV se volvió inaccesible, las operaciones de caché fallaron y el Worker lanzó errores en lugar de realizar una operación sin caché, causando la interrupción del servicio.
Los servicios de Logto Cloud y Logto Console no se vieron afectados porque dependen de la resolución DNS directa y no utilizan Cloudflare Workers para el enrutamiento.
Resolución y mejoras
- Eliminamos la dependencia de caché del Worker, restaurando el servicio.
- Después de la recuperación de Cloudflare KV, reimplementamos la lógica de caché con una degradación controlada. Si la caché no está disponible, el servicio sigue funcionando utilizando el enrutamiento directo sin interrupción.
- Mejoras continuas en la infraestructura para incrementar aún más la resiliencia y la disponibilidad.
Impacto
- Los usuarios que accedieron a Logto mediante
logto.app
experimentaron errores durante aproximadamente 50 minutos. - No se perdió ni se comprometió ningún dato de cliente.
- Los servicios de Logto Cloud y Logto Console permanecieron totalmente operativos.
Próximos pasos
- Revisaremos y mejoraremos la gestión de errores en la infraestructura de borde.
- Exploraremos el uso de múltiples proveedores para la infraestructura principal a fin de evitar puntos únicos de falla.
Gracias por tu paciencia y apoyo.