Wróć do wszystkich wpisów

6 min czytania

Wszyscy lubimy się wyspać, czyli historia o monitoringu, zarządzaniu awariami i automatyzacji

Opracowanie: Jarosław Pastuszak

Post image

Scenariusz pierwszy, wszystko działa. A jak nie ma awarii, to IT nie jest w firmie potrzebne? Po co tyle ludzi w IT, skoro wszystko działa? Scenariusz drugi, nic nie działa – kiedy naprawicie? Czyli i tak źle i tak niedobrze. Z tymi typowymi dylematami operacji IT zmierzyli się Maciej Chwiłoc, Technology Director / CTO @ Grupa Pracuj S.A. oraz Jacek Chebda, Platform Team and Infrastructure Manager @ Grupa Pracuj S.A. O swoich doświadczeniach opowiedzieli na konferencji OPER8IT, której Conlea jest partnerem. 

Menadżer IT w stosunku do ludzi ze swojego zespołu, ma 2 role do spełnienia – z jednej strony powinien umożliwić efektywną pracę zespołu, który dostarcza wartość biznesową, a z drugiej strony – zapewnić ludziom ciekawą pracę, w której mogą się realizować. Z kolei, uogólniając, celem zespołów technologicznych IT jest dostarczanie i utrzymanie technologii, dzięki której biznes działa efektywniej i skuteczniej. Co, według Macieja Chwiłoca, najbardziej przeszkadza w realizacji powyższych celów? Brak snu! A kiedy IT nie śpi? Kiedy nie działa infrastruktura IT. A zatem chcąc zapewnić „spokojny sen”, zarówno IT jak i biznesu, IT powinna podnieść niezawodność infrastruktury.

Strategia „Zero awarii”

W 2016 roku parametry jakości usług technologicznych były bardzo przyzwoite, dostępność była wysoka (98,4% – przykład z prezentacji), niedostępność była niezauważalna dla klientów i użytkowników, ale kosztowało to wszystko bardzo dużo czasu, energii i … zabierało sen pracownikom. Postanowiono zatem rozpocząć wdrażanie ambitnej strategii „Zero awarii” – IT robi rzeczy dobrze i nie powiększa długu technologicznego, tzn. „my z IT”:

  1. Wiemy o każdej awarii w momencie jej wystąpienia
  2. W ciągu maksymalnie 10 minut podejmujemy działania naprawcze
  3. Mamy zero tolerancji dla błędów, naprawiamy je od razu

Początki były trudne i lekko zniechęcające. Im więcej było mierzone i transparentnie pokazywane, tym uzyskiwany obraz był bardziej przerażający. W podsumowaniu pierwszego półrocza 2017 roku, zauważono np., że poświęcono w sumie 860 godzin na walkę z awariami, które w sumie trwały ponad 1 rok!

Naprawę sytuacji zaczęto od szybkich i stosunkowo prostych akcji, wdrożono quality gate przed wejściem nowej usługi na produkcję – żaden nowy produkt nie wchodzi na produkcję bez weryfikacji wymagań z listy NFR (ang. Non – functional requirements, wymagania niefunkcjonalne).

297A1044

Długa droga

Celem zmian było utworzenie środowiska dla programistów umożliwiającego im samodzielne wdrażanie rozwiązań na produkcję, bez pośredników oraz w sposób bezpieczny i kontrolowany. Przewodnikiem był DevOps oraz Infrastructure As a Code. Zajęło to jednak sporo czasu, również wielu prób i błędów, zanim udało się dojść do wymarzonego celu.

Dzisiaj infrastruktura, jak wielokrotnie określał to Jacek Chebda, „odporna na awarie z założenia by-design” to odpowiednio dobrana kombinacja Azure’a, VxRail (w środowiskach zbliżonych do DevOps zwana „automatycznie replikującą się infrastrukturą hiperkonwergentą”), Terraform GitOps, Ansible, Kubernetes i oczywiście warstwa mikroserwisów.

Widzieć to podstawa – monitoring

Monitoring składa się z dwóch obszarów – obserwacji logów oraz monitorowania  czasu rzeczywistego. Cel został postawiony dwutorowo. Po pierwsze wizualizacja stanu teleinfrastruktury post-factum, żeby umożliwić proaktywne eliminowanie awarii. Po drugie – programiści nie powinni mieć bezpośredniego dostępu do środowiska produkcyjnego, gdyż, jak wyraził się Jacek Chebda „a wiecie, jak to się kończy, a zaloguję się, a sobie sprawdzę logi, a przy okazji coś podłubię”.

Od strony narzędziowej wygląda to następująco:

  1. Dedykowane dla zespołów dashboardy oparte o Prometheusa, oraz Grafanę
  2. PingDom
  3. Checkmk – zarówno jako narzędzie oraz jako outsource’owana usługa z dedykowanym, zewnętrznym zespołem specjalistów.

Całość została oparta o Kubernetesa, zapewniającego wysoką dostępność.

Automatyzacja, czyli platforma jako konfiguracja czy jako kod?

Ponieważ „życie codzienne programisty też jest trudne”, posiadamy własne narzędzia BigZero służącegy do konfiguracji infrastruktury w modelu IaS oraz narzędzie PD.Tool, umożliwiające automatyczny set-up środowiska programistycznego dla nowych projektów oraz platformy. No i oczywiście „wujek JSON da radę”."

Proces zero awarii – obecnie

  1. Root Cause Analysis (RCA)
  2. Właściciel techniczny spotkania (architekt)
  3. Wspólna tablica problemów
  4. Każdy ma wkład (nie ma spychologii)
  5. Do skutku! „i do upadłego”

297A1068

A zajęło to wszystko ponad 3 lata

Efekty, po trudnych trzech latach prób, błędów i dyskusji z biznesem, są spektakularne. Znacząco zmniejszona liczba awarii, up-time na poziomie 99,98%, czyli mniej niż 2 godziny niedostępności w skali roku.

Oczywiście „zero awarii” było tylko pewną przenośnią ułatwiająca sprzedaż tematu biznesowi oraz, poprzez stawianie bardzo ambitnego celu, pobudziło ludzi do aktywnego i kreatywnego działania.

Można wręcz stwierdzić, że w organizacji temat (braku) niezawodności nie istnieje! Co więcej, świadomie wyedukowany biznes potrafi zrozumieć, że realnie nie potrzebuje 100% dostępności.

Podsumowanie, czyli co zapewnia spokojny sen IT?

Awarii nie da się wyeliminować, tym bardziej wysoki poziom transparentności w kontaktach z biznesem pomaga organizacji IT. Najważniejsze wnioski oraz rady wynikające z doświadczeń prezentujących, podsumował Maciej Chwiłoc oraz Jacek Chebda:

  1. (Odpowiednie) standardy i ich (konsekwentne) przestrzeganie
  2. (Skuteczny) monitoring
  3. Działające procedury reagowania plus automatyzacja (oraz korzystanie z zewnętrznych zasobów specjalistów)
  4. Odpowiednia kultura w organizacji – proaktywne podejście zespołów i AAR (ang. After Action Review) za każdym razem („dążymy do tego, żeby popełnienie dwa razy tego samego błędu było trochę wstydliwe”)

wybierz szkolenie idealne dla Ciebie -3

Nie zapomnij udostępnić tego postu

Wiedza i inspiracje prosto na Twój mail

Zostaw swój email, a będziemy regularnie informować Cię o nowych artykułach.

Spis treści