← Späť na blog
2025-05-19 · 7 min

SLI, SLO, SLA: meriame dostupnosť bez ilúzií

V skratke: SLI je čo merate, SLO je aký cieľ chcete dosiahnuť, SLA je zmluvný záväzok. Tieto pojmy z Google SRE knihy sú jedno z najpoužitejších slovných spojení v provozovaní webových služieb - a často miešaných.

SLI - Service Level Indicator

Konkrétna metrika, ktorou kvantifikujete spoľahlivosť služby. Príklady:

  • % requestov, ktoré skončili HTTP 2xx alebo 3xx za posledných 30 dní
  • % requestov s response time pod 500 ms
  • % správne doručených emailov (delivered, nie bounced)
  • Pomer úspešných platobných transakcií ku všetkým pokusom

Kľúčové vlastnosti dobrého SLI:

  • Merateľný - existuje konkrétna metóda zberu dát
  • Užívateľsky relevantný - odráža reálnu skúsenosť zákazníka, nie internú technickú metriku
  • Špecifický - "uptime" je príliš vágne; "% úspešných requestov na /api/v1/orders za 5-minútové okno" je SLI

SLO - Service Level Objective

Interný cieľ, ktorú hodnotu má SLI dosahovať. Vyjadruje sa percentuálne za časové okno.

Príklady:

  • "99,9 % requestov na /api/orders má skončiť HTTP 2xx za 30 dní"
  • "95 % requestov má response time pod 200 ms za 7 dní"
  • "99,5 % platobných transakcií prejde úspešne za kalendárny mesiac"

SLO je vyšší ako SLA, aby ste mali buffer. Ak SLA hovorí 99,9 %, interný SLO by mal byť napr. 99,95 % - aby ste mali rezervu na neočakávané incidenty.

SLA - Service Level Agreement

Zmluvný záväzok voči zákazníkom. Definuje čo sa stane, keď nedodržíte SLO - typicky:

  • Service credits - vrátite časť mesačného poplatku (10-50% podľa veľkosti porušenia)
  • Termination rights - zákazník môže vypovedať zmluvu bez sankcie
  • Reporting povinnosť - musíte publikovať postmortem a uptime reporty

SLA má právne dôsledky. SLO je interný cieľ.

Error budget

Kľúčový koncept SRE: downtime, ktorý si môžete dovoliť bez porušenia SLO.

Príklad: SLO = 99,9 % uptime za 30 dní. To je 0,1 % povoleného downtime. 0,1 % z 30 dní = 43 minút mesačne. Toto je váš error budget.

Praktické dôsledky:

  • Ak máte už 35 min downtime v mesiaci, zostáva 8 min do "porušenia SLO". Tím by mal byť konzervatívny pri ďalších deployoch.
  • Ak máte 5 min downtime, máte 38 min budget na riziká - môžete robiť agresívnejšie zmeny, A/B testy, experimenty.
  • Error budget rieši konflikt medzi rýchlosťou inovácie (dev team) a stabilitou (ops team). Obaja sledujú rovnaké číslo.

Praktický príklad: e-commerce API

SLI: % HTTP requestov na POST /api/checkout, ktoré skončili 2xx, merané v 1-minútových bucketoch za posledných 30 dní.

SLO: ≥ 99,9 % úspešných requestov za rolling 30-day window.

SLA (pre Enterprise customers):

  • ≥ 99,5 % uptime za kalendárny mesiac
  • Pri 99,0-99,5 % = 10% credit z mesačného poplatku
  • Pri 95,0-99,0 % = 25% credit
  • Pri < 95,0 % = 50% credit + právo vypovedať zmluvu

Error budget: 99,9 % SLO znamená 43 min downtime / mesiac na budget. SLA dáva ešte väčší buffer pred ekonomickou penalizáciou.

Zhrnutie: tabuľka

PojemČo to jePre koho
SLIKonkrétna metrika spoľahlivostiEngineering tím
SLOInterný cieľ pre SLIEngineering + product
SLAZmluvný záväzokZákazník + legal
Error budgetDowntime ktorý si môžete dovoliť pred SLO breachEngineering risk management

Praktické chyby

  • SLO príliš ambiciózne. 99,99 % vyžaduje active-active redundancy v multiple regions. Pre malú firmu nereálne.
  • Iba uptime SLO. Web môže byť "up" a aj tak nepoužiteľný. Pridajte latency SLO a error rate SLO.
  • SLA bez automatického merania. Manuálne kalkulovaný SLA report je nedôveryhodný. Investujte do automatizovaného uptime trackingu.
  • SLO bez consequences. Ak SLO breach nikoho nezaujíma, nikto sa o ňom nestará. Linkujte na deploy freeze, on-call escalation, atď.

Záver

SLI/SLO/SLA framework nie je papierová byrokracia - je to jazyk, ktorým engineering tím komunikuje so business stakeholdermi o spoľahlivosti. Bez týchto pojmov sa diskusia o stabilite stáva subjektívnou ("náš web je nestabilný"). S nimi je číselná ("za posledných 30 dní sme dosiahli 99,87 % SLI, čo je pod naším 99,9 % SLO - tu je akčný plán").

Merajte SLI v reálnom čase

ePulzio poskytuje historický uptime záznam s 30/90/365-dňovým rollupom. Základ pre SLO reporting.

Spustiť monitoring →