Jak automatyzacja zapewnia odporność na awarie?

Możliwość nieprzerwanego świadczenia usług przez przedsiębiorstwo jest ściśle powiązana ze skutecznością wsparcia ze strony IT. W jaki sposób zapewnić odporność systemom i przygotować się na sytuacje kryzysowe? Odpowiedzią są narzędzia, mechanizmy i procesy automatyzujące, które pozwalają uniknąć wielu błędów popełnianych przez ludzi, a także wcześnie wykryć i niezwłocznie zareagować na zagrożenia z zewnątrz.

Funkcjonowanie już niemal każdej firmy zależy od jest głęboko powiązana z systemami informatycznymi. Ciągłość zachowania działania systemów to dla wielu wręcz warunek istnienia. Problemy z dostępnością aplikacji, przestoje w działaniu serwisów i związana z nimi utrata danych, mogą mieć poważne konsekwencje wizerunkowe i wpływ na kondycję finansową firmy. Dlatego też biznes oczekuje od działów IT niezawodności.

CHMURA + AUTOMATYZACJA = NIEZAWODNOŚĆ

I tu na scenę wkracza chmura, która w swoim DNA ma wpisaną ciągłą dostępność usług, ale rozumianą całościowo – jako proces w Twojej organizacji – a nie tyko jednostkowo np. w postaci sewera czy dysku. Jest to możliwe m.in. dzięki geograficznie odległym strefom dostępności, w ramach których zachodzi samo przetwarzanie danych, i licznym zabezpieczeniom oraz funkcjonalnościom, które zapewniają dostawcy.

Chmura Oktawave gwarantuje najwyższe na rynku SLA swoim usługom (na poziomie 99,96%) mimo to zawsze powinniśmy przygotować się na potencjalne problemy związane z działaniem aplikacji i zadbać o redundancję naszych usług. Pomoże nam w tym automatyzacja stworzona za pomocą narzędzi ułatwiających przygotowanie infrastruktury na rozmaite zewnętrzne ryzyka (błędy ludzkie, awarie, cyber ataki itp.). Dzięki niej organizacja może reagować w czasie rzeczywistym na niepożądane zdarzenia.

Pod pojęciem automatyzacji kryją się zarówno mechanizmy, które możemy osadzić w samej architekturze, jak i procesy, które pozwalają na odzyskanie systemów. Z jednej strony mamy do dyspozycji mechanizmy typu fail-over, które zostaną automatycznie uruchomione w przypadku awarii, a z drugiej procedury deploymentu środowiska (zautomatyzowane procesy CI / CD).

AUTOMATYZACJA ZARZĄDZANIA PROCESAMI I APLIKACJAMI

Aby uniknąć przestojów powinniśmy zadbać przede wszystkim o wysoką dostępność (high availability) oraz skalowalności środowiska. Podstawą takiego rozwiązania jest skonfigurowanie równoległego środowiska, które w razie niedostępności tego podstawowego przejmie jego rolę. Mówiąc najprościej, gdy zastosujemy narzędzia automatyzujące w sytuacji wystąpienia awarii / przeciążenia w jednej maszynie, zostaje ona odpięta, a ruch skierowany na działające urządzenie. W Oktawave zapewniamy szereg usług i funkcjonalności, które gwarantują wysoką dostępność systemów:

  • Oktawave Traffic Manager (OTM) pozwala automatycznie zarządzać domenami oraz ruchem, np.  kierując użytkowników do centrów danych z najkrótszym czasem odpowiedzi lub do serwerów zapasowych (w razie awarii). W ten sposób zapewnia ciągłość działania aplikacji , niezależnie od stanu ich środowisk uruchomieniowych (np. konkretnej lokalizacji w chmurze, czy centrum danych). Więcej o OTM>
  • Autoskaler. Jest to mechanizm, który w momencie zwiększonego ruchu automatycznie zmienia parametry zamówionej usługi (można ustawić na nim oczywiście limity kwotowe). Gdy problemem staje się niedostateczna moc obliczeniowa, dzięki autoskalerowi zostaje ona natychmiast zwiększona, a w chwili unormowania obciążenia, usługa wraca do pierwotnych ustawień. Do wyboru mamy skalowanie horyzontalne (zwiększenie liczby serwerów dostarczających treści) lub wertykalne (zwiększenie parametrów, tj. CPU, RAM).
  • Działanie autoskalera wzmacnia Load balancer, który steruje ruchem pomiędzy wieloma serwerami OCI, w zaawansowanych scenariusza między ośrodkami rozproszonymi geograficznie. Wymaga to wcześniejszego skonfigurowania minimum dwóch serwerów obsługujących aplikację, aby w razie awarii jednego z nich nastąpiło automatyczne przełączenie na drugi.
  • Usługa Floating IP pozwala w sytuacji awaryjnej przenieść adres IP na inny serwer w innym subregionie lub wręcz cały serwer bez zmiany IP. Takie rozwiązanie gwarantuje, że ruch natychmiast jest kierowany na nowy serwer lub na serwer, który został przeniesiony z jednego regonu do drugiego (bez potrzeby czasochłonnej zmiany w DNS).
  • Połączenie OTM z usługą Monitoringu (Oktawave Watch) zapewnia pełną kontrolę nadinfrastrukturą i aplikacjami. Oktawave Watch nieprzerwanie śledzi stan aplikacji (w dowolnej chmurze), dzięki czemu błyskawicznie wychwytuje problemy, informuje OTM o konieczności wprowadzenia zmian, oraz wysyła alarmy do wskazanych osób. Więcej o Oktawave Watch>

AUTOMATYZACJA A KONTROLA KONFIGURACJI

Na tym jednak nie koniec, jeśli chodzi o zastosowanie automatyzacji w budowaniu odpornego na awarie środowiska IT. Wyżej opisaliśmy mechanizmy automatyzujące, ułatwiające bieżącą obsługę działającego systemu i przełączenie ruchu na rezerwowe serwery w razie wystąpienie problemów. W jaki sposób można się jednak przygotować na zupełne unieruchomienie środowiska?

Tu powinniśmy cofnąć się o krok i pochylić nad samym podejściem do infrastruktury. Rozwój możliwości hostingu infrastruktury w chmurze i wzrost złożoności procesu administrowania systemami zrodził potrzebę szybkiej i niezawodnej konfiguracji środowisk. Dawniej prace te były wykonywane manualnie, w każdej lokalizacji osobno, z ograniczonymi możliwościami kontrolowania zmian. Przy rozbudowanych środowiskach problemem stało się więc dbanie o utrzymanie, aktualizacje, development, synchronizacje itd. Wiele błędów i awarii wynika właśnie z tego, że developerzy budują aplikacje w środowisku pomostowym lub programistycznym i dopiero po wdrożeniu odkrywają, że środowisko produkcyjne nie zostało zsynchronizowane (tzw. dryft).  

Czytaj również: Jak skutecznie podejść do Infrastructure as a code?>

BEZPIECZEŃSTWO INFRASTRUKTURY W PRAKTYCE

Dzisiaj, dzięki funkcjonalnościom chmury, możemy podejść do infrastruktury, jak do oprogramowania (Infrastructure as Code, w skrócie IaC). Jak dodać do tego najlepsze praktyki DevOpsowe, polegające na automatyzacji przepływów pracy (CI / CD) to zyskujemy możliwość budowania stabilnych, bezpiecznych i łatwo „odtwarzalnych” środowisk.

W skrócie Infrastructure as Code (IaC) polega na opisywaniu zasobów infrastruktury za pomocą plików tekstowych, które są przekazywane do systemu kontroli wersji (Git), a następnie wykorzystywane do uruchomienia środowisk. Wszystko odbywa się w ramach automatycznych procesów ciągłej integracji i ciągłego deploymentu (CI / CD).

Wyobraźmy sobie, że firma utrzymuje aplikację w jednym z centrów danych Oktawave w Warszawie, oraz uruchomiła ciągłą replikację danych (np. serwer/usługa bazodanowa w minimalnej konfiguracji) do  centrum Oktawave Kraków-Skawina). Gdyby doszło do awarii w Warszawie i aplikacja stała się nieużywalna, to skrypty automatyzujące mogą postawić od zera środowisko w Skawinie. Skrypt wypina serwer z replikacji pomiędzy centrami danych, tworzy nowy klaster, konfiguruje serwer aplikacyjny w Skawinie, wykonuje deploy aplikacji i uruchomia operacyjnie aplikację.

Czytaj również: Jak obniżyć koszty IT dzięki automatyzacji procesów w chmurze?

Dobrze przygotowana infrastruktura sprawia, że w sytuacji błędu lub pojawiania się podatności (vulnerability) w systemie, czas potrzebny na wprowadzenie poprawek jest bardzo krótki. Takie rozwiązanie przydaje się nie tylko w sytuacji awarii, ale też przerw technicznych, kiedy możesz skierować ruch na równoległe maszyny.  To ma znaczenie szczególności w przypadku, gdy mamy wiele środowisk (testowe, developerskie, produkcyjne) i ręczne wprowadzanie zmian na każdym z nich byłoby czasochłonne. Po wdrożeniu IaC infrastruktura może automatycznie dostosowywać się do zmian w konfiguracji i reagować na wzrosty obciążenia dzięki funkcjom automatycznego skalowania.

***

Narzędzia automatyzujące pozwalają zbudować środowisko IT o wysokiej dostępności oraz umożliwiają szybkie reagowanie na downtime aplikacji. Dzięki automatyzacji zyskujemy pełną kontrolę nad stanem tak oprogramowania, jak i infrastruktury, a wyłapywanie i naprawianie błędów jest znacznie szybsze i prostsze. I takie też staje się dostarczanie software’u oraz zaspakajanie potrzeb biznesu.

Dodatkową korzyścią płynącą z automatyzacji jest obniżenie kosztów. Automatyzacja zmniejsza koszty ludzkie związane z utrzymaniem środowiska, przejmując działania konfiguracyjne, utrzymaniowe, monitorujące itd. Nie mówiąc o kosztach usuwania skutków błędów czy awarii, które dzięki automatyzacji można zminimalizować, a wielu z nich zupełnie uniknąć.

Twoje bezpieczeństwo w zaufanych rękach

Chcesz zbudować środowisko High Availability i móc szybko reagować na downtime aplikacji? Szukasz skutecznego zabezpieczenia swojej infrastruktury przed awariami? Skontaktuj się znami, aby poznać dostępne rozwiązania: sales@oktawave.com

Ostatnie wpisy

Może zainteresują Cię także…