REstart Program
DE Model

IT pod specjalnym nadzorem

Ludwik Krakowiak
21-05-06 11:24

Obserwowalność to nowe podejście do monitoringu systemów informatycznych i analizy ich działania, którego celem jest uzyskanie lepszego wglądu w istotne parametry pracy całego środowiska. Pytanie – co i jak mierzyć oraz jakich metryk używać? Odpowiedzi szukaliśmy w trakcie spotkania z cyklu CIONET Vision, „Observability: jak usunąć awarię przed jej powstaniem?”, zorganizowanego we współpracy z naszym partnerem, firmą Omnilogy.

Nowoczesne technologie – chmura, mikroservices, konteneryzacja – determinują dziś sposób dostarczania usług i aplikacji. Biznes wymaga szybkości i elastyczności we wdrażaniu nowości, nie chcąc czekać na kwartalne czy nawet miesięczne wydania. Mniejsze, ale częstsze release’y szybciej i precyzyjniej odpowiadają na te potrzeby.

Skutkiem ubocznym jest postępująca złożoność współczesnych środowisk IT, a w konsekwencji – coraz większa trudność w zarządzaniu nimi. Administrator musi dodatkowo mierzyć się z ogromną ilością danych, generowanych dziś zarówno przez systemy on-premise, jak i usługi osadzone w chmurze obliczeniowej, działając jednocześnie pod presją wymagań biznesu w zakresie wysokiej dostępności usług i ciągłości działania.

Dbałość o niezawodność infrastruktury IT wymaga więc podejścia proaktywnego, zgodnie z zasadą „lepiej zapobiegać, niż leczyć”.

Szum informacyjny

W klasycznym ujęciu do oceny dostępności infrastruktury wykorzystuje się umowy o gwarantowanym poziomie świadczenia usług (Service Level Agreement), tworzone na podstawie predefiniowanych mierników. Bada się wydajność warstwy sprzętowej i zużycie zasobów – procesora, pamięci, przestrzeni dyskowej; mierzy czasy odpowiedzi komunikatów sieciowych między serwerami, wydajność protokołów sieciowych i baz danych… Wszystko to można próbować łączyć w całość i wizualizować.

System prowadzenia monitoringu może być bardzo złożony, problemem jest jednak duży narzut pracy ręcznej związany z koniecznością analizy danych – wskazywał w trakcie spotkania Jacek Kujawa, CEO w Omnilogy.

Środowisko, generując tyle danych, tworzy swego rodzaju „szum informacyjny”, w którym trudno zidentyfikować przyczyny ewentualnych problemów. Wiemy, że coś nie działa, ale nie rozumiemy – dlaczego.

O ile w systemach monolitycznych mógł wystarczać tradycyjny monitoring zdarzeń czy analiza logów, to nowoczesne systemy, obejmujące dziesiątki (jeżeli nie setki) powiązanych ze sobą i zależnych od siebie technologii i komponentów, wymagają innego podejścia. Może bowiem zdarzyć się, że dana aplikacja ma problemy nie ze względu na swoje przepływy lub źle wykonany kod, ale w wyniku usterek w innej aplikacji czy funkcji w aplikacji zintegrowanej. Z tego powodu dużej wagi nabiera łatwość w dochodzeniu do źródła problemu.

W stronę obserwowalności

Jeszcze gorzej, gdy nie umiemy wskazać, jak dana usterka wpływa na operacje. „Mamy wiele informacji o tym, co się dzieje w środowisku, ale brakuje spójnego obrazu, a przede wszystkim – obrazu wpływu poszczególnych czynników na biznes; na to, jak klient końcowy odczuwa działanie środowiska” – podkreśla przedstawiciel Omnilogy

Marcin Zabost, kierownik Wydziału IT Systemów Sprzedażowych w Warta S.A., zwrócił też uwagę na to, że czym innym jest pomiar wydajności infrastruktury, a czym innym monitorowanie wydajności posadowionych na niej aplikacji z perspektywy użytkownika. „Korelacja wydajności (dostępności) warstwy sprzętowej z doświadczeniem użytkownika korzystającego z usługi nie jest oczywista.

Często bywa tak, że infrastruktura lub monitorowane miary nie wskazują problemów czy wąskich gardeł, a mimo to klienci narzekają na jakość usług. Dlatego tak istotne jest, by mierzyć wydajność działania aplikacji, a nie infrastruktury – przekonywał.

Odpowiedzią na problem skali i fakt, że coraz trudniej wykonywać analizy incydentów w czasie rzeczywistym, jest dobrze zrobiony silnik sztucznej inteligencji, który wystarczy zasilić danymi – powiedział Marek Walczak, Country Sales Manager RFO Dynatrace w Omnilogy. Takim silnikiem o nazwie roboczej Davis dysponuje oferowane przez Omnilogy narzędzie Dynatrace. System jest w stanie w czasie rzeczywistym przeanalizować miliardy operacji, na tej podstawie ucząc się powiązań i zależności między aplikacjami, stale doskonaląc swoje możliwości predykcji zdarzeń.

Krzysztof Jarosz, prezes zarządu w PGE Systemy, zwrócił jednak uwagę, że system monitorujący nie może być wyłącznie „zabawką” w rękach działu IT. „Technologia ma dostarczać wartość procesom biznesowym. Musimy wiedzieć, po co to robimy i ile dzięki temu jesteśmy w stanie oszczędzić albo ile zarobić” – przekonywał. System monitoringu i predykcji, nawet odpowiednio skonstruowany i zaprogramowany, musi nieść wartość dla prowadzonej działalności biznesowej – informować o kosztach przestojów i nieciągłości procesów. Tylko wtedy stanie się atrakcyjnym narzędziem z punktu widzenia przedsiębiorstwa.

Korzyści z SRE

Wiemy już, że najlepiej zapobiegać awariom, niż reagować na nie i zmagać się z ich mniej lub bardziej dojmującymi następstwami. Wiemy też, że administratorzy mają do dyspozycji narzędzia, które pracę związaną z obsługą awarii wykonają za nich. Uzupełnieniem dyskusji o obserwowalności są metodyki Site Reliability Engineering.

SRE to praktyka opracowana przez Google, która miała poprawić niezawodność działania witryn www. Za miernik dostępności przyjęto liczbę poprawnie przetwarzanych żądań w stosunku ogólnej liczby żądań. Jak wyjaśniał Jacek Kujawa, w podejściu SRE określa się wskaźniki poziomu usługi (na przykład liczbę błędów, czas odpowiedzi, opóźnienie w przetwarzaniu żądania, współczynnik błędów). Dla tych wskaźników określa się konkretne parametry, np. dopuszczalna liczba błędów w określonym czasie albo czas maksymalny czas odpowiedzi dla danego odsetka żądań (np. 2s dla 95% zapytań). Metodyka SRE została zaimplementowana w najnowszej wersji Dynatrace i mogą z niej korzystać zarówno działy IT, jak i biznesowe.

Site Reliability Engineering to nie tylko sposób mierzenia wskaźników: to cała kultura – przekonywał Piotr Mynarski, Technology Director w eSKY.pl.

SRE to podejście do rozmowy z biznesem, developmentem, do wprowadzania usprawnień, które w formie sprzężenia zwrotnego mają doprowadzić do tego, że nasze systemy będą bardziej niezawodne, przewidywalne i łatwiej zarządzalne.

Niezawodność nie bierze się tylko i wyłącznie z szybkiego reagowania na problemy, ale i z przeciwdziałania im. Dlatego ważnym aspektem praktyk SRE są retrospektywy awarii. Dochodząc do źródeł usterki (bez przypisywania odpowiedzialności za nie) uczymy się, jak zapobiec ponownemu wystąpieniu tej samej awarii w przyszłości.

Tutaj daj znać, jeśli chcesz otrzymywać od nas informacje o nowych inicjatywach