Byznys · 7 min čtení

Jak vypadá důvěryhodné SLA na 99,9 % (a proč je „100% dostupnost“ varovný signál)

Důvěryhodné SLA slibuje měsíční dostupnost 99,9 % měřenou zvenku, s jasnými výjimkami, garantovanými reakčními dobami podle priority a servisními kredity, když se cíl nesplní. To připouští zhruba 43 minut výpadku měsíčně. Dodavatel, který slibuje 100% dostupnost nebo pevné doby opravy chyb, buď neměří, nebo vám neříká pravdu.

Autor BacklooPublikováno

Hlavní body

  • Měsíční dostupnost 99,9 % připouští zhruba 43 minut výpadku za 30denní měsíc, tedy asi 8,8 hodiny ročně.
  • SLA je smlouva, SLO je interní cíl a SLI je měření. Dobrý dodavatel vám ukáže všechny tři.
  • Dodavatel může poctivě garantovat reakční doby. Doby vyřešení závisí na problému a jsou best effort.
  • Hledejte servisní kredity, vyjmenované výjimky a převzaté SLA třetích stran. Sliby „100% dostupnosti“ jsou varovný signál.

Co dělá SLA důvěryhodným

Důvěryhodné SLA je dost konkrétní na to, aby se dalo měřit, a upřímné v tom, co se může pokazit. Přesně definuje dostupnost, stanoví realistický cíl, například 99,9 % za měsíc, vyjmenuje, co je vyloučené, garantuje reakční doby podle priority a říká, co dostanete zpět, když se cíl nesplní. Cokoli vágnějšího je marketingová stránka, ne úroveň služby.

Opak se pozná snadno: „100% dostupnost“, „podpora 24/7“ bez reakčních dob, „chyby opravené do 4 hodin“ a ani zmínka o kreditech. V obchodní prezentaci to zní dobře, ale jakmile se něco rozbije, nikoho to neochrání.

SLA vs. SLO vs. SLI

SLI (service level indicator, ukazatel úrovně služby) je měření, SLO (service level objective, cíl úrovně služby) je interní cíl pro toto měření a SLA (service level agreement, smlouva o úrovni služeb) je smluvní slib s důsledky. SLO bývá přísnější než SLA, aby tým zareagoval dřív, než je smlouva v ohrožení.

Tři pojmy, tři úlohy
PojemCo to jePříkladKoho to zajímá
SLIMěřený poměr dobrých událostí ke všem událostemPodíl HTTP požadavků, které do 1 s vrátily jinou odpověď než 5xxInženýry
SLOInterní cíl pro SLI v určitém období99,95 % dobrých požadavků za klouzavých 30 dníEngineering + produkt
SLASmluvní závazek s nápravnými opatřenímiMěsíční dostupnost 99,9 %, pod cílem servisní kredityKlienta + dodavatele

Zeptejte se dodavatele na definici SLI, která stojí za jeho SLA. Pokud dostupnost znamená „server odpověděl na ping“, číslo může zůstat zelené, zatímco vaši uživatelé vidí chyby.

Výpočet výpadků: co které číslo připouští

Každá další devítka snižuje povolený výpadek desetkrát. Při 99,9 % máte zhruba 43 minut za 30denní měsíc; při 99,99 % asi 4 minuty, což je méně času, než většina týmů potřebuje, aby si všimla špatného nasazení, diagnostikovala ho a ručně ho vrátila zpět.

Povolený výpadek za 30denní měsíc a za 365denní rok
DostupnostZa měsíc (30 dní)Za rok (365 dní)Realistické pro
99 %7,2 hodiny87,6 hodiny (≈ 3,65 dne)Interní nástroje, prototypy
99,5 %3,6 hodiny43,8 hodinyNekritické firemní aplikace
99,9 %43,2 minuty8,76 hodinyVětšinu produkčních webových aplikací a API
99,95 %21,6 minuty4,38 hodinySystémy kritické pro tržby, s redundancí
99,99 %4,32 minuty52,6 minutySystémy ve více regionech s automatickým failoverem

Přechod z 99,9 % na 99,99 % není změna konfigurace. Obvykle znamená redundantní infrastrukturu napříč zónami nebo regiony, automatický failover, migrace bez výpadku a rotaci pohotovostí. Podle toho ho naceňte — a zeptejte se, jestli byznys v těch 39 minutách navíc skutečně přichází o peníze.

Error budget mění cíl v rozhodovací pravidlo

Error budget (rozpočet chyb) je množství nespolehlivosti, které vaše SLO připouští, a říká týmu, kdy dodávat a kdy se zastavit a opravovat. Při SLO 99,9 % a milionu požadavků měsíčně je rozpočet 1 000 neúspěšných požadavků. Dokud z rozpočtu něco zbývá, dodávejte funkce. Když dojde, má práce na spolehlivosti přednost, dokud se rozpočet neobnoví.

yaml
# Příklad definice SLO (ve stylu OpenSLO)
apiVersion: openslo/v1
kind: SLO
metadata:
  name: api-availability
spec:
  service: web-api
  description: Requests served without a 5xx error
  budgetingMethod: Occurrences
  timeWindow:
    - duration: 30d
      isRolling: true
  indicator:
    spec:
      ratioMetric:
        good:
          metricSource:
            spec:
              query: sum(rate(http_requests_total{code!~"5.."}[5m]))
        total:
          metricSource:
            spec:
              query: sum(rate(http_requests_total[5m]))
  objectives:
    - displayName: Internal target (stricter than the 99.9% SLA)
      target: 0.9995

Na formátu záleží méně než na zvyku. SLI si sepište, upozornění posílejte podle rychlosti čerpání rozpočtu (burn rate), ne na jednotlivé chyby, a rozpočet procházejte na stejné schůzce, na které plánujete funkce.

Reakční doba vs. doba vyřešení

Reakční doba udává, jak rychle kvalifikovaný inženýr problém potvrdí a začne na něm pracovat. Doba vyřešení udává, jak dlouho trvá ho opravit. Dodavatel má pod kontrolou to první. To druhé závisí na chybě, na datech a někdy i na třetích stranách, takže poctivá SLA garantují reakci a vyřešení berou jako best effort s pravidelnými aktualizacemi.

Slib typu „všechny kritické chyby opravené do 4 hodin“ buď nebude dodržen, nebo bude splněn uspěchanou záplatou, která způsobí další incident. Místo toho chcete závazek rychle reagovat, nejdřív obnovit službu (rollback, failover, feature flag) a příčinu pak opravit pořádně.

Matice priorit od P1 po P4

Matice priorit převádí dopad na byznys na reakční závazky, takže se ve 2 ráno nikdo nehádá o naléhavosti. Úrovně definujte podle toho, co zažívají uživatelé, ne podle toho, jak moc je rozladěný ten, kdo problém hlásí. Reakční doby níže jsou ilustrativní příklad; správné hodnoty závisí na vašem tarifu a pracovní době.

Příklad matice priorit (ilustrativní hodnoty)
PrioritaVýznamPříkladPříklad reakceFrekvence aktualizací
P1 KritickáSlužba nefunguje nebo jsou ohrožena data většiny uživatelůPokladna selhává, přihlášení nefunguje, podezření na únik datDo 1 hodiny, 24/7Každou hodinu do obnovení
P2 VysokáKlíčová funkce omezená, bez náhradního postupuPlatby jsou pomalé, administrace nepoužitelnáDo 4 pracovních hodinDenně
P3 BěžnáDrobná funkce nefunguje, náhradní postup existujeExport selhává u jednoho formátuDo 1 pracovního dnePři posunu
P4 NízkáKosmetická vada nebo dotazPřeklep, chyba v rozvržení, návodDo 3 pracovních dnůPři vyřešení

Servisní kredity: co se stane, když se cíl nesplní

Servisní kredity jsou částečné vrácení měsíčního poplatku, když dostupnost klesne pod SLA. Nikdy nepokryjí vaše ušlé tržby a ani to není jejich účel. Existují proto, aby měl dodavatel finanční důvod cíl splnit a aby nesplnění mělo zdokumentovaný důsledek.

Odstupňované kredity (podobně jako odstupňované kredity Google Cloud)
Měsíční dostupnostKredit
Pod 99,9 %10 % měsíčního poplatku
Pod 99,0 %25 % měsíčního poplatku
Pod 95,0 %50 % měsíčního poplatku

Zkontrolujte, jak se kredity uplatňují. Pokud musíte v krátké lhůtě podat žádost s vlastními důkazy, měl by dodavatel aspoň zveřejňovat data z měření, která k tomu potřebujete.

Výjimky, které má každé poctivé SLA

Každé poctivé SLA vylučuje výpadky, které dodavatel nemůže ovlivnit nebo které předem ohlásil. Nejde o vyhýbání se odpovědnosti, ale o to, aby byl zbývající slib měřitelný. Důležité je, aby byly výjimky vyjmenované a úzké.

  • Ohlášená údržba. Plánované práce ohlášené předem (například 48 hodin dopředu), ideálně v hodinách s nízkým provozem a s měsíčním stropem.
  • Poskytovatelé třetích stran. Pokud aplikace běží u cloudového, databázového nebo platebního poskytovatele, dostupnost této vrstvy přebírá SLA daného poskytovatele. Dodavatel nemůže slíbit víc než platforma, na které stojí.
  • Problémy způsobené klientem. Změny provedené mimo dohodnutý proces, překročené limity využití nebo přístupové údaje sdílené a kompromitované na straně klienta.
  • Vyšší moc a útoky nad rámec rozumné ochrany. Definované ve smlouvě, ne používané jako paušální výmluva.

Proč je „100% dostupnost“ varovný signál

Žádný systém, který se nasazuje, záplatuje a závisí na sítích, nedosáhne 100% dostupnosti. Dodavatel, který ji slibuje, tedy buď neměří, nebo si výpadek nadefinoval tak, aby se nepočítal, anebo spoléhá na to, že to nikdy nezkontrolujete. Zkušení CTO to čtou jako znamení, že dodavatel nikdy vážně neprovozoval produkční systémy.

Na co se zeptat dodavatele, než podepíšete

Ptejte se tak, aby se SLA muselo stát konkrétním: jak se dostupnost měří, co je vyloučené, co znamená která priorita a co dostanete, když cíl nesplní. Dobrý dodavatel odpoví na každou otázku jednou nebo dvěma větami a ukáže na příslušný článek smlouvy.

  • Jaké přesné SLI stojí za „dostupností“ a měří se zvenku vaší infrastruktury?
  • Je cíl měsíční, nebo roční, a v jakém kalendářním či klouzavém období?
  • Které komponenty jsou pokryté a které přebírají SLA poskytovatele třetí strany?
  • S jakým předstihem ohlašujete údržbu a má měsíční strop?
  • Jaké jsou reakční doby podle priority a v jakých hodinách platí?
  • Kdo rozhoduje o prioritě incidentu a jak můžu eskalovat?
  • Jaké servisní kredity platí a jak se uplatňují?
  • Dostanu stavovou stránku, zprávy o incidentech a měsíční report dostupnosti?
  • Komu patří kód, cloudové účty a monitoring, pokud se rozejdeme?
  • Co zahrnuje údržba: aktualizace závislostí, bezpečnostní záplaty, zálohy a testy obnovy?

Dostupnost je jen polovina údržby

SLA pokrývá dostupnost a reakci; o zdraví kódu se nepostará. Závislosti stárnou, bezpečnostní záplaty se hromadí a zkratky se sčítají. Plán údržby by na tuto práci měl vyčlenit čas, jinak se SLA bude každý měsíc plnit hůř.

10–20 %

technologických rozpočtů na nové produkty se odkloní na řešení technického dluhu. — McKinsey, “Tech debt: Reclaiming tech equity” ↗

Plánovaná pravidelná práce na dluhu je levnější než její havarijní verze. Jeden ze způsobů popisujeme v článku jak splácet technický dluh, aniž byste zastavili vývoj funkcí.

Jak to formulujeme v plánech Care v Backloo

Naše plány Care garantují měsíční dostupnost 99,9 % u systémů, které hostujeme a provozujeme. To je zhruba 43 minut výpadku měsíčně, bez údržby ohlášené 48 hodin předem. Pod cílovou hodnotou platí servisní kredity podle odstupňované tabulky výše.

  • Reakční doby, ne doby opravy. Garantujeme reakční doby podle priority, nejdřív obnovíme službu a příčiny pak opravíme pořádně.
  • Převzatá SLA otevřeně uvedená. Dostupnost infrastruktury třetích stran se řídí SLA daného poskytovatele a smlouva to výslovně říká.
  • Dvě úrovně. Care začíná na 490 € měsíčně a Care Plus na 1 490 € měsíčně; stránka plánů přesně uvádí, co která zahrnuje.
  • Váš GitHub, váš cloud, vaše IP. Odchod je předání, ne vyjednávání o rukojmích.

Jak vám Backloo může pomoct

Pokud porovnáváte dodavatele, použijte checklist výše i na nás. Pokud už provozujete produkční aplikaci a chcete písemné SLA, za kterým stojí skutečné měření, podívejte se na plány údržby a SLA. Pokud systém potřebuje redundanci dřív, než dává vyšší cíl smysl, jde o práci na backendových systémech. Máte nejdřív otázky? Ozvěte se.

Otázky

Kolik výpadku připouští dostupnost 99,9 %?

Zhruba 43,2 minuty za 30denní měsíc, tedy asi 8,76 hodiny ročně. Dostupnost 99,95 % připouští asi 21,6 minuty měsíčně a 99,99 % asi 4,3 minuty.

Jaký je rozdíl mezi SLA, SLO a SLI?

SLI je měření (například podíl úspěšných požadavků), SLO je pro něj interní cíl a SLA je smluvní slib s nápravnými opatřeními, jako jsou servisní kredity. SLO bývá přísnější než SLA.

Proč SLA garantují reakční doby, a ne doby opravy?

Dodavatel má pod kontrolou, jak rychle začne kvalifikovaný inženýr na problému pracovat, ale ne to, jak dlouho bude trvat oprava neznámé chyby. Poctivá SLA garantují reakci, nejdřív obnoví službu a opravu příčiny berou jako best effort s pravidelnými aktualizacemi.

Pokrývá SLA na 99,9 % výpadky mého cloudového poskytovatele?

Obvykle ne nad rámec toho, co garantuje sám poskytovatel. Dostupnost infrastruktury třetích stran přebírá SLA daného poskytovatele a dobrá smlouva tyto poskytovatele výslovně jmenuje.

Je vyšší SLA vždycky lepší?

Ne. Každá další devítka vyžaduje víc redundance, automatizace a pohotovostí a stojí víc. Cíl volte podle toho, kolik vaši firmu skutečně stojí hodina výpadku.

Čtěte dál

  • 01 — Byznys · 7 min čtení

    Záchrana, refaktoring, nebo přepis? Jak se rozhodnout, co s kódem postaveným s AI

    Zachraňujte, když produkt funguje a problémy jsou v zabezpečení, konfiguraci a chybějících pojistkách. Refaktorujte, když funguje, ale každá změna je pomalá a riskantní. Přepisujte, jen když je zásadně špatně datový model nebo platforma — a i pak po částech. Rozhoduje datový model, ne to, jak neuspořádaně kód vypadá.

  • 02 — Záchrana · 9 min čtení

    Aplikace z Lovable nebo Bolt funguje v náhledu, ale v produkci se rozbije: příčiny a řešení

    Většina aplikací postavených s AI, které fungují v náhledu a v produkci selžou, padá ze stejné hrstky důvodů: proměnné prostředí zapečené při buildu, přesměrování přihlášení stále mířící na náhled, chybějící autorizace v databázi, webhooky, které nejsou idempotentní, CORS a žádný monitoring chyb. Každý z nich má konkrétní a ověřitelné řešení.

  • 03 — Záchrana · 9 min čtení

    Checklist Supabase Row Level Security pro aplikace postavené s AI (s SQL)

    Pokud vaše aplikace komunikuje se Supabase přímo z prohlížeče, je Row Level Security vaším řízením přístupu. Zapněte RLS na každé vystavené tabulce, pro každou operaci napište jednu policy s auth.uid(), klíč service_role držte na serveru, zabezpečte storage buckety a testujte jako anonymní uživatel i jako druhý účet. SQL ke zkopírování najdete níže.

100 — INSIGHTS

Zaseknutí mezi demem a spuštěním?

Pošlete nám kontext. Do 24 hodin dostanete odpověď s plánem — nebo upřímné ne.