IBM INSTANA – kompleksowe monitorowanie aplikacji i usług
Liczba aplikacji rośnie tak szybko, że trudno jest nad nimi zapanować. Na szczęście dostawcy oferują coraz więcej narzędzi, które to umożliwiają.
Nie tak dawno proces wdrożenia nowego systemu czy aplikacji wiązał się z zakupem nowego serwera i wymagał czasu. Obecnie, gdy dostawcy chmury publicznej oferują nam swoje zasoby, a konteneryzacja pozwala na wdrożenie kilku rozwiązań działających na jednym hoście, uruchomienie kolejnych aplikacji może przebiegać błyskawicznie. Gdy szybko rośnie liczba wdrożonych usług i aplikacji, trudno nad wszystkim zapanować bez wglądu i dogłębnej analizy ich działania.
Z pomocą przychodzą rozwiązania typu Application Performance Management, czyli systemy służące monitorowaniu aplikacji i usług pod kątem wydajności oraz dostępności. Pozwalają one na śledzenie kluczowych wskaźników wydajności aplikacji przy użyciu oprogramowania monitorującego i danych telemetrycznych. Użytkownicy APM wykorzystują je do zapewnienia dostępności systemu, optymalizacji wydajności usług i czasów reakcji oraz poprawy działania aplikacji.
Instana, czyli APM w wydaniu IBM
APM to Application Performance Management – system do zarządzania wydajnością aplikacji. Jednym z rozwiązań do monitorowania i zarządzania aplikacjami jest Instana. Rozwiązanie firmy IBM zaprojektowano w celu sprostania wyzwaniom związanym z zarządzaniem mikrousługami i natywnymi aplikacjami w chmurze.
Instana zapewnia śledzenie w trybie „zero sampling”, gromadząc dane o wysokiej wierności z dokładnością do 1 sekundy. Automatycznie wykrywa oraz mapuje wszystkie usługi, pozyskuje metryki i śledzi też każde żądanie.
Funkcjonalności oferowane przez IBM Instana:
-
Websites & Mobile Apps to narzędzie analizujące rzeczywiste czasy ładowania strony oraz liczby zapytań do witryny internetowej. Administrator ma możliwość sprawdzenia: zasobów usługi, opóźnień żądania dostępu, przepustowości, kodów odpowiedzi HTTP, zapytań i żądań REST API a także mapy lokalizacji zapytań.
-
Business Monitoring (albo BPM – Business Process Management) służy do automatyzacji powtarzalnych zadań w procesach biznesowych, integrując powiadomienia i śledząc te procesy. Pozwala ono na podstawie liczby zapytań dla danego procesu określić, na ile jest on krytyczny. Narzędzie daje także możliwość sprawdzenia, w jaki sposób aplikacje czy infrastruktura IT wpływają na dany proces. Dla każdego procesu można sprawdzić jego stan i opóźnienie oraz to, jaka usługa jest za dany proces odpowiedzialna.
-
Applications to panel, który prezentuje aplikacje zaimplementowane w danej infrastrukturze z dostępną hierarchią usług i punktów końcowych. Jest to narzędzie pomocne w przypadku, gdy dana usługa łączy się do więcej niż jednej aplikacji. Dzięki niemu administrator może sprawdzić zależności działania danej aplikacji, procesy odpowiedzialne za uruchomienie usługi oraz to, w jakim kontenerze działa usługa i na jakim hoście znajduje się aplikacja. Narzędzie Applications udostępnia m.in. widok Processing Time, pokazując, ile czasu potrzeba na przetworzenie aplikacji, usługi czy procesu w punkcie końcowym.
-
Platforms to zestawienie klastrów Kubernetes. Narzędzie automatycznie wykrywa i mapuje kontenery w klastrze, a także wdrożone usługi, obciążenia czy węzły. Co ważne, funkcjonalność pozwala monitorować wydajność na poziomie węzła czy kontenera, dzięki czemu w prosty sposób można również sprawdzić, jakie segmenty Namespace zostały dodane w danym klastrze i jakie kontenery w danej przestrzeni stworzono.
Instana wspiera technologie Kubernetes, takie jak: Amazon Elastic Container Service for Kubernetes, Azure Kubernetes Service, IBM Cloud Kubernetes Service Monitoring and Performance Management, Google Kubernetes Engine, IBM Cloud Kubernetes Service, VMware Tanzu Kubernetes Grid.
-
Infrastructure to funkcjonalność służąca do monitorowania kondycji hostów, serwerów, maszyn wirtualnych, kontenerów i baz danych. Można w zautomatyzowany sposób monitorować zasoby infrastruktury z dokładnością do 1 sekundy. Dzięki skorelowaniu informacji ze wszystkich usług i procesów administrator może zarządzać oraz podejmować właściwe działania w przypadku błędów i awarii.
Wdrożony agent IBM Instana pobiera dane dotyczące m.in.:
-
Systemu plików wraz z punktem montowania, pojemnością i zajętością przestrzeni.
-
Interfejsów sieciowych z adresacjami (MAC, IP) oraz wielkością otrzymanych i wysłanych pakietów.
-
Uruchomionych procesów z numerami identyfikacyjnymi (PID) i zużyciem zasobów.
-
Podstawowych informacji na temat systemu operacyjnego, modelu procesora, pamięci RAM.
Szczegółowa analiza działania aplikacji
Aplikacja wystawiona do użytku publicznego lub firmowego może otrzymywać bardzo wiele zapytań, co może skutkować przeciążeniem serwera. Może być także celem ataków typu DDoS. Do zapobiegania przerwom w pracy aplikacji służą narzędzia Instana, dzięki którym administrator może sprawdzić, jakie zapytania najczęściej kierowane są do aplikacji. Administrator może również symulować działanie tej aplikacji.
Wśród takich narzędzi jest Synthetic Monitoring, które w celu oceny funkcjonalności aplikacji oferuje symulację potencjalnego zachowania użytkownika podczas interakcji z aplikacją. W ten sposób administratorzy czy testerzy mogą przetestować działanie aplikacji i zidentyfikować wszelkie błędy, zanim wpłyną one na doświadczenia rzeczywistych użytkowników. Narzędzie może raportować prędkość i rozmiar odpowiedzi aplikacji, status odpowiedzi, metodę API czy lokalizację, z jakiej zostało wysłane zapytanie.
Kolejnym narzędziem jest Analytics, służące do szczegółowej analizy zapytań i odpowiedzi aplikacji. Udostępnia ono pogrupowane informacje na temat połączeń pomiędzy aplikacjami a usługami. Dzięki filtrom narzędzie jest w stanie zwizualizować zapytania na podstawie statusu odpowiedzi serwera, usługi, aplikacji czy typu zapytania.
Narzędzie Analytics Calls przedstawia usługę, do której zostało wysłane zapytanie API, oraz status odpowiedzi serwera aplikacyjnego.
Full Stack Observability, czyli pełny wgląd w aplikacje
Chociaż na rynku jest dostępnych wiele narzędzi do monitorowania i analizy usług i aplikacji, to Instana wyróżnia się tym, że jest rozwiązaniem typu Full-Stack Observability. Oznacza to, że monitoruje ono wszystkie warstwy aplikacji, a także wydajność aplikacji, usług i serwerów. Dodatkowo automatyzuje procesy i dostarcza rozwiązania symulacji i testowania aplikacji pod kątem doświadczeń użytkownika końcowego.
Mając szybki dostęp do danych, administrator jest w stanie poprawić wydajność aplikacji, sprawdzić połączenia i zależności usług/aplikacji, co skutkuje optymalizacją zasobów i kosztów utrzymania.
Co ważne Instana jest kompatybilna z wieloma technologiami i usługami chmurowymi. Pobierając dane i metryki dotyczące m.in. klastrów Kubernetes, będzie pomocna w zarządzaniu i monitorowaniu aplikacji opartych na technologii konteneryzacji.