Dostępność systemów informatycznych

Zdecydowana większość nowoczesnych i innowacyjnych firm wykorzystuje do wspierania swojej działalności systemy informatyczne. Wyzwaniem przed jakim stają takie firmy jest zapewnienie ciągłości działania w przypadku awarii. Brak dostępu do systemów IT może powodować znaczną utratę dochodów, nadszarpnięcie wizerunku firmy czy też utratę danych w wyniku źle zabezpieczonych systemów.

System IT jest wysoko dostępny jeśli działa nieprzerwanie w długim czasie. Najczęściej składa się z wielu komponentów sprzętowych i programowych, które wspólnie pracują w celu zapewnienia ciągłości działania nawet w przypadku awarii jednego lub kilku elementów.

Jaka jest miara wysokiej dostępności ?

Aby zapobiec przestojom w pracy z pomocą przychodzą systemy o wysokiej dostępności. Mówimy tutaj o dostępności z punktu widzenia użytkownika i możliwości korzystania z usług oferowanych przez systemy informatyczne. Dostępność systemów wyrażana jest w procentach i oznacza czas w jakim usługi będą dostępne dla użytkowników. 100% dostępność oznacza, że dana usługa dostępna jest bez przerw. W praktyce mamy do czynienia z dostępnością wyrażaną ilością dziewiątek „9”. „Jedna dziewiątka” to 90% dostępności systemu, co oznacza, że usługi mogą być niedostępne przez 36,53 dnia w ciągu roku. Systemy krytyczne mogą wymagać dużo wyższej dostępności i użytkownicy będą tolerować minimalne przestoje. Dostępność wyrażona przez „sześć dziewiątek” oznacza dostępność na poziomie 99,9999% i maksymalny czas niedostępności systemu przez 31,56 sekundy w roku.

Poniższa tabela przedstawia jak ilość „dziewiątek” przekłada się na czas niedostępności systemu:

Poziom dostępnościMaksymalny czas przestoju w rokuMaksymalny czas przestoju na dzień
Jedna dziewiątka: 90%36,53 dni2,40 godziny
Dwie dziewiątki: 99%3,65 dni14,40 minut
Trzy dziewiątki: 99,9%8,77 godzin1,44 minuty
Cztery dziewiątki: 99,99%52,60 minut8,64 sekund
Pięć dziewiątek: 99,999%5,26 minut864 milisekund
Sześć dziewiątek: 99,9999%31,56 sekund86,40 milisekund

Należy pamiętać też o tym, że czas działania systemu (uptime) niekoniecznie oznacza dostępność systemu dla użytkowników, ponieważ pomiędzy systemem, a użytkownikiem może wystąpić np. problem z komunikacją sieciową. W takim przypadku system działa, ale funkcjonalnie nie jest dostępny dla użytkowników. Dlatego podczas projektowania systemów IT i analizy spełnienia kryterium dostępności bardzo ważna jest perspektywa z jakiej postrzegamy sprawne działanie.

To jaka dostępność systemów IT będzie odpowiednia dla danej firmy zależne jest wielu czynników. Więcej dziewiątek będzie wiązało się z potrzebą większego budżetu na rozwiązania IT. Dlatego bardzo ważną decyzją biznesową jest to na jaki przestój firma może sobie pozwolić bez negatywnego wpływu na utratę przychodów czy zaufania swoich klientów. Być może wybrane krytyczne aplikacje i usługi powinny działać z dostępnością 99,9999% natomiast pozostała część z niższym reżimem tak, aby zachować wysoką dostępność dla najważniejszych procesów i jednocześnie optymalizować koszty w stosunku do osiąganych korzyści.

Dobre praktyki

  • Eliminacja pojedynczych punktów awarii. Projektując systemy informatyczne o wysokiej dostępności podstawową zasadą jest eliminacja pojedynczych punktów awarii. Są to te komponenty składowe rozwiązania, których awaria bądź uszkodzenie powoduje przerwę w działaniu całego systemu. Żeby je wyeliminować wprowadza się nadmiarowość kluczowych elementów, dzięki czemu w przypadku ich awarii może nastąpić automatyczne przełączenie na pozostałą sprawną część systemu. Najprostszym przykładem mogą być dwa zasilacze, które są zainstalowane w serwerze. W przypadku awarii jednego z zasilaczy serwer działa nieprzerwanie, ponieważ cały czas pozostaje drugi zasilacz, który jest sprawny i zapewnia odporność na awarię. Nadmiarowość może być realizowana na wielu poziomach i w zależności od tego jaki przestój jest tolerowany przez biznes, pojedynczym punktem awarii może być serwer, macierz dyskowa, aplikacja, połączenie do Internetu czy nawet cała serwerownia (lokalizacja).
  • Backup i odzyskiwanie danych. Bardzo ważnym aspektem wysokiej dostępności jest konieczność wykonywania kopii zapasowych oraz posiadanie zdefiniowanej polityki backupów i procedur odzyskiwania danych po awarii. W przypadku utraty danych np. w wyniku ataku wirusa dla każdej firmy istotne będzie to, aby odzyskać jak najwięcej informacji w stosunkowo krótkim czasie. Od charakteru prowadzonej działalności zależeć będzie, to jaka część danych będzie mogła zostać utracona w wyniku awarii (RPO – Recovery Point Objective), gdyż utracone dane mogą zostać na nowo wprowadzone do systemu niewielkim nakładem pracy. Czas w jakim będzie można odzyskać dane i uruchomić usługi (RTO – Recovery Time Objective) będzie definiował w jakim czasie system będzie dostępny dla użytkowników w przypadku utraty danych. Parametry RPO i RTO powinny być określone na etapie projektowania systemu tak, aby wdrożony system spełniał oczekiwania organizacji w kontekście dostępności systemów informatycznych.

  • Detekcja awarii i automatyzacja połączenia. System informatyczny wysokiej dostępności musi potrafić wykrywać awarie i automatyzować procesy przełączania. Pozwala to na budowę rozwiązań, w których awarie są niewidoczne dla użytkowników i jednocześnie jest zapewniony niezbędny czas dla zespołów IT na usunięcie usterki. Przykładowo klaster wirtualizacyjny składający się z kliku/kilkunastu serwerów w zależności od dostępnych zasobów i konfiguracji może działać bez przerw w przypadku awarii całego serwera lub nawet kilku serwerów. W bardziej zaawansowanych systemach może być wykorzystywana replikacja danych oraz może następować automatyczne przełączanie usług pomiędzy różnymi lokalizacjami serwerowni lub pomiędzy lokalizacją podstawową a zapasową umieszczoną w chmurze. Detekcja awarii oznacza, że awaria już wystąpiła i system powinien zareagować w określony sposób. Producenci idą krok dalej i dostępne są już na rynku rozwiązania, które używają analizy predykcyjnej z wykorzystaniem sztucznej inteligencji (AI) i uczenia maszynowego (ML). Pozwala to na wykrywanie potencjalnych problemów zanim one faktycznie wystąpią w infrastrukturze oraz przedstawienie rekomendowanych zmian w konfiguracji w celu uniknięcia awarii. Dzięki takiemu podejściu możemy zapewnić jeszcze wyższy poziom dostępności.
  • Nieprzerwany dostęp do sieci. System informatyczny, który jest sprawny ale użytkownicy nie mogą się z nim połączyć, z punktu widzenia użytkownika jest niedostępny. Niezawodna komunikacja sieciowa jest fundamentalna w przypadku dostępu do udostępnionych usług. Nadmiarowe urządzenia zazwyczaj są stosowane w rdzeniu sieci, ale równie ważne jest to aby zadbać także o warstwę dostępową dla użytkowników czy komunikację z siecią Internet. Innym aspektem jest kwestia zapewnienia bezpieczeństwa naszej sieci. Dostępność sieci, a tym samym systemów informatycznych, powinna być wspomagana przez takie rozwiązania jak firewalle, UTM, bezpieczne połączenia VPN, kontrolę dostępu, ochronę przed ransomware itp.

Podsumowując, aby zapewnić wysoką dostępność należy zaprojektować środowisko informatyczne kompleksowo. Wydaje się, że obecnie najlepsze mechanizmy do „High Availability” zapewnia wirtualizacja. Jednak należy pamiętać, że bezpieczeństwo jest ważne w każdym obszarze, a tu zawieść może sprzęt sieciowy lub macierz. Rozwiązania wysokiej dostępności nie są tanie, ale zapewnią zadowolenie użytkowników i spokój administratorów.

Chcesz porozmawiać o tym jak zapewnić wysoką dostępność w twoim przedsiębiorstwie? Skontaktuj się z naszym doradcą!

Imię i nazwisko*

E-mail*

nr. telefonu*

Oświadczam, że zapoznałem się i akceptuję zasady przetwarzania danych*

Opt-in

Oświadczam, że wyrażam zgodę na otrzymywanie niezamówionych informacji handlowych*

Łukasz Matuszak
Architekt Systemów IT