Dlaczego potrzebny jest system do monitoringu i diagnostyki aplikacji

Większość współczesnych, małych i dużych firm buduje swój biznes w oparciu o systemy informatyczne. Ciągle słyszymy o aplikacjach internetowych, „apkach” na telefony „chmurach” i różnych innych usługach.

Dzisiejsza sieć (internet i intranet) to w większości medium komunikacyjne pomiędzy zbiorami danych, aplikacjami i użytkowanymi.

Dziś internet jest szybki i bezawaryjny. Większość użytkowników posiada stałe, często światłowodowe łącze, gdzie przepustowość (ilość danych) sięga jednego gigabita (1GB)

Dlaczego więc tak dużo użytkowników skarży się na wolno działające aplikacje, ich „wywalanie się”, czy problemy z nierealizowanymi żądaniami/zadaniami?

Aby odpowiedzieć na to pytanie, musimy uzmysłowić sobie jak zbudowane są współczesne aplikacje.

Współczesne aplikacje są skomplikowane. Aby wyświetlić stronę w przeglądarce na telefonie lub laptopie, żądanie musi „przejść” przez kilka warstw aplikacji – np. warstwy odpowiedzialnej za grafikę, warstwy logiki biznesowej, warstwy integracyjnej, czy warstwy danych. Każda z tych warstw składa się z kilku lub kilkudziesięciu serwerów aplikacji. Każdy zaś serwer aplikacji zawiera kilka aplikacji, a te składają się z setek tysięcy klas Java.

Wyobraźmy siebie na przykład, że w klasie nr 10108 programista zakodował nieoptymalny kod. Klasa 10108 generuje więc opóźnienie (długi czas wykonania), które przekłada się na opóźnienie serwera aplikacji. Opóźnienie serwera (klika, kilkadziesiąt sekund) przekłada się na opóźnienie całej warstwy (np. logiki biznesowej), a w konsekwencji na frustracje użytkownika „bo znowu nic nie działa, działa wolno, lub nie robi tego co powinna”).  Oczywiście przykład jest znacznie uproszczony

Dla przykładu rozważmy typową aplikację do rezerwacji biletów lotniczych. Należy zauważyć, że elektroniczne systemy rezerwacji mają aktualnie ponad 50% udział w ogólnych rezerwacjach. Użytkownik próbuje dokonać rezerwacji na lot. Oto lista problemów na które może on napotkać:

  • Nie może wczytać strony (problem po stronie serwerów lini lotnicznej)
  • Nie może wyszukać lotów (problem po stronie serwerów grupy lotnicznej)
  • Nie może zapłacić kartą (problem po stronie operatora kart kredytowych)
  • Aplikacja działa bardzo wolno
  • Aplikacja „zawiesza się” w trakcie np. płatności.

 

Czy o tych problemach wie od razu dział wsparcia obsługujący system rezerwacji w linii lotniczej? Czy dowiedzą się wtedy, jak kilku zdenerwowanych pasażerów zacznie wydzwaniać (generując dodatkowe koszty osobowe) do call-center?

 

Ocena „stanu” przetwarzania danych w systemach informatycznych jest zadaniem krytycznym. Administratorzy zarządzający aplikacjami powinni mieć wgląd w krytyczne metryki raportujące obciążenie oraz jakość poszczególnych zapytań kierowanych do systemu. Dlaczego?

Aby proaktywnie reagować na sytuacje spowolnień, błędów i innych czynników powodujących problemy.

Proaktywne zarządzanie wydajnością, daje możliwość dynamicznej zmiany parametrów aplikacji i w konsekwencji nie prowadzi do np. awarii.

 

Kolejnym problemem aplikacji jest jej dostępność. Jeżeli nastąpi awaria, informacja diagnostyczna generowana w momencie awarii lub historia metryk diagnostycznych, musi przyczynić się do skrócenia czasu potrzebnego na identyfikację/usunięcie problemu, tak aby w przyszłości eliminować awarie i konsekwencji zwiększać dostępność aplikacji.

 

I do tego właśnie jest Flopsar.

 

Flopsar to narzędzie do ciągłego badania jakości i dostępności systemów IT. Włączony do aplikacji pokazuje jej słabe strony, błędy przetwarzania oraz wskazuje na potencjalne miejsca optymalizacji. Monitoruje dostępność oraz czasy odpowiedzi, tak aby służby IT mogły zareagować wcześniej niż zdarzy się potencjalna awaria. Raportuje każdą transakcję wykonującą się na badanym serwerze aplikacji.

 

Flopsar rewolucjonizuje podejście do zarządzania wydajnością aplikacji poprzez całkowite wyeliminowanie potrzeby przeglądania setek kokpitów (dashboard) i niepotrzebnych danych.

Produkty powiązane