DOKUMENT TECHNICZNY Rozwiązania Sybase zapewniające ciągłość działania www.sybase.com.pl
WSTĘP Ciągłość działania, definiowana zwykle jako prowadzenie działalności w sposób nieprzerwany z jednoczesną ochroną ważnych danych organizacji, stanowi niezbędny fundament każdego współczesnego przedsiębiorstwa działającego w skali globalnej. W niniejszym dokumencie omówione zostaną podstawowe koncepcje występujące w procesie zapewniania ciągłości działania, zwłaszcza te dotyczące złożonych organizacji o zasięgu ogólnoświatowym. Następnie nakreślony zostanie zarys i przedstawiony opis zestawu technologii Sybase wykorzystywanych przez przedsiębiorstwa w celu utrzymania wysokiego poziomu ciągłości działania. W podsumowaniu prezentujemy kilka niezależnych, praktycznych scenariuszy demonstrujących te technologie w działaniu. CZYM JEST CIĄGŁOŚĆ DZIAŁANIA? Podstawowym zadaniem każdej organizacji jest zawsze utrzymanie nieprzerwanej działalności. W ostatnich latach zadanie to stało się jeszcze bardziej istotne z szeregu ważnych powodów, takich jak: Powszechne korzystanie z zasobów komputerowych: w większości organizacji o zasięgu globalnym zasoby komputerowe i dane rozsiane są po całym świecie. Optymalizacja zasobów i synchronizacja danych w całym przedsiębiorstwie przy jednoczesnym zapewnieniu działania przez 24 godziny na dobę i 7 dni w tygodniu jest kluczowym wymogiem sukcesu we wzajemnie powiązanym środowisku biznesowym. Aplikacje będące kluczem do sukcesu firmy: przy prowadzeniu najważniejszej części swojej działalności przedsiębiorstwa polegają na kluczowym oprogramowaniu, gdzie nie może być mowy o przestojach. Nadejście ery niedrogiego sprzętu klasy commodity: tanie serwery umożliwiły wprawdzie działom informatycznym udostępnienie nowych rodzajów bardziej efektywnych kosztowo aplikacji, jednak platformy te są bardziej podatne na awarie zakłócające ciągłość działania niż ich drożsi poprzednicy. Naruszenia bezpieczeństwa pochodzące z zewnątrz: rzadko kiedy w mediach nie pojawia się informacja o przeniknięciu hakerów do systemu jakieś firmy lub podmiotu administracji rządowej albo przynajmniej o próbie takiego przeniknięcia. Ataki te mogą mieć skalę zarówno drobnej uciążliwości, jak i katastrofy. Trend ten niestety będzie się nasilał. ELEMENTY ZAPEWNIANIA CIĄGŁOŚCI DZIAŁANIA Z perspektywy przetwarzania informacji, o ciągłości działania można mówić jako o pojęciu ogólnym, obejmującym dwie podstawowe, niezależne dziedziny: wysoką dostępność i przywracanie po awarii. W obu tych obszarach występują technologie i procedury gwarantujące stały dostęp do niezbędnych zasobów obliczeniowych i danych. Wysoka dostępność skupia się na minimalizacji technologicznych i proceduralnych błędów w ramach pojedynczego centrum danych. Dobrze znane metody mające sprzyjać wysokiej dostępności to m.in. klastry ze współdzielonym dyskiem, replikacja danych i klastry pracy awaryjnej. Z kolei przywracanie po awarii ma pomóc organizacjom w przywracaniu działania z odległej lokalizacji geograficznej już po wystąpieniu przerwy w działaniu. Powszechnie stosowanymi rozwiązaniami technologicznymi umożliwiającymi przywracanie po awarii są: replikacja danych, kopie zapasowe na taśmach, przesyłanie dzienników transakcji i mirroring dysków. Mimo iż główna infrastruktura informatyczna, taka jak bazy danych, oferuje funkcje, których zadaniem jest minimalizacja przestojów, często jednak nie wystarcza ona do zapewnienia wystarczającej ciągłości działania. Przykładowo podstawowe systemy zwykle podlegają planowym wyłączeniom, najczęściej co 30-90 dni. Przerwy te stwarzają okazję do prowadzenia rutynowych działań administracyjnych, takich jak aktualizacja wersji, łatanie błędów, migracja i konserwacja sprzętu. Chociaż planowane wyłączenia można rozłożyć tak, aby zminimalizować zakłócenia, nieplanowane kryzysy są aż nazbyt znane w działach informatycznych, włączając w to: Klęski żywiołowe (pożary, powodzie, trzęsienia ziemi itd.) Uszkodzenia baz danych Awarie nośników danych Błędy w logice kluczowych aplikacji Błędy ludzkie Niespójności w procesach biznesowych Choć zdarzenia te nie występują często, to większość działów informatycznych styka się z przynajmniej jednym z nich raz lub dwa razy do roku, a powrót do normalności jest zwykle trudny. Z perspektywy administratora systemów baz danych możliwość wystąpienia awarii spotęgowana jest poprzez fakt, że są one zależne od wszystkich warstw modelu technologicznego, w tym serwerów, sieci, dysków, oprogramowania pośredniczącego (middleware) i samych aplikacji. Awaria jednego z tych elementów ma bezpośredni wpływ na samą bazę danych. 2
Chociaż znaczna większość przerw w ciągłości działania pozostaje niezauważona przez media, można podać liczne przykłady, które przysporzyły dotkniętym nimi firmom sławy ale niekoniecznie w pozytywnym tego słowa znaczeniu: Awaria systemu przetwarzania płatności kartami kredytowymi dużej instytucji finansowej Przeciążenie serwerów sprzedawców detalicznych w tzw. czarny piątek (początek sezonu zakupów przedświątecznych w USA) Śnieżyca, która przerwała działanie bankomatów na prawie 2 tygodnie Awaria sieci energetycznej na wschodnim wybrzeżu USA w 2003 r. Stałe ataki typu denial of service na popularne witryny Aby pomóc chronić klientów przed tego rodzaju niechcianym rozgłosem, Sybase opracował szereg rozwiązań zapewniających ciągłość działania, opisanych w dalszej części niniejszego opracowania. Stała dostępność wielu lokalizacji ASE + Replication Server + OpenSwitch Synchroniczne przywracanie po awarii i wysoka dostępność wielu lokalizacji ASE + Replication Server Asynchroniczna wysoka dostępność wielu lokalizacji Replication Server Wiele lokalizacji Replication Server Dostępność lokalizacji Edycja klastrowa serwera ASE Dostępność serwera Edycja klastrowa serwera ASE Przywracanie serwera po awarii Serwer ASE z opcją wysokiej dostępności Rys. 1: Piramida rozwiązań Sybase dla zapewniania ciągłości działania 3
TECHNOLOGIE SYBASE KONCENTRUJĄCE SIĘ NA ZAPEWNIANIU CIĄGŁOŚCI DZIAŁANIA Każdy z produktów opisanych w dalszej części tego rozdziału został zaprojektowany z myślą o działaniu samodzielnie lub razem z innymi. Mimo bezproblemowej integracji z główną platformą Sybase Adaptive Server Enterprise, nie ma potrzeby wdrażania wszystkich rozwiązań naraz. Zamiast tego wiele organizacji decyduje się na wdrożenie tylko rozwiązań odnoszących się do określonych aspektów ciągłości działania, które przedstawione zostaną w dalszej części niniejszego dokumentu, w rozdziale poświęconym scenariuszom zastosowań. Edycja klastrowa ASE (ASE/CE) Edycja klastrowa systemu ASE/CE została zaprojektowana z myślą o polepszeniu ciągłości działania przy jednoczesnym ograniczeniu kosztów sprzętu i konserwacji. Serwer ten zastępuje duże, drogie serwery baz danych z pojedynczymi punktami awarii (SPOF) niezawodną siecią serwerów uruchamianych na znacznie tańszym sprzęcie. Do oddzielenia aplikacji od fizycznej przestrzeni dyskowej stosuje się wirtualizację. Aplikacje współdziałają z klastrami logicznymi, które z kolei odpowiadają za komunikację z klastrami fizycznymi. Taki rozdział chroni aplikacje przed niuansami związanymi z fizyczną lokalizacją danych umożliwiając tym samym zwiększenie czasu działania systemu. W serwerze ASE/CE wykorzystuje się zaawansowaną architekturę współdzielonego dysku, obsługującą do 32 instancji serwera ASE naraz. Węzły klastrowe dzielą się szczegółami o swoim stanie za pośrednictwem wielu dedykowanych bezpiecznych kanałów. Taka rozłączna architektura pozwala ASE/CE automatycznie przenosić połączenia między węzłami, gdy nastąpi awaria, bez przerw i niedogodności dla użytkowników. Administratorzy baz danych mogą w elastyczny sposób dodawać lub usuwać zasoby w środowisku w zależności od potrzeb, obciążeń i innych czynników. Automatyczny failover pozwala walczyć z nieplanowanymi przerwami, natomiast skalowanie kontrolowane przez administratora zmniejsza wpływ planowanych wyłączeń. Oprócz znacznych korzyści wydajnościowych, ASE/CE zapewnia również dodatkowe korzyści związane z ciągłością działania poza tymi oferowanymi przez ASE/HA. Na przykład czasy przywracania pracy po awarii w instalacjach ASE/CE są mierzone w sekundach, natomiast przy ASE/HA mogą wynosić nawet minutę. Obsługiwanych jest również więcej instancji serwera. W przypadku gdy obie instancje środowiska ASE/HA ulegną awarii w tym samym czasie, dojdzie do przestoju. Stosowana w ASE/CE wirtualizacja i architektura dysku współdzielonego znacznie zmniejszają ryzyko takiej sytuacji. Podejście to łagodzi również spadki wydajności, naturalnie występujące po awarii poszczególnych węzłów. Pełna konfiguracja ASE/CE przedstawiona jest na rys. 2. Aplikacje lub obciążenia Klastry logiczne Menedżer obciążenia Klastry fizyczne Węzły Instancje serwera ASE SAN Rys. 2: Architektura edycji klastrowej systemu ASE 4
Replication Server Kopiowanie informacji do zdalnych lokalizacji to uświęcona tradycją metoda ochrony wartościowych danych i ulepszania ciągłości działania. Replication Server umożliwia rozproszoną, dwukierunkową synchronizację i elastyczną transformację danych pomiędzy heterogenicznymi źródłami danych z gwaranacją dostarczenia. Takie niezawodne podejście wykorzystujące różne bazy danych oznacza, że użytkownik może łatwo replikować dane przechowywane w bazach Oracle, SQL Server lub DB2 do instancji serwera ASE. Administratorzy kontrolują konfigurację replikacji ze centralnej lokalizacji i mogą korzystać z narzędzi do modelowania, rozwijania i zarządzania systemem w celu uproszczenia związanych z tym działań. Mogą oni również dowolnie wybrać optymalną trasę sieciową w celu zagwarantowania jak najszybszego czasu odpowiedzi. Replication Server został stworzony z myślą o wysokiej wydajności dystrybucji i konsolidacji danych. To ważne zadanie było priorytetem w procesie projektowania serwera i nie zostało dodane do niego przypadkowo później. Dzięki korzystaniu z replikacji poleceń SQL, zoptymalizowanej wydajności nanoszenia transakcji na bazę docelową, replikacji procedur składowanych i ciągłym przechwytywaniu w czasie rzeczywistym danych transakcyjnych w oparciu o log transakcyjny Replication Server zmniejsza zarówno narzut obciążenia, jaki występuje naturalnie przy przenoszeniu dużych ilości informacji, jak również związane z tego typu operacjami opóźnienia. Typową konfigurację serwera Replication Server przedstawia rys. 3. LOKALIZACJE ZDALNE/DODATKOWE LOKALIZACJA GŁÓWNA 1 2 3 5 ASE Produkty Sybase ASE WAN 6 Źródła danych Replikacja - Sybase ASE Sybase - Oracle - Microsoft SQL Server - IBM DB2 Replikacja heterogeniczna - Oracle - Microsoft - DB2 4 Agent replikacji RS Messaging do systemów przekazywania komunikatów - IBM MQ - TIBCO RV - JMS Rys. 3: Sybase Replication Server 5
Sybase ASE z opcją wysokiej dostępności (ASE/HA) Dodatek ten, opierając się na już sprawdzonych cechach Adaptive Server Enterprise (ASE) takich jak: szybkość, skalowalność i niezawodność, wykorzystuje architekturę klastrową, pozwalającą na pracę dwóch instancji ASE w trybie stowarzyszonym. W przypadku wystąpienia jakichkolwiek zakłóceń, połączenia i operacje na bazie danych przenoszone są między instancjami bez wpływu na użytkowników i istotne procesy. Administratorzy mogą dowolnie ustalać konfigurację sprzętu jako asymetryczną (jeden serwer w trybie master, drugi w trybie slave) lub symetryczną (jeden serwer oznaczony jest jako aktywny, drugi jako zapasowy). Gdy ASE/HA wykryje konieczność przejścia na pracę awaryjną, obsługuje to zdarzenie w sposób niemal niezauważalny. Najpierw o wystąpieniu takiego zdarzenia powiadomione zostają aplikacje aby ponownie przesłały żądania z otwartych transakcji. Przywrócenie pracy zajmuje zwykle nie więcej niż minutę, a użytkownicy mogą nawet nie zauważyć tego epizodu. Aby dodatkowo zautomatyzować i zoptymalizować to zasadnicze zadanie, ASE/HA został zaprojektowany do współpracy z technologiami sprzętowo-programowymi zapewniania wysokiej dostępności oferowanymi przez głównych dostawców. Architekturę serwera ASE/HA pokazano na rys. 4. Omni Omni Klient Klient Podsystem wysokiej dostępności Klient Adaptive Server 1 Adaptive Server 2 Klient Dysk 1 Dysk 2 Dysk 3 Dysk 4 Dysk 5 Dysk 6 Dysk 7 Dysk 8 Węzeł 1 Adaptive Server Węzeł 2 Adaptive Server Klaster wysokiej dostępności Rys. 4: Serwer ASE opcja HA OpenSwitch Jak już wspomnieliśmy, planowane wyłączenia można rozłożyć w czasie i skoordynować, natomiast nieplanowane przestoje występują z pozornie losową częstotliwością zwykle w momencie, w którym powodują największe zakłócenia. OpenSwitch poprzez przeniesienie i zachowanie otwartych transakcji na serwery zapasowe pozwala na minimalizację przerw niezależnie od tego, czy są one spodziewane, czy nie. OpenSwitch umożliwia kontrolę automatyczną lub ręczną: administratorzy mogą elastycznie dostosowywać jego zachowanie w zależności od potrzeb specyficznych dla ich lokalizacji. OpenSwitch dodatkowo wspiera administratorów dzięki integracji z rozwiązaniami wysokiej dostępności dostawców zewnętrznych. 6
Gdy wyłączenia są planowane, administratorzy korzystają z OpenSwitch do przekierowania połączeń na serwery zapasowe, co umożliwia prowadzenie działań konserwacyjnych i innych zaplanowanych wcześniej czynności przy minimalnym wpływie na ciągłość działania. W przypadkach gdy wyłączenie jest niespodziewane, OpenSwitch automatycznie i transparentnie przekierowuje wszystkie aplikacje klienckie na serwery zapasowe pracujące w trybie failover. isql OpenSwitch Serwer SQL A PowerBuilder Żądanie przełączenia Impromptu Admin (isql) Serwer SQL B Rys. 5: Architektura OpenSwitch Powiązanie wszystkich elementów Każda z opisanych powyżej technologii może znacznie pomóc firmie chcącej ulepszyć swój profil ciągłości działania. W przypadku organizacji z relatywnie prostą architekturą serwerową, ASE/HA umożliwia współpracę pary serwerów w celu wydłużenia czasu pracy serwerów bez przestojów. Z drugiej strony dla systemów o bardziej złożonej topografii z wieloma serwerami mogącymi przyczynić się do zwiększenia dostępności bardziej odpowiednim rozwiązaniem jest ASE/CE. Przedsiębiorstwa posiadające rozproszone lokalizacje mogą chronić ważne dane i zwiększać wydajność, wykorzystując możliwości serwera Replication Server. Natomiast OpenSwitch jest skuteczną techniką utrzymywania płynnego i ciągłego działania nawet przy wystąpieniu nieplanowanych przerw. W tabeli 1 przedstawiono porównanie powyższych opcji. REPLICATION SERVER ASE/HA ASE/CE Duplikacja danych między węzłami Tak Nie Nie Konfigurowalność Niska Średnia Wysoka Typowy czas przestoju Poniżej 30 minut Poniżej 2 minut Poniżej 10 sekund Typowa utrata danych Brak Brak Brak Automatyczny failover Nie Tak Tak Limit liczby serwerów Nie Tak Nie Tabela 1: Porównanie rozwiązań Sybase służących do zapewnienia ciągłości działania STUDIA PRZYPADKÓW ZAPEWNIANIA CIĄGŁOŚCI DZIAŁANIA W OPARCIU O PRODUKTY SYBASE Po omówieniu wszystkich technologii Sybase służących do zapewnienia ciągłości działania przyjrzyjmy się sposobom uzyskania korzyści z tych technologii przez rzeczywiste przedsiębiorstwa. Sprzedawca detaliczny utrzymuje wysoki wskaźnik czasu działania za pomocą ASE/HA Aby zapewnić lepszą obsługę klientów, sprzedawca ten prowadzi całodobową infolinię, której operatorzy odpowiadają na pytania klientów. Mimo iż w normalnej sytuacji prowadzonych jest niewiele rozmów, kierownictwo działu informatycznego obawia się, co może się stać, gdy serwer bazy danych ulegnie awarii. Aby rozwiać te obawy, w tym scenariuszu wystarczy zastosować względnie proste rozwiązanie ciągłości działania. 7
W powyższym przypadku wdrożono serwer ASE/HA, umożliwiający pracę dwóch serwerów baz danych w trybie stowarzyszonym. W przypadku gdy praca serwera głównego zostanie przerwana, administrator może łatwo przejść na serwer zapasowy, a zmiana ta nie będzie miała istotnego wpływu na użytkowników. Linia lotnicza uzyskała lepszą ciągłość działania i kontrolę nad kosztami dzięki ASE/CE Podstawą działalności linii lotniczej jest system rezerwacji biletów. W tym przypadku na serwerach linii dokonywano kilkuset transakcji na sekundę i nawiązywano tysiące połączeń internetowych i przez globalną sieć infolinii. Z uwagi na potencjalne finansowe i operacyjne skutki przerwania działalności, kierownictwu zależało na minimalizacji ryzyka utraty jakichkolwiek danych. Kolejnym istotnym względem było przywracanie działania po awarii, a głównym czynnikiem wpływającym na decyzje koszty sprzętu i licencji na oprogramowanie wchodzących w skład rozwiązania zapewniającego ciągłość działalności. Dzięki zastosowaniu serwera ASE/CE jako fundamentu sieci wielu redundantnych serwerów linia lotnicza jest w stanie wykorzystać oszczędności, jakie daje jej sprzęt klasy commodity, a jednocześnie znacząco obniżyć ryzyko przerw w ciągłości działania. Dodatkowo ponieważ serwery rozsiane są po wielu centrach danych, które dzieli odległość tysięcy kilometrów ryzyko awarii, która całkowicie sparaliżuje działalność linii, jest bliskie zeru. Firma z branży finansowej korzysta z serwera Replication Server do równoważenia obciążenia przetwarzania danych Drastyczne sytuacje takie jak katastrofy i przerwy w pracy to nie jedyne zdarzenia zakłócające ciągłość działania. Czasami nawet zdarzenie pozornie niegroźne, jak nieco niższa wydajność, może przeszkodzić firmie w skutecznym działaniu. Dla przykładu, działalność pewnej organizacji świadczącej usługi finansowe opiera się na infrastrukturze bazodanowej wspierającej kluczowe operacje przetwarzania transakcji i notowań giełdowych. Niestety nowo wprowadzony system raportowania w czasie rzeczywistym spowodował obniżenie ogólnego czasu reakcji systemu. Efektem była wolniejsza realizacja transakcji i niezadowolenie klientów. Tę niepożądaną sytuację można na szczęście łatwo naprawić. Korzystając z serwera Replication Server, dział informatyczny może dowolnie skonfigurować repozytorium danych operacyjnych, czyli dedykowany system wspierający decyzje, który umożliwia użytkownikom pracę z zreplikowaną bazą danych w celu uruchamiania dowolnie wybranych zapytań. Wyniki pobierane są w czasie zbliżonym do rzeczywistego i nie mają wpływu na wydajność aplikacji produkcyjnych. Organy ścigania korzystają z OpenSwitch w celu ochrony danych transakcyjnych Dane przechowywane przez pewne rodzaje aplikacji są tak wrażliwe, że utrata choćby jednej transakcji jest nie do przyjęcia. W przypadku używanego przez organy ścigania systemu przerwa w ciągłości działania może mieć poważne konsekwencje, na przykład utratę nakazów aresztowania lub wystawienie ich na niewłaściwą osobę. Kwestię ochrony działań w tego rodzaju środowisku dodatkowo komplikuje fakt, że użytkownicy przeważnie nie będą w stanie pomóc przy rozwiązywaniu pojawiających się problemów. Stąd też bardzo ważne jest, aby zastosowane rozwiązanie potrafiło bezproblemowo przystosowywać się do wszelkich potencjalnych zakłóceń. OpenSwitch stworzony przez Sybase, wdrożony łącznie z co najmniej jednym serwerem zapasowym, będzie automatycznie przełączać na niego użytkowników z serwera głównego bez potrzeby interwencji administratora. WNIOSKI W miarę rozszerzania wymagań operacyjnych i wymagań użytkowników, ciągłość działania będzie nadal czynnikiem nadrzędnym dla każdego przedsiębiorstwa działającego w skali globalnej. Pakiet niezależnych, lecz wzajemnie skoordynowanych technologii Sybase ułatwia architektom i administratorom systemów tworzenie elastycznych rozwiązań zapewniających płynne prowadzenie działalności. Sybase, Inc. Worldwide Headquarters One Sybase Drive Dublin, CA 94568-7902 U.S.A. 1-800-8-SYBASE www.sybase.com 8 Sybase Products Poland Sp. z o.o. Ul. Wołoska 5 budynek Taurus 02-675 Warszawa +48 22 212 5428 www.sybase.com.pl Copyright 2011 Sybase, an SAP Company. Wszelkie prawa zastrzeżone. Nieujawnione prawa zastrzeżone na podstawie amerykańskich przepisów o prawach autorskich. Sybase i logo Sybase są znakami towarowymi Sybase, Inc. lub jego spółek zależnych. wskazuje na rejestrację w Stanach Zjednoczonych Ameryki. SAP i logo SAP są znakami towarowymi lub zarejestrowanymi znakami towarowymi SAP AG w Niemczech oraz w kilku innych krajach. Wszystkie inne znaki towarowe są własnością ich właściwych właścicieli. 01/11