Marketplace · Respuesta a incidentes

Una caída de 5 horas en un marketplace, explicada y documentada el mismo día

Una plataforma de marketplace estuvo caída 5 horas. Ese mismo día encontramos la causa, pusimos una solución provisional y redactamos tres explicaciones distintas: para el desarrollador, para el equipo de sistemas y para el dueño.

5 h
de caída de la plataforma de marketplace
El mismo día
causa encontrada y solución provisional aplicada
3
informes: para el desarrollador, sistemas y el dueño

La situación

Una plataforma de marketplace estuvo caída 5 horas. En un marketplace eso significa que los compradores no pueden comprar ni los vendedores vender, y todos quieren saber dos cosas: ¿volverá a pasar? y ¿de quién es el problema?

Reiniciar un servidor devuelve la web, pero no responde a ninguna de las dos preguntas. Sin una causa, la misma caída suele volver en el peor momento.

Qué hicimos

Encontrar la causa, el mismo día. Rastreamos la caída hasta una fuga de memoria en la aplicación. La aplicación consumía cada vez más memoria hasta que el servidor dejó de poder atender peticiones.

Poner una solución provisional. El arreglo de verdad de una fuga de memoria está en el código de la aplicación, y escribirlo y probarlo lleva tiempo. Mientras tanto, una solución provisional evita que la fuga vuelva a tumbar la plataforma.

Explicarlo a tres públicos. Un solo postmortem rara vez sirve para todos, así que escribimos tres:

  • Para el desarrollador: dónde aparece la fuga, las pruebas y qué hay que corregir en el código.
  • Para el equipo de sistemas: qué vigilar, qué hace la solución provisional y qué hacer si vuelven los síntomas.
  • Para el dueño: qué pasó, cuánto tiempo estuvo caído, qué hay ahora y qué falta por hacer, en lenguaje claro.

Resultado

Al final del día, la plataforma funcionaba, protegida por una solución provisional, y cada parte tenía una explicación clara y su propio siguiente paso. El desarrollador tenía lo necesario para corregir la fuga de verdad, sistemas sabía qué vigilar y el dueño sabía cómo estaban las cosas sin tener que leer un stack trace.

Un buen postmortem no busca culpables. Hace que la próxima caída sea menos probable y, si llega, más corta.