FireShield
← Todos los artículos

Guía

Soft Kill: degrada con elegancia antes de que lo haga la factura

21 de octubre de 2026 · 4 min de lectura

En lugar de apagar todo el proyecto, deja que tu app apague sus partes caras cuando el gasto supera un umbral. Qué degradar y cómo conectarlo.

La idea

Un kill switch que desconecta la facturación protege tu cartera dejando toda tu app fuera de línea, y Google avisa de que puede dejar recursos "irretrievably deleted" («eliminados de forma irrecuperable») (detalles). Un Soft Kill es el paso previo: cuando el gasto supera un umbral, se le indica a tu propia app que apague sus partes caras y mantenga el resto funcionando.

Los usuarios pueden perder durante un tiempo las funciones de IA, el procesamiento de imágenes o las actualizaciones en tiempo real. No pierden la app, y tú no pierdes tus datos.

Qué degradar, paso a paso

Elige unos pocos niveles y asocia cada uno a un umbral del presupuesto:

  • 50%: pausa los trabajos por lotes, las exportaciones pesadas y todo lo que pueda esperar a mañana.
  • 80%: desactiva las funciones que más cuestan por usuario (llamadas a IA, transcodificación de vídeo, listeners en tiempo real), con un mensaje amable.
  • 100%: modo de solo lectura o de mantenimiento.
  • Por encima: el Hard Kill, para cuando degradar no fue suficiente.

Cómo implementarlo

El patrón habitual es un flag que lee tu app (Remote Config, un documento de Firestore o un valor de entorno) y un endpoint pequeño y autenticado que lo cambia. Lo que envíe la señal debe ser verificable, o cualquiera podría apagar tus funciones.

Con FireShield, la señal es un webhook firmado con HMAC-SHA256. Tu endpoint comprueba la marca de tiempo y la firma, y luego degrada por niveles:

const event = JSON.parse(rawBody); // after verifying X-FireShield-Signature
if (event.event === "soft_kill") {
  if (event.thresholdPercent >= 100) await setMode("maintenance");
  else if (event.thresholdPercent >= 80) await setMode("no-ai");
  else await setMode("pause-batch");
}

La guía completa, con código de verificación para Node, Python, Go, Java y PHP, está en Webhooks de Soft Kill.

Por qué es mejor que un único kill switch

  • Puedes fijarlo bajo. Como no tumba la app, un Soft Kill puede saltar al 50% sin que nadie lo tema.
  • Te da tiempo. El retraso de los informes sigue ahí, pero la parte cara del tráfico se detiene mientras investigas.
  • Funciona con picos, no solo con presupuestos. En Pro, una regla de picos de uso (por ejemplo, lecturas de Firestore a 10 veces su nivel normal) puede enviar el mismo webhook minutos después de que empiece el pico, con el servicio afectado en el payload.
Logo de FireWand

¿Gestionas una base de datos de Firebase Data Connect?

FireWand te permite explorar, filtrar y editar tus tablas con una consola SQL de verdad, gratis para tu primer proyecto.

Prueba FireWand →