Firma musi działać

W każdej organizacji występują najważniejsze aplikacje obsługujące główną gałąź biznesową. Każda awaria takich aplikacji powoduje problemy lub straty. Przedstawiamy zagadnienia związane z ciągłością działania firmowego oprogramowania.

Dzisiejsze aplikacje budowane są w architekturze wielowarstwowej. Przetwarzane informacje składowane są w bazach danych (SQL lub hybrydowe), operacje na nich przeprowadza się na serwerach aplikacyjnych, które z kolei są połączone z serwerami obsługującymi interfejs użytkownika (np. popularny front-end webowy) lub połączenia maszyna-maszyna (interfejsy komunikacyjne). Połączenia do serwerów front-endowych są przekazywane za pomocą urządzeń równoważących obciążenie. Konstrukcja takich aplikacji zakłada pracę każdego z elementów, a zatem każdy z nich musi być zabezpieczony przed awarią.

Co zmieniła wirtualizacja

Obecnie niemal we wszystkich centrach przetwarzania danych stosuje się wirtualizację. Technologia ta umożliwia budowę klastrów wysokiej dostępności, które znacznie skracają czas odtworzenia systemów po awarii sprzętu. Wyłączenie z eksploatacji jednego serwera z powodu awarii powoduje kilkuminutowy przestój czasami więcej niż jednej aplikacji, ale maszyny wirtualne można z powodzeniem uruchomić na innym, sprawnym serwerze. Jeśli dla firmowej aplikacji kilkuminutowa przerwa nie jest problemem przy obsłudze biznesu, klaster wirtualizacyjny umożliwi wdrożenie wysokiej dostępności na poziomie systemów i skrócenie czasu odtwarzania poawaryjnego. Jeśli jednak mamy do czynienia z oprogramowaniem, które żadnych nieplanowanych przestojów mieć nie powinno, niezbędne będą klastry aplikacyjne.

Zobacz również:

Gdy klaster wirtualizacyjny nie wystarczy

Zero utraty danych

Najkrótszy czas przywrócenia środowiska i zerową utratę danych w przypadku awarii jednego ośrodka można osiągnąć za pomocą synchronicznej replikacji między dwiema instancjami bazy danych uruchomionymi w dwóch niezależnych ośrodkach.

Niektóre z systemów obsługujących główne gałęzie biznesowe przedsiębiorstw muszą działać w reżimie pracy ciągłej. Do takich krytycznych systemów, które nie mogą mieć nieplanowanych przestojów, nadal wdraża się klastry aplikacyjne. Oprogramowanie przeznaczone do pracy ciągłej często korzysta z narzędzi klastrujących, by zapewnić wysoką dostępność nie tylko systemowi operacyjnemu, w którym oprogramowanie pracuje, ale także samym aplikacjom.

Lech Lachowicz, starszy inżynier systemowy w firmie Symantec, mówi: „Jeśli popatrzymy na to, co daje nam wirtualizacja i techniki zapewniania wysokiej dostępności na platformach takich jak VMware, to zauważymy, że zamiast koncentrować się na dostępności aplikacji, uwaga jest skupiona na dostępności elementu infrastruktury. Zatem jeśli coś się stanie z aplikacją w środku maszyny wirtualnej, to system wirtualizacji nic o tym nie wie. W ten sposób nie zapewniamy wysokiej dostępności aplikacji, a z punktu widzenia biznesu najważniejsza jest usługa”.

Podłączone do zasilania działa lepiej

Chociaż ten słynny żart administratorów i techników jest bardzo stary, nadal nie można odmówić mu prawdziwego podejścia do problemów z infrastrukturą. Przy rozważaniu dostępności aplikacji należy także uwzględniać możliwość problemów z zasilaniem. Każde poważne awarie mogą skutkować przerwami w dostępności usługi, a czasami powodować istotną utratę danych.

Zanik zasilania spowodowany problemami technicznymi i niedostatkiem technicznym stosowanych rozwiązań składowania danych był przyczyną najpoważniejszych w historii awarii systemów cloud computing w Polsce. W czerwcu 2012 r. podczas testów procedur utrzymania ciągłości działania w firmie Beyond.pl doszło do nieplanowanego zaniku napięcia. Po przywróceniu zasilania okazało się, że kontrolery macierzy dyskowej zniszczyły zapis informacji na dyskach twardych. Jedynym sposobem odtworzenia danych było mozolne ręczne odzyskanie woluminów macierzowych wprost z dysków. Spowodowało to bardzo długi przestój obsługi procesów głównej gałęzi biznesowej tego przedsiębiorstwa.

Klaster dobry – dwa klastry lepsze

Dla aplikacji, które wymagają wysokiej dostępności na poziomie SLA wyższym, niż może to zapewnić klaster wirtualizacyjny, niezbędne będzie zbudowanie klastrów aplikacyjnych łączących dwa odrębne środowiska. Oba mogą być zrealizowane za pomocą klastrów wirtualizacyjnych w dwóch różnych centrach przetwarzania danych, realizując za jednym zamachem zabezpieczenie przed utratą danych w przypadku awarii całego ośrodka. Jeśli klaster aplikacyjny jest budowany między maszynami eksploatowanymi w tym samym ośrodku, należy zadbać o to, by obie maszyny wirtualne nigdy nie znalazły się na tym samym fizycznym hoście, ani nawet serwerze kasetowym.

Budowa klastra, w którym jeden z węzłów jest zbudowany bezpośrednio na sprzęcie (by uzyskać najwyższą dostępną wydajność), a drugi w środowisku wirtualizowanym (dla najniższych kosztów), dobrze sprawdza się w środowiskach produkcyjnych i jest preferowana przez wiele firm z uwagi na niższe koszty od klastra na serwerach fizycznych.

Jak szybko można przywrócić sprawność środowiska?

Przy opracowaniach rozwiązań mających na celu budowę środowiska odpornego na awarie należy rozważać nie tylko samą dostępność usługi, ale także czas niezbędny do przywrócenia sprawności aplikacji w przypadku bardzo poważnej awarii. W klasycznej metodzie z użyciem kopii bezpieczeństwa czas odtwarzania środowiska jest znacznie dłuższy od czasu wykonywania kopii, a zatem backup na taśmę nie spełni oczekiwań biznesu. Najkrótszy czas przywrócenia środowiska i zerową utratę danych w przypadku awarii jednego ośrodka można osiągnąć za pomocą synchronicznej replikacji między dwiema instancjami bazy danych uruchomionymi w dwóch niezależnych ośrodkach. Jeden z nich może znajdować się w tańszym, współdzielonym ośrodku obliczeniowym, wyskalowanym jedynie na pracę najważniejszych firmowych aplikacji.

Replikację maszyn wirtualnych do rezerwowego środowiska oferują obecnie wszyscy dostawcy wirtualizacji, możliwy jest także scenariusz replikacji przez WAN obejmujący centra przetwarzania danych zlokalizowane na różnych kontynentach.

Dwa środowiska i dwa łącza

Przy budowie środowisk o wysokiej dostępności należy również zadbać o niezawodne łącza transmisji danych. W wielu instalacjach stosuje się zasadę budowy dwóch niezależnych połączeń realizowanych za pomocą różnych technologii (jeśli to możliwe) i dróg połączeń. W przypadku łączy przewodowych obowiązuje zasada prowadzenia łączy dwiema różnymi drogami i korzystania z dwóch niezależnych operatorów o różnych punktach styku międzyoperatorskiego.