Blameless Postmortem: Incidente de créditos de Azure

28 Aug 2026 - Memo y Mario

Resumen del incidente

A partir del viernes 14 hasta el jueves 20 de agosto nos quedamos sin servidores de trabajo. Esto sucedió una semana antes de que se acabara el patrocinio porque nos quedamos sin créditos antes. Durante este tiempo no pudimos atender tareas de clase 2 o mayores. Estuvimos sin servicios durante 5 días; 3 días sin servidor de desarrollo. Nos tomó tres días de trabajo migrarnos a AWS.

¿Qué nos condujo al evento?

En octubre de 2023 Digital Ocean nos retiró el patrocinio y Azure nos redujo los créditos de $3,500 a $2,000. Es decir, nos quedamos sin diversidad de servicios. Hicimos un cálculo para saber hasta cuándo nos iban a alcanzar la donación. Nos sobraba para cubrir todo el año. En algún momento comenzamos a usar servicios y aumentamos la capacidad (el costo) del webserver y ya no calculamos el nuevo coste. Nos quedamos sin créditos antes de que se terminara el tiempo de la renovación, ~15 días.

Falla

Nos quedamos sin tres de las 5 máquinas que usamos en el equipo de CD:

Impacto

Nos quedamos sin servidores de trabajo del 11 al 19 de agosto. El impacto lo pudo sentir directamente los tramperos al revisar sus datos y el equipo de CD que no tenían las herramientas diarias para trabajar. Este fallo nos afectó 6 días. Durante este tiempo no pudimos atender tareas de clase 2 o mayores. El director tuvo que atender este asunto durante sus vacaciones.

Detección

La primer alerta llegó cuando nos llega una factura el domingo 9 de agosto con saldo en rojo. Evaristo reenvío la factura al equipo y comenzó a gestionar la renovación de la donación de Azure. El 11 de agosto el equipo de CD solicitamos las credenciales de AWS para gestionar la migración de los servidores. Para mejorar el tiempo de detección podríamos tener una alerta automática, como en AWS, que nos avise que ya se están acabando los créditos.

Respuesta

Evaristo contactó al soporte de Azure para pedir la renovación del patrocinio. El 11 de agosto ya lo habían aprobado. La donación de Azure no se activó inmediatamente debido al saldo vencido. El equipo de CD creo cuentas en AWS Console para poder utilizar los créditos del patrocinio. El 17 de agosto comenzamos la migración de los servidores a AWS. Terminamos con la migración del webserver y el devserver el 19 de agosto.

Recuperación

Reducción del tiempo de recuperación

Si hubieramos explorado la migración a AWS, una vez que ya nos habían aceptado la donación, hubiera sido menor el tiempo de recuperación. Tenemos una dependencia fuerte con el director de CD como administrador/gestor de la donación de Azure y AWS. Si podemos hacernos cargo de esta responsabilidad, tal vez la detección y la respuesta hubieran sido un poco más ágiles.

Línea de tiempo

Cinco “¿por qué?”

  1. ¿Por qué nos quedamos sin servidores de trabajo?
    • Se acabaron los créditos de Azure y no teníamos otro proveedor activo de servicios de Código como infraestructura (IaC).
  2. ¿Por qué no teníamos otro proveedor de IaC?
    • En octubre de 2023 nos quedamos con menos de la mitad de los recursos que teníamos antes. Nos quitaron el patrocinio de DO y nos redujeron la donación de Azure.
    • Comenzamos la gestión de créditos en AWS y la obtuvimos en junio de 2026.
    • No habíamos implementado/probado como crear la IaC en AWS.
  3. ¿Por qué no terminamos con la tarea de usar los créditos AWS?
  4. ¿Por qué no habíamos implementado IaC en AWS?
    • Falta del conocimiento técnico y no darnos el tiempo para aprenderlo.
    • En la priorización no entró está tarea al Kanban
    • No estaba a la vista de todos los créditos restantes
  5. ¿Por qué no entró/tomamos esta tarea?
    • Esta tarea no entraba en el criterio de tarea relacionada con una especie o isla; por lo tanto no llegaba al Kanban
    • Este criterio no se ha actualizado después del cambio de estructura del equipo de CD
  6. ¿Por qué no hemos reaccionado al cambio de estructura del equipo?

Causa raíz

Lecciones aprendidas y cosas ganadas

Acciones correctivas