GH GambleHub

SLO, SLA e monitoraggio dell'affidabilità

(Sezione Tecnologia e infrastruttura)

Breve riepilogo

SLO è un obiettivo interno di qualità, SLA è un obbligo esterno verso il cliente, SLI - come misuriamo la qualità. I principali SLI includono la disponibilità di API e pagamenti, p95/p99 latitanza delle rotte critiche, Time-to-Wallet (TTW), conversione dei pagamenti, avvio dei giochi e metriche delle code. La gestione dell'affidabilità si basa su budget di errori, multi-burn alert, gate chiari di rilascio e dashboard visibili con annotazioni.

1) Termini e differenze

SLI (Service Level Indicator) - Indicatore misurato (ad esempio, percentuale di richieste di successo per finestra di tempo).
SLO (Service Level Objective) - Destinazione SLI (ad esempio, "disponibilità 99. 9% in 30 giorni").
SLA (Service Level Agreement) - contratto/obbligo di compensazione; basato su un vero SLO, ma include riserve legali e finestre di esclusione (planned mainenance, forza maggiore).

Regola: prima stabilizzate la SLI/SLO all'interno e poi fissate la SLA all'esterno.

2) Ossatura SLI per iGaming

TexSLO

Availability: tutte le richieste di successo 2xx/3xx.
Latency: p95/p99 per rotiti chiave ('/deposit ', '/bet', '/game/init ').
Errors, quota 5xx/timeout.
Saturation/Queues: ritardo delle code di pagamento/transazione.

SLI aziendale

Payment conversion: `success/attempt`.
TTW p95: tempo dalla richiesta di ritiro all'iscrizione.
Game start success: sessioni di giochi, inizializzazione del provider.
KYC/AML flow success: completamento del percorso completato.

3) Bilancio degli errori: come contare

Error Budget = 1 − SLO.
Esempio: SLO di disponibilità 99. 9 %/30d bilancio degli errori = 0. L' 1% del tempo ha ≈ 43mn 12s in una finestra di 30 giorni.

Per le quote SLI:

success_ratio = success_requests / all_requests error_ratio  = 1 - success_ratio

La SLO è considerata sulla finestra di scorrimento (30/7/1 giorno) ed è visibile sui dashboard.

Criteri di utilizzo:
  • La rapida «combustione» del budget, i rilasci freeze, il canarino, lavoriamo sulla stabilità.
  • Il budget → consente modifiche più frequenti (controllate).

4) Esempi di SLO per flussi chiave

Payments API:
  • Availability ≥ 99. 9 %/30d
  • Latency p95 `/deposit` ≤ 250 ms / 30д
  • Payment conversion ≥ baseline − 0. 3 %/24h
  • TTW p95 (output) 3 min/24h
Giochi API/provider di giochi:
  • Game init success ≥ 99. 5% / 7д p95 game init ≤ 600 ms / 7д
Backoffice/report:
  • Job success 99 %/7d, lega <5 min (finestre di punta separate).

5) Misurazione: formule e PromQL (idee)

Successo delle richieste:
promql sum(rate(http_requests_total{status=~"2..    3..",service="payments-api"}[5m]))
/
sum(rate(http_requests_total{service="payments-api"}[5m]))
p95 di latitanza:
promql histogram_quantile(0. 95,
sum by (le) (rate(http_request_duration_seconds_bucket{service="payments-api",route="/deposit"}[5m])))
TTW p95 (istogramma degli eventi):
promql histogram_quantile(0. 95,
sum by (le) (rate(ttw_seconds_bucket{flow="withdrawal"}[15m])))
Conversione dei pagamenti:
promql sum(rate(payments_success_total[15m])) / sum(rate(payments_attempt_total[15m]))

6) Burn-rate alert (multi-window)

L'idea è di confrontare la velocità attuale del budget con quella valida.

Esempio per SLO 99. 9%:
  • Fast burn: 14 x di budget in un'ora di programmazione tra 5-15 minuti.
  • Slow burn: 6 budget in 24 ore.
Regole pseudonime:
yaml recording rule: job:http:success_ratio — заранее alert: SLOFastBurn expr: (1 - job:http:success_ratio{job="payments-api"}) > (1 - 0. 999) 14 for: 10m labels: { severity: "page" }

alert: SLOSlowBurn expr: (1 - job:http:success_ratio{job="payments-api"}) > (1 - 0. 999) 6 for: 1h labels: { severity: "ticket" }

7) Dashboard «SLO Card» e operatore

Livello superiore (mappa):
  • Carte di servizio: Availability, p95, Errore-rate, Burn-rate, Saldo Errore Budget.
  • Filtri: «env», «region», «tenant», «variante».
  • Annotazioni di rilascio: Git SHA, tipo (canary/blue-green), ora di cambio.
Drill-down:
  • Confronto stabile vs canary.
  • Taglio per PSP/provider di giochi.
  • Passa agli exemplars (trace _ id) e ai fogli associati.
  • Queue lag e saturation (metriche USE).

8) Processi SLO: gate, freeze, escalation

Gates in CD: la promozione dei canarini è consentita solo se eseguite il proxy SLO (availability, p95, 1962).
Freeze: con fast-burn o saldo del budget zero - Stop delle release prima del ripristino.
Escalation: matrice SEC (SEV1 pagamenti/depositi, giochi SEV2, becofis SEV3).
RCA: analisi senza accuse, aggiornamento dei test/limiti/ficcoflagi.

9) Data/ML-SLO (per raccomandatori/LLM)

Latency: p95 risposta modello ≤ 300 ms (o tokens/s ≥ N).
Quality proxy - percentuale di risposte validi/bassa tossicità, share of helpful.
Freshness: Età dei file/dati X ore.
Cost per 1k events - spese in bilancio.
I gate SLO sono integrati nelle release dei modelli (A/B/rollout canario).

10) Progettazione SLA basata su SLO

Scegli SLO conservatori come base SLA.
Identificare le eccezioni (operazioni pianificate, fornitori di servizi dipendenti esterni, regolamento degli incidenti).
Immettere i compensi relativi ai livelli di infrazione (credito/sconto), ai meccanismi di segnalazione e verifica.

11) Errori frequenti e anti-pattern

No SLO, solo «uptime 100%» è irrealistico, demotivante e nasconde i rischi.
Alert per «ogni metrica» invece di burn-rate - alert-fetig e ignora.
Miscelazione PII in metriche/logi per SLO - Rischi di compilazione.
La cardinalità esplode come etichette.
Nessuna annotazione di rilascio - È difficile associare il degrado alle modifiche.
Budget degli errori opaco - il team non capisce quando si può rischiare.
La SLO non è collegata agli affari - la tecnologia verde, il ricavato rosso.

12) Assegno foglio di implementazione

1. Approva le SLI di base (Availability, p95/p99, Errore-rate, TTW, Conversion).
2. Impostate lo SLO sulle finestre da 30/7/1 giorno e contate l'Errore Budget.
3. Aggiungi recording rule e burn-rate alert (fast/slow).
4. Costruisci una mappa SLO con annotazioni di release e confronti canary/stabile.
5. Includere i gate nel CD senza SLO-OK senza promozione.
6. Immettere le procedure freeze e la matrice SEC delle escalation.
7. Collegare SLO alle metriche aziendali (1962, TTW) e ai percorsi di pagamento.
8. Per Data/ML, definire latency/quality/freshness-SLO.
9. RCA regolari e revisione SLO/soglie (trimestrale).
10. Documentazione SLA solo dopo la stabilizzazione SLO.

13) Esempi di obiettivi «finiti» (come partenza)

API comuni: Availability 99. 9 %/30d; p95 ≤ 250 ms/30d; Error-rate ≤ 0. 3 %/30d.
Payments: Conversion ≥ baseline − 0. 3 %/24h; TTW p95 ≤ 3 min/24h.
Games init: Success ≥ 99. 5 %/7d; p95 ≤ 600 ms/7d.
Backoffice jobs: Success ≥ 99%/7д; ≤ 5 min/7d.
LLM/Reco: tokens/s ≥ N, toxicity viol. ≤ 0. 5 %/7d, freshness 6h.

Riepilogo

L'approccio SLO/SLA trasforma l'affidabilità da «migliore di ieri» in una disciplina misurabile: SLI trasparenti, bilancio comprensibile degli errori, alert per la velocità di combustione, dashboard comprensibili e gate di qualità integrati nelle release. Questo tracciato dà alla piattaforma iGaming prevedibile p95/p99, pagamenti stabili e TTW, quindi migliori ricavi e meno incidenti nelle ore più calde.

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.