Un'eccezione viene registrata, un allarme scatta, qualcuno la risolve. Quel ciclo funziona - per i guasti abbastanza rumorosi da annunciarsi da soli. I guasti che costano ai nostri clienti soldi veri sono quelli silenziosi: il fornitore ha ruotato silenziosamente una chiave SFTP, l'esportazione notturna ha prodotto un file valido con zero righe, il consumer della coda è "in esecuzione" ma non elabora nulla.
Niente ha generato errori. Tutto si è fermato.
Metriche di flusso invece di controlli di stato
Un controllo di stato risponde a "il processo è vivo?". La domanda che conta è "il lavoro è avvenuto?". Quindi il segnale primario su ogni integrazione che gestiamo è una metrica di flusso - record per intervallo, confrontati con ciò che quell'intervallo trasporta normalmente:
- Ordini sincronizzati all'ora, con riferimenti feriali/weekend - una domenica silenziosa è normale; un martedì silenzioso alle 10:00 è un incidente.
- Arrivi di file come scadenze, non come eventi: "il file prezzi del partner X è dovuto entro le 06:30" - l'allarme scatta quando non arriva.
- Latenza end-to-end, misurata dal timestamp di origine al commit di destinazione, non dall'ingresso in coda.
Il problema delle zero righe
Menzione speciale per il guasto silenzioso più comune che vediamo: un job pianificato che riesce con output vuoto. A monte è cambiato un filtro, una credenziale ha perso l'accesso in lettura a una tabella, un bug nell'intervallo di date ha escluso tutto - e il job esce con codice 0, verde su tutta la linea.
Ogni estrazione che consegniamo porta una soglia di plausibilità: la dimensione di output più piccola che sia mai stata legittima per quel job e quel contesto di calendario. Sotto la soglia, l'esecuzione viene sospesa e a un essere umano viene chiesto: "questo ha prodotto 0 righe; gli ultimi 90 martedì avevano una media di 4.200; procedere?". Quella singola protezione ha rilevato più incidenti reali di tutti i nostri allarmi sulle eccezioni messi insieme.
Il silenzio è un segnale. Strumentatelo deliberatamente, perché non si annuncerà mai da solo.