Come il rilevamento delle anomalie in tempo reale individua interruzioni parziali e silenziose in pochi minuti — e come creare lo stesso sistema su Databricks.
Alcune delle interruzioni di servizio più dannose sono quelle che il monitoraggio non segnala mai: una parte dei clienti riscontra problemi in silenzio, mentre tutti gli health check risultano regolari. Questi "gray failure" causano la perdita di utenti e ricavi per ore prima che qualcuno colleghi i vari elementi. Questo post spiega come individuarli tempestivamente grazie al rilevamento delle anomalie — come lo facciamo in Databricks con un sistema chiamato RADAR e come puoi creare la stessa soluzione per qualsiasi metrica sia fondamentale per il tuo business. È scritto per chi si occupa dell'affidabilità dei servizi: SRE, ingegneri di piattaforma e dei dati, personale di reperibilità e i responsabili engineering a cui fanno riferimento.
Immagina un normale mercoledì. Il tuo lavoro consiste nel garantire l'affidabilità di un servizio rivolto ai clienti e ogni dashboard sulla parete è verde: CPU ottimale, latenza regolare, server attivi, database connesso. In base a ogni segnale monitorato dal tuo team, il sistema sembra perfetto.
Ma non lo è.
Per quasi sette ore, il sistema di monitoraggio ha continuato a segnalare che tutto andava bene, mentre i clienti se ne andavano e i ricavi sfumavano.
Quel mercoledì rappresenta un gray failure da manuale. In superficie tutto sembra funzionare; sotto, un componente specifico ha smesso silenziosamente di funzionare, danneggiando i clienti senza mai attivare un avviso.
Due elementi rendono i gray failure così insidiosi:
Pensa a questa situazione come al fumo dietro una parete. Dall'esterno la casa sembra a posto, ma all'interno il danno si sta diffondendo e più aspetti, più il raggio d'impatto si amplia. Anche i ricercatori hanno dato un nome al problema di fondo: lo studio di Microsoft Gray Failure: The Achilles’ Heel of Cloud-Scale Systems lo definisce "osservabilità differenziale" — i tuoi rilevatori di guasti non notano un problema che invece per gli utenti è evidente.
La maggior parte dei team gestisce i gray failure esattamente come è successo quel mercoledì: aspetta che siano i clienti a segnalarli. Le segnalazioni dei clienti sono importanti — rappresentano un disagio reale per le persone — ma i clienti non dovrebbero fungere da sistema di monitoraggio. Affidarsi esclusivamente alle segnalazioni presenta tre problemi:
La soluzione non è smettere di leggere i ticket: continua a farlo. Si tratta invece di aggiungere un rilevamento automatico che sia sempre attivo e individui ciò che sfugge alle persone. In concreto, serve un sistema che si attivi nel momento in cui un numero di clienti molto superiore alla norma inizia a riscontrare lo stesso problema contemporaneamente.
| Solo segnalazioni dei clienti | Con rilevamento automatico |
|---|---|
| Manuale — facile che sfugga | Individua ciò che sfugge alle persone |
| Ritardato — rilevato in giorni | Rapido — rilevato in tempo reale |
| I clienti riscontrano problemi in silenzio | Segnala il picco — molti utenti contemporaneamente |
Questa è l'idea alla base di RADAR — Reliability Anomaly Detection, Alerting, and Root-cause analysis. Lo abbiamo sviluppato in Databricks per individuare i gray failure in pochi minuti anziché in ore. Il nome è azzeccato: quando la visibilità è scarsa, non aspetti che qualcosa ti colpisca, ma esegui una scansione preventiva alla ricerca di segnali deboli.
Ecco come lo indirizziamo verso un segnale particolarmente utile: gli errori dell'utente.
Un gray failure si manifesta spesso come un picco improvviso di errori che sembrano causati dall'utente. Immagina un gruppo di utenti in una determinata area geografica che all'improvviso non riesce ad avviare un certo tipo di cluster. Ogni richiesta fallisce con l'errore INVALID_ARGUMENT, che dice gentilmente: "questo è un problema tuo".
Ma quando molti utenti riscontrano lo stesso errore "causato da loro" nello stesso momento, la colpa non è più loro. È nostra. Quel picco è esattamente il pattern che RADAR è progettato per individuare.

RADAR trasforma questa intuizione in una pipeline a quattro fasi:
L'utilizzo di RADAR all'interno della nostra infrastruttura ha cambiato radicalmente la gestione di questi incidenti. In precedenza, dipendevamo dai ticket dei clienti per scoprirli, con conseguenti giorni di ritardo. Con RADAR, abbiamo ottenuto una riduzione del 95% dei tempi di individuazione degli incidenti, con una precisione superiore al 90%, senza bisogno dell'intervento umano per identificare la ricorrenza. Di conseguenza, siamo in grado di contenere il raggio d'impatto dei gray failure.
Ecco la parte più importante per te: a RADAR non interessa il tipo di metrica. Noi lo applichiamo agli errori dell'utente, ma lo stesso pattern funziona ovunque un valore numerico possa subire variazioni anomale in silenzio:
Si tratta dello stesso pattern applicato a contesti diversi. Ovunque ci sia qualcosa che rischia di non funzionare correttamente in silenzio, RADAR può essere applicato.

La notizia migliore è che tutti i componenti necessari sono già disponibili su Databricks. Se associ le quattro fasi alla piattaforma, la struttura si presenta così:
E l'intero sistema viene distribuito come un'unica unità tramite un Declarative Asset Bundle (DAB).
Collegare manualmente tutte queste parti è la parte più fastidiosa, quindi l'abbiamo eliminata. Abbiamo sintetizzato l'intero sistema RADAR interno in un unico scaffold: un file markdown che funziona come una ricetta, mappando ogni parte di RADAR su uno specifico componente Databricks (raccolta e archiviazione → una tabella Delta; rilevamento dell'anomalia → un job; avviso e deduplicazione → un ticket; visualizzazione → una dashboard).

Poi arriva il bello. Ti basta inserire la tua metrica — ovunque si trovi il tuo segnale — e passare la metrica, lo scaffold e un breve prompt a un agente IA. Questo creerà l'intero sistema RADAR per te, direttamente su Databricks. Puoi seguire le istruzioni su GitHub per scoprire come crearne uno a partire da un singolo prompt.
Ecco due cose da ricordare:
Ottieni lo scaffold di RADAR su GitHub
Perché il risultato migliore non è una risposta più rapida ai clienti arrabbiati, ma evitare che siano i clienti stessi a dover scoprire i tuoi incidenti al posto tuo.
(Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale
Iscriviti al nostro blog e ricevi gli ultimi articoli direttamente nella tua casella di posta.