Infrastrutture e farmacie KPI
Perché è necessario
Le infrastrutture KPI trasformano i sensi di stabilità in obiettivi misurabili, gestiscono il rischio e il focus del lavoro. Le metriche corrette collegano le SLI tecniche ai risultati aziendali (conversione, Time-to-Wallet, LTV) e consentono di pianificare lo sviluppo, il carico e la percentuale di innovazione vs affidabilità.
Nozioni di base: SLI, SLO, SLA e bilancio degli errori
SLI (Service Level Indicator) è un indicatore di qualità misurato: percentuale di richieste di successo, p95 latency, farmacia per intervallo.
SLO (Service Level Objective) è un obiettivo SLI (ad esempio, «successo» 99. 9% in 30 giorni").
SLA (Agreement) è una promessa esterna con mancati pagamenti/crediti. Sempre derivato dalla SLO, ma non uguale a lui.
Bilancio degli errori = '1 - SLO'. Questa è la quota massima consentita per la finestra di misurazione. Usato per prendere decisioni su rilasci e esperimenti a rischio.
- SLO di disponibilità 99. Il 95% in 30 giorni ha calcolato il budget degli errori 0. 05% ≈ 21. 6 minuti di ritardo nel mese del calendario.
Quattro segnali d'oro e altri
1. Latenza (p50/p90/p95/p99, tail più importante della media).
2. Errori (5xx/timeout/errori aziendali).
3. Traffico/banda larga (RPS/QPS, MBps).
4. Saturazione (CPU/RAM/IO/FD/connessioni/GC/quote).
Inoltre: partenza fredda, code/beclog, tempo di deploy, compilazione SLO.
Modello SLI per diversi tipi di servizi
HTTP/API
Disponibilità: '(successo 2xx/3xx - errori logici )/( tutte le richieste)'
Latenza: 'p95' per richieste di successo; Il bersaglio delle rotte calde.
Qualità: percentuale di query con «udienza/scope» corrette (senza errori authZ).
Code/asincrone
Tempo di elaborazione del messaggio: p95 end-to-end ≤ N secondi.
Backlog: mediana Errore di consegna: ≤ Z ppm. Latitanza delle operazioni: p95 get/put/commit. Hit Ratio: ≥ del target la degradazione ha aumentato il carico di origin. Time-to-Wallet p95, successo del deposito/output%, rate di rifiuto PSP. Calcolo della disponibilità e della farmacia Disponibilità del servizio = «richieste di successo/tutte le richieste» (preferibilmente, anziché «minuti di farmacia»). API Gateway: disponibilità ≥ 99. 95 %/30d; p95 latency 120 ms; Errore ≤ 0. 2%. Se il budget degli errori è esaurito del 50% + prima della metà della finestra, viene impostato il «congelamento» del fich/rilascio, il focus è sulla stabilizzazione. Come non chiamarmi di notte per niente? Gli alert sono solo per degrado SLO e sintomi vitali, non per ogni metrica. Pannello SLO: compilazione dei servizi, budget rimanente, mappe delle dipendenze. Headroom: risorse di destinazione (ad esempio CPU <70% p95, RAM <75% p95). 1) Disponibilità su richiesta dove si trovano gli errori aziendali (configurabile). 2) Bilancio degli errori (minuti) Esempio: 30 giorni (43.200 min), SLO 99. 95% → 21. 6 minuti 3) Burn rate Se lo SLO 99. 9% (budget 0. 1%) e l'errore 1% → burn _ rate = 10 x. 4) Disponibilità composita Piccole cadute moltiplicative colpiscono il comune A. Finestre fuori programma (incidenti) - conta. KQL/PromQL (idee) Schomez. previsione di RPS/MBPS per trend ed eventi (tornei, partite, promozioni). 1. Definire percorsi personalizzati critici e negoziare un SLI «dal punto di vista del cliente». Errori tipici Misurano la farmacia di ping ignorando gli errori delle applicazioni. Picchi pianificati: partite/ivent/promozioni - aumentare capacity in anticipo, riscaldare cache/CDN, includere particolari profili di limite. È necessario sottrarre i lavori programmati allo SLO? Perché p95 e non la media? È possibile un singolo SLO per l'intero prodotto? Un forte sistema di infrastruttura KPI è SLI personalizzati, SLO realistico, bilancio degli errori come leva per la gestione dei cambiamenti, alerting intelligente e disciplina degli incidenti e RCA. Collegare le prestazioni tecniche alle metriche aziendali, automatizzare la raccolta e la visualizzazione, rendendo l'infrastruttura prevedibile e la farmacia controllata anche negli scenari di punta.Database/cache
Saturazione: connection pool usage, hit-ratio cache.
Errori timeouts, deadlocks, eviction storms.CDN/statico
Disponibilità POP: mappatura Anycast, guasti compensati dai vicini.Pagamenti (Business SLI)
Alternativa ai nodi di infrastruttura: «Tempo verde/ora finestra».
Finestra di calendario 28-31 giorni, finestra scorrevole: ultimi 30/90 giorni.
Orari di lavoro/finestre critiche: per backoffice può essere considerata una farmacia di routine (ad esempio, 08: 00-22: 00 locali).
SLO di esempio (esempio)
Checkout/Payments: successo del deposito ≥ 98. 5 %/30d; Time-to-Wallet p95 ≤ 90 с; PSP-timeouts ≤ 0. 3%.
Database: p95 read da 10 ms; p95 write da 25 ms; replica lag p95 ≤ 150 мс.
Cache: hit ratio: 85%; eviction storms = 0/30д.
Pagamenti: p95 trattamento da 5 min; Frod Falls Positivi 0. 3%.Bilancio degli errori e gestione delle modifiche
Se il budget viene speso lentamente, è possibile accelerare gli esperimenti/canarini.
Il consumo di budget è collegato a lanci/incidenti specifici tramite «release _ id».
Multi-window, multi-burn rate: finestra corta (5-15 min) + lunga (1-6 h).
Esempio: «Burn rate 14 x per 5 min e 6 x per 1 ora» pagina on-call.
Orologio silenzioso per segnali non P1; Routing per responsabilità (ownership).Dashboard e pratiche di visualizzazione
Pannello Latency: p50/p90/p95/p99, decomposizione su rotte/tenanti/paesi/ASN.
Riquadro errato: codici/motivi, correlazione con rilasci/fitchflag.
Pannello Capacity: taglio CPU/RAM/IO/network/FD/connettori, trend e previsioni.
Pannello affari: conversione, Time-to-Wallet, depositi/conclusioni, effetto di blocco (WAF/antibot).Incidenti, MTTR e post-mortem
Reazioni KPI:
Prestazioni, saturazione e degrado
Hot paths: profilatura dei percorsi critici; 'p99' è più importante della media.
Delradation mode: cache solo, read-only, rettifica drop di query non rilevanti, «limitazione di puntata «/quota.Formule e esempi di calcolo
availability = (total_requests - error_requests) / total_requests
error_budget_minutes = window_minutes (1 - SLO)
burn_rate = observed_error_ratio / (1 - SLO)
A_total ≈ A_gw × A_auth × A_db × A_pspCriteri di misurazione e esclusione
Finestre di manutenzione pianificate - contate solo se la SLA è così prescritta; per SLO spesso non vengono sottratti (o contrassegnati separatamente comè planned _ downtime ').
Sintetico vs utenti reali è utile avere entrambi i canali (RUM + controlli sintetici).Esempi di manufatti
p95 latency по route:
promql sum(rate(http_requests_total{status=~"5.. timeout"}[5m]))
/
sum(rate(http_requests_total[5m]))
Burn rate 5m/1h:
promql histogram_quantile(0. 95, sum(rate(http_request_duration_seconds_bucket[5m])) by (le, route))promql
(
sum(rate(errors_total[5m])) / sum(rate(requests_total[5m]))
) / (1 - 0. 999)SQL (Business SLI)
sql
SELECT date_trunc('minute', finished_at) AS ts,
100. 0 sum((status='SUCCESS')::int)::float / count() AS payment_success_pct,
percentile_cont(0. 95) WITHIN GROUP (ORDER BY EXTRACT(EPOCH FROM (finished_at - started_at))) AS ttw_p95_sec
FROM payments
WHERE finished_at > now() - interval '30 days'
GROUP BY 1 ORDER BY 1;Gestione delle dipendenze e delle cascate
Contratti SLO tra squadre:
Capacity Planning e previsioni
Load testing per «vie d'oro», test separati per PSP/pagamenti.
Il picco di riserva è il target 1. 3×–2. 0 x dal carico di lavoro previsto.Foglio di assegno di implementazione SLO/KPI
2. Seleziona obiettivi SLO e finestra (30/90 giorni); calcolare il bilancio degli errori.
3. Incorporare la raccolta delle metriche nei gateway/servizi, normalizzare codici/cause.
4. Configura i burn-rate alert (breve + lunga finestra), routing e on-call.
5. Visualizza la compilazione SLO, associa ai rilasci/fitchflag.
6. Creare una politica «budget contro il cambiamento» e un processo di congelamento.
7. Retrospettive e RCA per ogni superamento, test di regressione.
8. Rivalutare trimestralmente lo SLO in base all'utilizzo effettivo del budget e degli obiettivi aziendali.
La SLO è stata esposta come «riserva» (99. Il 999%), ma non è possibile e non risolve nulla.
Alert per metriche a basso livello invece dei sintomi dell'utente.
Non c'è nessuna mappa delle dipendenze.
Non c'è nessun collegamento tra la SLO e i comunicati.
Ignorare le code p99 è una buona media, ma pessima VIP utenti.Specifico per iGaming/Fintech
Business SLI: Time-to-Wallet, successo del deposito/ritiro, «velocità di pagamento» p95; alla radice dei dashboard.
PSP/partner: singoli SLO/Dashboard per provider, failover automatico.
Antibot/antifrode: non deve produrre un bilancio degli errori - separare «blocchi legali» da «errori tecnici».
Regolazione: memorizzazione dei registri, riproduzione dei calcoli SLO/SLA, report degli incidenti.FAQ
Di solito no: SLO riflette l'esperienza dell'utente. È possibile riservare eccezioni a SLA.
La media maschera le code; UX definisce le code (p95/p99).
Abbiamo bisogno di un albero SLO: aggregato per prodotto e figlio per percorsi/componenti critici.Totale