Výnimka sa zaloguje, spustí sa upozornenie, niekto to opraví. Táto slučka funguje - pri zlyhaniach, ktoré sú dostatočne hlasné na to, aby sa samé ohlásili. Zlyhania, ktoré stoja našich klientov skutočné peniaze, sú tie tiché: dodávateľ potichu obmenil SFTP kľúč, nočný export vytvoril platný súbor s nulovými riadkami, konzument frontu „beží", ale nič nespracúva.
Nič nezlyhalo. Všetko sa zastavilo.
Metriky toku namiesto health checkov
Health check odpovedá na otázku „je proces nažive?". Otázka, na ktorej záleží, je „stala sa tá práca?". Preto je primárnym signálom pri každej integrácii, ktorú prevádzkujeme, metrika toku - počet záznamov za interval, porovnaný s tým, čo daný interval bežne nesie:
- Objednávky synchronizované za hodinu, s referenčnými hodnotami pre pracovné dni/víkendy - tichá nedeľa je normálna; tichý utorok o 10:00 je incident.
- Príchody súborov ako termíny, nie udalosti: „cenový súbor partnera X má prísť do 06:30" - upozornenie sa spustí, keď súbor nepríde.
- Oneskorenie od začiatku po koniec, meraná od časovej pečiatky zdroja po zápis v cieli, nie od vstupu do fronty.
Problém nulových riadkov
Osobitná zmienka o najčastejšom tichom zlyhaní, aké vídame: naplánovaná úloha, ktorá uspeje s prázdnym výstupom. Nadriadený systém zmenil filter, prihlasovacie údaje stratili prístup na čítanie k jednej tabuľke, chyba v časovom okne dátumu vylúčila všetko - a úloha skončí s kódom 0, celá zelená.
Každý extrakt, ktorý dodávame, nesie hranicu vierohodnosti: najmenšiu veľkosť výstupu, ktorá bola pre danú úlohu a kalendárny kontext niekedy legitímna. Pod touto hranicou sa beh pozastaví a človeka sa spýta: „toto vygenerovalo 0 riadkov; posledných 90 utorkov malo priemer 4 200 - pokračovať?" Táto jediná poistka odhalila viac skutočných incidentov než všetky naše upozornenia na výnimky dokopy.
Ticho je signál. Merajte ho zámerne, pretože sa nikdy neohlási samo.