Jak zapewnić ciągłość działania aplikacji firmowych

Rozwój wirtualizacji zmienił sposób eksploatacji wysokodostępnych aplikacji firmowych. Nie oznacza to jednak zmierzchu technologii klastrowania aplikacji.

Wysoka dostępność aplikacji oznacza ich działanie także w przypadku wyłączenia z pracy jednego z urządzeń, na przykład z powodu awarii. W tradycyjnym modelu realizowano to za pomocą klastrowania - oprogramowanie łączy dwa lub więcej serwerów w strukturę, która obsługuje obciążenie. Wymaga to obsługi technologii klastrów w systemach operacyjnych zainstalowanych na wszystkich węzłach - w przypadku systemów Microsoftu wymaga to zakupienia licencji na Windows Server co najmniej w wydaniu Enterprise, a jest to kosztowna opcja. To samo dotyczy serwerów Exchange i baz danych.

Wirtualizacja umożliwiła wprowadzenie wysokiej dostępności do środowisk i aplikacji, które przedtem nie były do tego przygotowane i stanowi obecnie ciekawą alternatywę dla klastrów realizowanych między instalacjami systemu pracującego bezpośrednio na sprzęcie. Stanowi konkurencję dla klastrowania w tradycyjnym modelu, gdyż zapewni wysoką dostępność także dla tych aplikacji, które w środowisku klastrowym działać nie mogą lub jest to kosztowna opcja. Przykładowo, zamiast dwóch serwerów Windows Server w wydaniu Enterprise oraz Exchange Enterprise (a taka edycja jest wymagana, by obsługiwać pełnowymiarowy klaster), można skorzystać z opcji Standard zainstalowanej w standardowej edycji serwera, który z kolei jest eksploatowany w klastrowanym środowisku VMware. Jeśli przedsiębiorstwo ma już infrastrukturę wirtualizacji z wysoką dostępnością, a standardowe edycje takich serwerów są wystarczające, przekazanie zadania zapewnienia dostępności aplikacji na warstwę wirtualizującą jest alternatywą dla kosztownych klastrów.

Klaster aplikacyjny

W przypadku aplikacji krytycznych dla pracy przedsiębiorstwa firmy decydują się jednak na wdrożenie klastrów aplikacyjnych. Oprogramowanie, które będzie zarządzać takim klastrem, musi uwzględnić zależności między wszystkimi warstwami aplikacji - gdy składa się ona z bazy danych, serwerów aplikacyjnych i frond-endu webowego, niezbędne jest uruchamianie i zatrzymywanie poszczególnych warstw w odpowiedni sposób i we właściwej kolejności. Podobnie sam klaster musi być zrealizowany w taki sposób, by organizować maszyny i klastry z każdej z warstw w pule, które dotyczą obsługi aplikacji. W ten sposób można będzie w spójnie zatrzymać aplikacje - najpierw zatrzymywane są frond-endy webowe, potem w serwerach aplikacyjnych kończy się transakcje, zapisuje wszystkie niezbędne informacje i dopiero wtedy kończy ich pracę, jako ostatnie zamyka się serwery bazodanowe po pomyślnym zamknięciu pracy bazy. Podobnie oprogramowanie to powinno dobrze się integrować z rozwiązaniami wysokiej dostępności dostarczanymi przez różnych producentów - baza danych firmowej aplikacji może pracować w środowisku typu UNIX, serwery aplikacyjne i webowe - w systemach Windows oraz Linux hostowanych wewnątrz VMware.

W razie awarii...

Głównym zadaniem klastrowania jest zapewnienie ciągłości działania aplikacji. W przypadku awarii mogą być podejmowane próby ponownego uruchomienia wybranego składnika, może nastąpić uruchomienie rezerwowej maszyny albo przełączenie pracy do rezerwowego węzła. Węzeł ten może być także uruchomiony w drugim wysokodostępnym środowisku wirtualizacyjnym i pracować na przykład w rezerwowym ośrodku. Dzisiejsze rozwiązania, takie jak Veritas Cluster Server, mogą być zintegrowane ze środowiskiem wirtualizacyjnym, by wszelkie akcje związane z zarządzaniem maszynami, zasobami oraz elementami takiego klastra były realizowane przez oprogramowanie hypervisora za pomocą API. Rozwiązanie to integruje się z konsolą VMware, gdzie pojawia się zakładka klastra aplikacyjnego.


IBM Think Digital Summit Poland, 16-17 września 2020
TOP 200