GH GambleHub

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.

Esempio:
  • 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.

Database/cache

Latitanza delle operazioni: p95 get/put/commit.
Saturazione: connection pool usage, hit-ratio cache.
Errori timeouts, deadlocks, eviction storms.

CDN/statico

Hit Ratio: ≥ del target la degradazione ha aumentato il carico di origin.
Disponibilità POP: mappatura Anycast, guasti compensati dai vicini.

Pagamenti (Business SLI)

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»).
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).

Composizione delle dipendenze (semplificata): Se il servizio A dipende da B e C, in caso di guasti indipendenti:
  • Availability (A) ≈ Av (B) x Av (C) x Av (A 'B, C) - è importante piazzare SLO ai confini.

SLO di esempio (esempio)

API Gateway: disponibilità ≥ 99. 95 %/30d; p95 latency 120 ms; Errore ≤ 0. 2%.
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 degli errori è esaurito del 50% + prima della metà della finestra, viene impostato il «congelamento» del fich/rilascio, il focus è sulla stabilizzazione.
Se il budget viene speso lentamente, è possibile accelerare gli esperimenti/canarini.
Il consumo di budget è collegato a lanci/incidenti specifici tramite «release _ id».

Come non chiamarmi di notte per niente?

Gli alert sono solo per degrado SLO e sintomi vitali, non per ogni metrica.
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 SLO: compilazione dei servizi, budget rimanente, mappe delle dipendenze.
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:
  • MTTD, MTTA, MTTR/MTTC,% di incidenti senza RCA in tempo.
  • Playbook: chi scala, come abilitare i phichflagi/blocchi, come ritoccare il lancio, comunicare con il business.
  • Postmortem: fatti, linea temporale, root cause, azioni immediate/a lungo termine, test di regressione, effetti SLO.

Prestazioni, saturazione e degrado

Headroom: risorse di destinazione (ad esempio CPU <70% p95, RAM <75% p95).
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

1) Disponibilità su richiesta


availability = (total_requests - error_requests) / total_requests

dove si trovano gli errori aziendali (configurabile).

2) Bilancio degli errori (minuti)


error_budget_minutes = window_minutes (1 - SLO)

Esempio: 30 giorni (43.200 min), SLO 99. 95% → 21. 6 minuti

3) Burn rate


burn_rate = observed_error_ratio / (1 - SLO)

Se lo SLO 99. 9% (budget 0. 1%) e l'errore 1% → burn _ rate = 10 x.

4) Disponibilità composita


A_total ≈ A_gw × A_auth × A_db × A_psp

Piccole cadute moltiplicative colpiscono il comune A.

Criteri di misurazione e esclusione

Finestre fuori programma (incidenti) - conta.
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

KQL/PromQL (idee)

Errore SLI (5xx + timeouts) in 5 minuti:
promql sum(rate(http_requests_total{status=~"5..    timeout"}[5m]))
/
sum(rate(http_requests_total[5m]))
p95 latency по route:
promql histogram_quantile(0. 95, sum(rate(http_request_duration_seconds_bucket[5m])) by (le, route))
Burn rate 5m/1h:
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:
  • Degradation policies - In caso di riduzione della dipendenza, il servizio passa alla modalità semplificata.
  • Feature flags: disattivazione delle funzioni non critiche, rilascio grigio per ridurre le code latency.

Capacity Planning e previsioni

Schomez. previsione di RPS/MBPS per trend ed eventi (tornei, partite, promozioni).
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

1. Definire percorsi personalizzati critici e negoziare un SLI «dal punto di vista del cliente».
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.

Errori tipici

Misurano la farmacia di ping ignorando gli errori delle applicazioni.
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

Picchi pianificati: partite/ivent/promozioni - aumentare capacity in anticipo, riscaldare cache/CDN, includere particolari profili di limite.
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

È necessario sottrarre i lavori programmati allo SLO?
Di solito no: SLO riflette l'esperienza dell'utente. È possibile riservare eccezioni a SLA.

Perché p95 e non la media?
La media maschera le code; UX definisce le code (p95/p99).

È possibile un singolo SLO per l'intero prodotto?
Abbiamo bisogno di un albero SLO: aggregato per prodotto e figlio per percorsi/componenti critici.

Totale

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.

Contact

Mettiti in contatto

Scrivici per qualsiasi domanda o richiesta di supporto.Siamo sempre pronti ad aiutarti!

Telegram
@Gamble_GC
Avvia integrazione

L’Email è obbligatoria. Telegram o WhatsApp — opzionali.

Il tuo nome opzionale
Email opzionale
Oggetto opzionale
Messaggio opzionale
Telegram opzionale
@
Se indichi Telegram — ti risponderemo anche lì, oltre che via Email.
WhatsApp opzionale
Formato: +prefisso internazionale e numero (ad es. +39XXXXXXXXX).

Cliccando sul pulsante, acconsenti al trattamento dei dati.