W dzisiejszych czasach dobrze funkcjonujący monitoring infrastruktury oraz aplikacji pełni kluczową rolę i nie trzeba raczej nikogo do tego przekonywać. W przeważającej liczbie przedsiębiorstw, których biznes opiera się o produkty działające w internecie, odpowiedzialność za sukces (celowo pomijam pomysł na aplikację oraz wykonanie od strony kodu) spoczywa w poprawnie funkcjonującej platformie.

Co to znaczy od strony usera?

Mnogość czynników zawęzić można do dwóch bardzo istotnych parametrów:

  • dostępności,
  • szybkości działania.

Fluktuacje któregoś z atrybutów mogą generować ogromne koszty zarówno bezpośrednie, jak i pośrednie. Zaliczyć do nich można np. utratę zaufania klienta, a to z kolei będzie bardzo ciężkie do odbudowania.

Opłacalność inwestycji w dobry system monitoringu to zawsze dla ludzi z „biznesu” o wiele twardszy orzech do zgryzienia niż np. nowy feature w aplikacji, który wpłynie bezpośrednio na zadowolenie klienta. Niemniej jednak jest to koszt, który trzeba ponieść, jeżeli chcemy osiągnąć sukces.

Rzućmy okiem na dwa przypadki:

  • nowo powstały, rozwijający się startup,
  • korporacja o ugruntowanej pozycji na rynku.

 

Monitoring środowiska IT, czyli Twój dobry przyjaciel!

Monitoring środowiska IT z pozycji startupu:

Nie chcemy przeznaczać sporej części budżetu na system monitoringu, zakładamy wręcz, że chcemy poświęcić na to przedsięwzięcie jak najmniejszą jego część. Idealnym rozwiązaniem będzie implementacja open-source’owego stacku monitoringu, którego sercem może być Prometheus. Niezależnie od tego, czy nasza architektura budowana jest w oparciu o microserwisy oraz kubernetes w chmurze, czy monolit on-premise, Prometheus z armią exporterów sprawdzi się tutaj perfekcyjnie, a dobrze skonstruowany stack dostarczy metryki zarówno infrastrukturalne, jak i aplikacyjne. Poparciem tej tezy może być również zauważalny ruch ze strony dostawców produktów komercyjnych. W swoich rozwiązaniach implementują wewnętrzne mechanizmy odpowiadające za dostarczanie metryk właśnie dla Prometheusa. Prezentacja danych w Grafanie, notyfikacje o anomaliach oparte o AlertManager’a i całość domknięta sprytnym service discovery, do którego wykorzystać można np. Consula, daje nam ogromną wartość za niewygórowaną cenę.

Co jednak w przypadku, gdy dostępne publicznie exportery nie spełniają naszych potrzeb i chcemy czegoś własnego, uszytego na miarę?

Nie ma z tym żadnego problemu — napisanie customowego exportera nie powinno stanowić większej przeszkody dla programisty czy sprawnego DevOpsa. Robiąc jeszcze jeden krok naprzód, ciekawym posunięciem byłoby dodanie w procesie developmentu wymagania, aby zespoły programistyczne implementowały metryki już w trakcie tworzenia aplikacji. Korzyść? Klarowne, spójne oraz przejrzyste dane oparte o jeden standard. Całość budujemy oczywiście w oparciu o nadrzędne hasło: automatyzacja. Wszędzie, gdzie się tylko da, automatyzujmy!

Inwestycja? Gdzie tu wydatki? No oczywiście w czasie, który developerzy, DevOpsi i admini poświęcą na wdrożenie tego rozwiązania. Nie zapominajmy jednak, że dzięki automatyzacji wysoki koszt w postaci czasu poniesiony będzie jednorazowo.

 

Monitoring środowiska IT, czyli Twój dobry przyjaciel!

Monitoring środowiska IT z pozycji korporacji:

Czytając poprzedni akapit i analizując sytuację startupu, można by pomyśleć: okej, tamto rozwiązanie daje mi wszystko, czego potrzebuję, i to za darmo. Dlaczego powinienem więc inwestować w nierzadko drogie i komercyjne rozwiązanie, jakim jest APM? Istnieje oczywiście sektor open-source w tej dziedzinie. Choć rozwija się on bardzo prężnie, to jednak pozostaje daleko w tyle za płatną konkurencją.

Otóż jeżeli przedsiębiorstwo chce odgrywać kluczową rolę w swojej branży, powinno stawiać sobie poprzeczkę wysoko. Sięgać po rozwiązania, które zapewnią najwyższy możliwy poziom obserwowalności, oraz analizy funkcjonowania platformy. Taki stopień osiągnąć można właśnie dzięki produktom klasy APM.

Funkcjonalności zawartych w topowych aplikacjach jest ogrom, skupmy się jednak na tych kilku — w mojej opinii — najbardziej kluczowych.

Digital user experience monitoring – najprościej ujmując, jest to badanie zachowania użytkownika w naszej aplikacji. Zestawiając to z „Performance of Web Requests and Transactions” dostajemy ogrom parametrów do analizy. Począwszy od metryk dotyczących aktywności użytkownika w stosunku do konkretnych funkcjonalności platformy, poprzez spowolnienia określonych komponentów, a kończąc na precyzyjnym wskazaniu konkretnego punktu w naszej infrastrukturze lub nawet miejsca w kodzie aplikacji, które może działać nieprawidłowo.

Sięgnijmy głębiej, aż do procesu developmentu. Monitoring może być bardzo użyteczny w momencie budowania aplikacji, staje się więc narzędziem również dla samego developera. Code-Level Performance Profiling potrafi wskazać wolne wywołania klas, metod czy zależności, które wpływają bezpośrednio na performance. Działając prewencyjnie, już w procesie tworzenia, zabezpieczamy się przed efektem domino. Podczas potencjalnej awarii w przyszłości może wygenerować on kolosalne koszty. Zaliczyć do nich można przede wszystkim niedostępność aplikacji, zaangażowanie zespołów w naprawę, czy też ogrom zadań, które powstają w jednym celu: „aby to się więcej nie powtórzyło”.

Ostatnim z haseł przywołanych przeze mnie będzie Anomaly detection. W dzisiejszych czasach chmury, kontenery czy mikroserwisy cechują się niesamowitą elastycznością (jeśli chcecie dowiedzieć się więcej o mikroserwisach, tutaj znajdziecie Niezbędnik mikroserwisów czyli 10 cech aktywnej architektury). Taką cechę musi posiadać także stack monitoringowy, a kluczowym parametrem będzie tutaj proaktywne podejście. Dzięki sztucznej inteligencji i ciągłej analizie stanu środowiska, jego wydajności oraz topologii jesteśmy w stanie zapobiegać, a nie „leczyć”, tym samym ograniczając możliwość wystąpienia awarii do bardzo niskich wartości.

Składając wszystko w jedną wielką całość, wysnuć można tezę, że monitoring środowiska IT to bardzo dobry przyjaciel całej organizacji. Pomoże developerowi, pozwoli adminowi spać spokojnie oraz zadba, aby biznes nie ponosił niezaplanowanych kosztów, a inwestycje przekuł w zadowalające zyski.

 

 

Udostępnij
Czy ten artykuł był pomocny?
Tak0
Nie0

Tagi