Czy stać Cię na niedostępność? Umowy SLA
Scenka: Backup
Przechodząc do meritum scenki z tego tygodnia.. Ile razy się nam zdarzało w firmie, że coś przestało działać (np. serwer) i właśnie w tej sekundzie nagle wszyscy zaczęli akurat tego używać? Prawdopodobnie zawsze tak jest, że gdy coś działa, to nikt tego nie zauważa, a gdy przestanie.. To nagle wszyscy to widzą…
Może więc jeżeli coś takiego nam się zdarza dosyć często, to czas zainwestować w nowe stanowisko w firmie? Bo czy stać Nas na dużą nieplanowaną niedostępność? Jak to wpływa na Naszą firmę? I jaka jest rzeczywista niedostępność naszych serwerów/baz danych/serwisów/usług? I czy przypadkowo nie grozi nam to dodatkowymi stratami? Można to w bardzo prosty sposób obliczyć..
W postaci matematycznej wygląda to mniej więcej tak:
Availability = MTTF/MTBF
gdzie:
MTBF = MTTF + MTTR
oraz
MTTF=MTBF-MTTR
czyli inaczej:
Availability = MTTF/(MTTF +MTTR)
- MTTF -> Mean Time To Failures
- MTTR -> Mean Time To Repair
- MTBF -> Mean Time Between Failures
Czyli na polski dostępność jest to czas do wystąpienia błędu dzielony przez ten czas i czas jaki zajęła nam naprawa tego błędu. Całość w odniesieniu np. rocznym, podana w procentach.
Exercise:
Okres: 365 dni
MTTR: 52 min
Czyli:
MTBF=365*24*60
MTTR=52
MTTF=(365*24*60)-52
A=[(365*24*60)-52]/(365*24*60)=99,9901065%≈99,99%
W ten sposób możemy sprawdzić, jak długo w danym okresie nasze usługi są niedostępne. A następnie po otrzymaniu takich danych jesteśmy w stanie stwierdzić, ilu klientów w tym okresie możemy stracić/zaniedbać. Np. poprzez proste działanie:
Cps*InA[s]*T[s]
- Cps – klientów na sekundę
- InA – inaccessibility – obliczana w sekundach
- T – czas w przeliczniku danego okresu na sekundy (np. 1[h] -> 3600[s])
Ostatnio bardzo modne jest określanie dostępności w sławnych dziewiątkach, czyli podstawowa dostępność od jakiej możemy już się cieszyć wynikami to 99,99% (czyli słynne cztery dziewiątki). Gdy chcemy już rozmawiać o high availability, wtedy skala zaczyna się od 99,999% (pięć dziewiątek). Następnie 99,9999% (sześć dziewiątek) – czyli very high availability oraz 99,99999% (siedem dziewiątek) – czyli ultra availability. W ten sposób właśnie zaznaczamy też klasę dostępności czyli od ilości dziewiątek kolejno 90% – 1; 99% – 2; 99,9% – 3; 99,99% – 4; itd..
Niektórym może się wydawać, że różnice między tymi dziewiątkami są nie wielkie.. I że dostępność rzędu 99% to sporo… Ale dostępność w 99% to aż niedostępność w 1%, czyli przez 3,65 dni w odniesieniu rocznym! To tak, jakby pracować 4 dni za darmo!
A tak to wygląda przy poszczególnych poziomach w odniesieniu do miesiąca:
- 90% 72 hours
- 99% 7.20 hours
- 99.9% („three nines”) 43.2 minutes
- 99.99% („four nines”) 4.32 minutes
- 99.999% („five nines”) 25.9 seconds
- 99.9999% („six nines”) 2.59 seconds
- 99.99999% („seven nines”) –
Czyli w odniesieniu rocznym:
- 90% 36.5 days!
- 99% 3.65 days!
- 99.9% („three nines”) 8.76 hours
- 99.99% („four nines”) 52.6 minutes
- 99.999% („five nines”) 5.26 minutes
- 99.9999% („six nines”) 31.5 seconds
- 99.99999% („seven nines”) 3 seconds
Jak widać, np. na przykładzie czwartego i piątego poziomu jest to kolosalna różnica.
Jeżeli nie chcesz ryzykować takich strat, to jak wspomniałem już na początku – czas zainwestować w nowe stanowisko w firmie. Oczywiście po ówczesnym obliczeniu zysków i strat jakie niesie ze sobą taka decyzja – bo w przypadku małych firm może to nie być aż tak konieczne i przynosić jedynie straty. A mianowicie mowa tutaj o podpisaniu umowy SLA (Service Level Agreement), która by wskazywała dokładną dostępność – taką, poniżej której serwer nie powinien schodzić – oraz obciążała w tym kierunku osobę odpowiedzialną za dostępność danego serwera. Przy wdrażaniu takich umów trzeba oczywiście pamiętać o tym, aby brać przy jej tworzeniu pod uwagę wszystkie aspekty. Aby przewidziany też był czas minimalnej niedostępności na wprowadzanie kontroli koniecznych serwera, niewielkich napraw oraz aby czas przeznaczony na naprawę usterki był wystarczający do jej wykonania. No i oczywiście zadbać też o szybki dostęp do backupów, by szybkie przywrócenie danych było możliwe w razie problemów.
Dzięki wzięciu pod uwagę wysokiej dostępności Nasz serwer będzie przygotowany na wszelkiego rodzaju błędy, awarie, obecność niekompetentnego personelu, katastrofy (których ostatnio dosyć sporo) itp.
Autor: Daniel 'zoNE’ Gabryś