FireShield
← Tous les articles

Guide

Soft Kill : se dégrader en douceur avant que la facture ne le fasse

21 octobre 2026 · 4 min de lecture

Au lieu de couper tout le projet, laissez votre application désactiver ses parties coûteuses quand les dépenses franchissent un seuil. Quoi dégrader et comment le mettre en place.

Le principe

Un kill switch qui dissocie la facturation protège votre portefeuille en mettant toute votre application hors ligne, et Google prévient qu'il peut laisser des ressources "irretrievably deleted" (« supprimées de façon irréversible ») (détails). Un Soft Kill est l'étape d'avant : quand les dépenses franchissent un seuil, votre propre application reçoit l'ordre de couper ses parties coûteuses et de garder le reste en marche.

Les utilisateurs peuvent perdre pendant un temps les fonctionnalités d'IA, le traitement d'images ou les mises à jour en temps réel. Ils ne perdent pas l'application, et vous ne perdez pas vos données.

Quoi dégrader, étape par étape

Choisissez quelques niveaux et rattachez chacun à un seuil de budget :

  • 50 % : mettez en pause les traitements par lots, les exports lourds et tout ce qui peut attendre demain.
  • 80 % : coupez les fonctionnalités les plus coûteuses par utilisateur (appels d'IA, transcodage vidéo, listeners en temps réel), avec un message bienveillant.
  • 100 % : mode lecture seule ou maintenance.
  • Au-delà : le Hard Kill, pour quand la dégradation n'a pas suffi.

Comment le mettre en place

Le schéma habituel est un indicateur que lit votre application (Remote Config, un document Firestore ou une variable d'environnement) et un petit endpoint authentifié qui le bascule. Ce qui envoie le signal doit être vérifiable, sinon n'importe qui pourrait couper vos fonctionnalités.

Avec FireShield, le signal est un webhook signé en HMAC-SHA256. Votre endpoint vérifie l'horodatage et la signature, puis dégrade selon le niveau :

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");
}

Le guide complet, avec du code de vérification pour Node, Python, Go, Java et PHP, se trouve dans Webhooks Soft Kill.

Pourquoi c'est mieux qu'un simple kill switch

  • Vous pouvez le placer bas. Comme il ne met pas l'application hors ligne, un Soft Kill peut se déclencher à 50 % sans que personne ne le redoute.
  • Il fait gagner du temps. Le délai de remontée est toujours là, mais la partie coûteuse du trafic s'arrête pendant que vous enquêtez.
  • Il fonctionne sur les pics, pas seulement sur les budgets. Sur la formule Pro, une règle de pic d'utilisation (par exemple, des lectures Firestore à 10 fois leur niveau normal) peut envoyer le même webhook quelques minutes après le début du pic, avec le service concerné dans la charge utile.
Logo FireWand

Vous gérez une base de données Firebase Data Connect ?

FireWand vous permet de parcourir, filtrer et modifier vos tables avec une vraie console SQL, gratuitement pour votre premier projet.

Essayer FireWand →