Kaj v resnici pomenijo »devetice«
Razpoložljivost (availability, uptime) je delež časa, v katerem storitev deluje. Dovoljeni izpad izračunamo preprosto: dovoljeni izpad = (100 % − razpoložljivost) × dolžina obdobja. Razlika med 99,9 % in 99,99 % je na papirju le ena devetica, v praksi pa desetkrat manj dovoljenega izpada.
| Razpoložljivost | Na dan | Na mesec (30 dni) | Na leto (365 dni) |
|---|---|---|---|
| 99 % | 14 min 24 s | 7 h 12 min | 3 d 15 h 36 min |
| 99,5 % | 7 min 12 s | 3 h 36 min | 1 d 19 h 48 min |
| 99,9 % | 1 min 26 s | 43 min 12 s | 8 h 45 min 36 s |
| 99,95 % | 43 s | 21 min 36 s | 4 h 22 min 48 s |
| 99,99 % | 8,6 s | 4 min 19 s | 52 min 34 s |
| 99,999 % | 0,86 s | 26 s | 5 min 15 s |
Večina pogodb SLA meri razpoložljivost po koledarskih mesecih, zato je dovoljeni izpad v februarju krajši kot v januarju. Letna številka je uporabna za primerjavo, za pogodbo pa šteje mesečna. Natančne vrednosti za poljuben odstotek in obdobje izračunate s kalkulatorjem na tej strani.
SLA, SLO in SLI: tri kratice, tri različne stvari
Izraze pogosto mešamo, a opisujejo različne ravni. Knjiga Google Site Reliability Engineering jih loči takole:
- SLI (Service Level Indicator) je izmerjena vrednost, na primer delež uspešnih zahtev, delež minut, v katerih se storitev odziva, ali odzivni čas.
- SLO (Service Level Objective) je ciljna vrednost za ta kazalnik, na primer 99,95 % uspešnih zahtev v koledarskem mesecu. To je notranji cilj ekipe.
- SLA (Service Level Agreement) je pogodba s stranko, ki vsebuje obljubljeno raven in posledice, če ta ni dosežena. Najpogosteje je to dobropis.
Notranji SLO je zato praviloma strožji od SLA, ki ga obljubite strankam. Razliko med ciljem in dejanskim stanjem SRE imenuje proračun napak (error budget): dokler ga je dovolj, lahko ekipa uvaja spremembe, ko ga zmanjka, ima prednost stabilnost.
Kaj pogodba SLA običajno ne šteje
Odstotek v pogodbi je le polovica podatka. Druga polovica je definicija izpada in seznam izjem. Pri branju pogodbe preverite zlasti:
- Načrtovano vzdrževanje. Mnogi ponudniki vnaprej napovedana vzdrževalna okna izvzamejo iz izračuna. Za uporabnike je storitev takrat vseeno nedosegljiva, zato preverite, kako dolga in kako pogosta so okna in ali potekajo zunaj vašega delovnega časa.
- Definicijo izpada. Šteje le popolna nedosegljivost ali tudi delna? AWS na primer pri regijski razpoložljivosti EC2 šteje izpad šele, ko so brez zunanje povezljivosti hkrati vsi vaši strežniki v dveh ali več conah razpoložljivosti.
- Obdobje merjenja. Mesečno, četrtletno ali letno. Pri letnem obdobju lahko en sam dolg izpad »razredčite« čez vse leto.
- Kdo meri. Ali se upošteva nadzor ponudnika ali vaš, in kako hitro morate izpad prijaviti.
- Izjeme. Višja sila, napake na strani stranke, težave v omrežju zunaj ponudnikovega območja in storitve v predogledu so skoraj vedno izvzete.
Dobropisi niso zavarovanje
Če ponudnik obljubljene ravni ne doseže, vam običajno pripada dobropis, torej delno vračilo mesečne naročnine za prizadeto storitev. Pri Amazon EC2 na primer znaša 10 % pri mesečni razpoložljivosti pod obljubljeno ravnjo, 30 % pod 99 % in 100 % pod 95 %, zahtevek pa je treba vložiti do konca drugega obračunskega obdobja po incidentu.
Poglejmo primer: storitev stane 2.000 EUR na mesec, izpad traja 4 ure v 30-dnevnem mesecu. Razpoložljivost pade na 99,44 % in dobite 10-odstotni dobropis, torej 200 EUR. Če vas ura izpada stane 1.500 EUR, je škoda 6.000 EUR. Dobropis je spodbuda za ponudnika, ne nadomestilo za vas. Zato je pri izbiri ponudnika pomembnejša arhitektura, ki izpade preprečuje, kot višina dobropisa.
Razpoložljivost celotnega sistema: verige in redundanca
Spletna trgovina potrebuje internetno povezavo, aplikacijski strežnik in podatkovno bazo. Če odpove katerikoli člen, trgovina ne deluje. Za komponente v zaporedju se razpoložljivosti zmnožijo: A = A₁ × A₂ × … × Aₖ. Tri komponente z 99,9 %, 99,9 % in 99,95 % dajo skupaj 99,75 %, kar pomeni skoraj 22 ur izpada na leto namesto 8 ur in 46 minut. Vsaka dodatna komponenta razpoložljivost zniža.
Redundanca deluje obratno. Če imate skupino n enakih instanc in za delovanje zadošča ena, velja A = 1 − (1 − a)ⁿ. Dva strežnika s po 99 % skupaj dosežeta 99,99 %, dva s po 99,9 % pa 99,9999 %. Pogoj je, da odpovedujeta neodvisno drug od drugega. Skupno napajanje, isto stikalo, ista različica programske opreme z napako ali neuspešen samodejni preklop to predpostavko porušijo, zato je dejanska razpoložljivost redundantnih sistemov nižja od izračunane.
Praktični nasvet: najprej poiščite najšibkejši člen, saj njegova izboljšava sistem dvigne najbolj. Pogosto to ni strežnik, temveč ena sama internetna povezava, en požarni zid ali podatkovna baza brez replike.
SLA ter RPO in RTO
SLA določa, koliko izpada je dovoljeno v obdobju. RTO (Recovery Time Objective) pove, kako hitro mora sistem po posameznem incidentu znova delovati, RPO (Recovery Point Objective) pa, koliko podatkov lahko izgubite. Številke morajo biti usklajene: če je RTO za kritični sistem 4 ure, en sam večji incident porabi več, kot dovoljuje mesečni SLA 99,9 % (43 minut). Visok SLA zato zahteva replikacijo in hiter preklop, ne le dobrih varnostnih kopij.
Kako določiti RPO in RTO po skupinah sistemov in preveriti, ali ju vaša obnova dosega, preberite v vodniku varnostno kopiranje, RPO in RTO.
Kontrolni seznam za pogodbo SLA
- Z vodstvom določite, koliko vas stane ura izpada in koliko izpada na mesec je še sprejemljivo.
- Narišite odvisnosti storitve in izračunajte razpoložljivost celotne verige, ne le posameznih komponent.
- Preverite definicijo izpada, obdobje merjenja in način merjenja.
- Preverite trajanje, pogostost in čas načrtovanih vzdrževalnih oken.
- Preberite seznam izjem in postopek ter rok za uveljavljanje dobropisa.
- Poleg razpoložljivosti zahtevajte tudi odzivne čase podpore in čas odprave napak po prioritetah.
- Uskladite SLA z RPO in RTO ter z načrtom obnove po katastrofi.
- Uvedite lasten neodvisen nadzor razpoložljivosti in mesečno poročanje.
Humanfrog upravlja infrastrukturo v podatkovnih centrih TIER III v Sloveniji ter načrtuje redundantne arhitekture in nadzor. Če želite rezultate kalkulatorja preveriti s strokovnjakom ali pregledati obstoječo pogodbo SLA, nam pišite.