Zarządzanie wydajnością aplikacji

W dziedzinie technologii informatycznych i zarządzania systemami zarządzanie wydajnością aplikacji ( APM ) to monitorowanie i zarządzanie wydajnością i dostępnością aplikacji . APM stara się wykrywać i diagnozować złożone problemy z wydajnością aplikacji, aby utrzymać oczekiwany poziom usług . APM to „przekład metryk IT na znaczenie biznesowe ([tj.] wartość).”

Mierzenie wydajności aplikacji

dwa zestawy wskaźników wydajności . Pierwszy zestaw metryk wydajności definiuje wydajność odczuwaną przez użytkowników końcowych aplikacji. Jednym z przykładów wydajności są średnie czasy odpowiedzi przy obciążeniu szczytowym. W skład zestawu wchodzą czasy ładowania i odpowiedzi:

  • Obciążenie to ilość transakcji przetwarzanych przez aplikację, np. transakcje na sekundę, żądania na sekundę, strony na sekundę . Bez obciążenia komputerowego (np. wyszukiwania, obliczeń, transmisji) większość aplikacji jest wystarczająco szybka, dlatego programiści mogą nie wykryć problemów z wydajnością podczas programowania.
  • Czasy odpowiedzi to czasy wymagane, aby aplikacja zareagowała na działania użytkownika przy takim obciążeniu.

Drugi zestaw metryk wydajności mierzy zasoby obliczeniowe używane przez aplikację dla obciążenia, wskazując, czy istnieje wystarczająca pojemność do obsługi obciążenia, a także możliwe lokalizacje wąskich gardeł wydajności. Pomiar tych wielkości ustanawia empiryczną podstawę wydajności dla aplikacji. Linię bazową można następnie wykorzystać do wykrycia zmian w wydajności. Zmiany w wydajności można skorelować ze zdarzeniami zewnętrznymi, a następnie wykorzystać do przewidywania przyszłych zmian w wydajności aplikacji.

Stosowanie APM jest powszechne w przypadku aplikacji internetowych, co najlepiej sprawdza się w przypadku bardziej szczegółowych technik monitorowania. Oprócz mierzenia czasu odpowiedzi użytkownika, można również monitorować czasy odpowiedzi komponentów aplikacji internetowej, aby pomóc określić przyczyny opóźnień. Istnieją również HTTP , które mogą dekodować czasy odpowiedzi specyficzne dla transakcji w warstwie serwera WWW aplikacji.

W ramach koncepcyjnych APM , Gartner Research opisuje pięć wymiarów APM:

W 2016 roku firma Gartner Research zaktualizowała swoją definicję, wprowadzając trzy główne wymiary funkcjonalne:

  • Monitorowanie doświadczeń użytkowników końcowych (EUEM) zostało przekształcone w cyfrowe monitorowanie doświadczeń (DEM);
  • Nowy wymiar, wykrywanie, śledzenie i diagnostyka aplikacji (ADTD), łączy trzy wcześniej oddzielne wymiary (topologia aplikacji [architektura środowiska uruchomieniowego] wykrywanie i wizualizacja, definiowane przez użytkownika profilowanie transakcji oraz głębokie nurkowanie komponentów aplikacji), ponieważ wszystkie trzy są przede wszystkim koncentrują się na rozwiązywaniu problemów i są ze sobą powiązane;
  • Analityka aplikacji (AA).

Aktualne problemy

Od pierwszej połowy 2013 roku APM weszła w okres intensywnej konkurencji w zakresie technologii i strategii z wieloma dostawcami i punktami widzenia. Spowodowało to wstrząs na rynku, a dostawcy z niepowiązanych środowisk (w tym monitorowania sieci, zarządzania systemami, oprzyrządowania aplikacji i wydajności sieci ) przyjęli przesyłanie wiadomości wokół APM [ co? ] . W rezultacie termin APM został rozcieńczony i przekształcił się w koncepcję zarządzania wydajnością aplikacji na wielu różnych platformach obliczeniowych, a nie na jednym rynku. [ potrzebne wyjaśnienie ] Przy tak wielu dostawcach do wyboru, wybór jednego może być wyzwaniem. Ważne jest, aby dokładnie ocenić każdy z nich, aby upewnić się, że jego możliwości spełniają Twoje potrzeby.

Dwa wyzwania związane z wdrożeniem APM to (1) trudne instrumentowanie aplikacji w celu monitorowania wydajności aplikacji, zwłaszcza jej komponentów, oraz (2) aplikacje mogą być wirtualizowane , co zwiększa zmienność pomiarów. Aby złagodzić pierwszy problem, zarządzanie usługami aplikacji (ASM) zapewnia podejście skoncentrowane na aplikacjach, w którym kluczowym celem jest widoczność wydajności usług biznesowych. Drugi aspekt występujący w aplikacjach rozproszonych, wirtualnych i opartych na chmurze stanowi wyjątkowe wyzwanie dla monitorowania wydajności aplikacji, ponieważ większość kluczowych komponentów systemu nie jest już hostowana na jednej maszynie. Obecnie prawdopodobnie każda funkcja została zaprojektowana jako usługa internetowa działająca w wielu zwirtualizowanych systemach. Same aplikacje najprawdopodobniej będą przenosić się z jednego systemu do drugiego, aby spełnić cele dotyczące poziomu usług i poradzić sobie z chwilowymi przestojami.

Ramy koncepcyjne APM

Same aplikacje stają się coraz trudniejsze do zarządzania, ponieważ przechodzą w kierunku wysoce rozproszonych, wielowarstwowych, wieloelementowych konstrukcji, które w wielu przypadkach opierają się na platformach programistycznych, takich jak .NET lub Java. Ramy koncepcyjne APM zostały zaprojektowane, aby pomóc w ustaleniu priorytetów podejścia do tego, na czym należy się skupić w pierwszej kolejności w celu szybkiego wdrożenia i ogólnego zrozumienia pięciowymiarowego modelu APM. Slajd ramowy przedstawia trzy obszary zainteresowania dla każdego wymiaru i opisuje ich potencjalne korzyści. Te obszary są poniżej określane jako „ Podstawowe ”, a wymiary o niższym priorytecie jako „ Drugorzędne ” .

Doświadczenie użytkownika końcowego (podstawowe)

Mierzenie tranzytu ruchu od żądania użytkownika do danych iz powrotem jest częścią przechwytywania doświadczenia użytkownika końcowego (EUE). Wynik tego pomiaru jest określany jako monitorowanie aplikacji w czasie rzeczywistym (inaczej monitorowanie odgórne), które składa się z dwóch elementów, pasywnego i aktywnego. Monitorowanie pasywne jest zwykle urządzeniem bezagentowym zaimplementowanym przy użyciu dublowania portów sieciowych . Kluczową cechą, którą należy wziąć pod uwagę, jest możliwość obsługi analiz wieloskładnikowych (np. baza danych, klient/przeglądarka). Z drugiej strony aktywne monitorowanie składa się z syntetycznych sond i robotów sieciowych predefiniowanych do raportowania dostępności systemu i transakcji biznesowych. Monitorowanie aktywne jest dobrym uzupełnieniem monitorowania pasywnego; razem te dwa składniki pomagają zapewnić wgląd w stan aplikacji poza godzinami szczytu, kiedy wolumen transakcji jest niski.

Ten slajd przedstawia trzy obszary zainteresowania dla każdego wymiaru i opisuje ich potencjalne korzyści.

Zarządzanie doświadczeniem użytkownika (UEM) to podkategoria, która wyłoniła się z wymiaru EUE w celu monitorowania kontekstu behawioralnego użytkownika. UEM, tak jak jest to praktykowane dzisiaj, wykracza poza dostępność, aby uchwycić opóźnienia i niespójności podczas interakcji ludzi z aplikacjami i innymi usługami. UEM jest zwykle oparty na agencie i może obejmować wstrzykiwanie kodu JavaScript w celu monitorowania urządzenia użytkownika końcowego. UEM jest uważany za kolejny aspekt monitorowania aplikacji w czasie rzeczywistym.

Architektura aplikacji środowiska wykonawczego (wtórna)

Istnieją oferty Application Discovery and Dependency Mapping (ADDM), aby zautomatyzować proces mapowania transakcji i aplikacji na bazowe komponenty infrastruktury. Przygotowując się do wdrożenia architektury aplikacji środowiska wykonawczego, należy upewnić się, że wszystkie węzły i serwery w środowisku są monitorowane w górę/w dół (tzw. monitorowanie oddolne). Pomaga to położyć podwaliny pod korelację zdarzeń i zapewnia podstawę do ogólnego zrozumienia interakcji topologii sieci z architekturami aplikacji.

Transakcja biznesowa (podstawowa)

Skoncentruj się na transakcjach zdefiniowanych przez użytkownika lub definicjach stron URL, które mają pewne znaczenie dla społeczności biznesowej. Na przykład, jeśli istnieje od 200 do 300 unikalnych definicji stron dla danej aplikacji, pogrupuj je w 8-12 kategorii wysokiego poziomu. Pozwala to na sporządzanie znaczących raportów SLA i zapewnia informacje o trendach wydajności aplikacji z perspektywy biznesowej: zacznij od szerokich kategorii i udoskonal je w miarę upływu czasu. Aby uzyskać dokładniejsze informacje, zobacz Zarządzanie transakcjami biznesowymi .

Monitorowanie komponentów głębokiego nurkowania (dodatkowe)

Głębokie monitorowanie komponentów (DDCM) wymaga instalacji agenta i jest generalnie ukierunkowane na oprogramowanie pośrednie , koncentrując się na serwerach WWW, aplikacji i komunikatorów. Powinien zapewniać widok w czasie rzeczywistym J2EE i .NET , powiązując je z transakcjami biznesowymi zdefiniowanymi przez użytkownika. Solidny monitor pokazuje wyraźną ścieżkę od wykonania kodu (np. sprężyny i rozpórki) do wyrenderowanego adresu URL i wreszcie do żądania użytkownika. Ponieważ DDCM jest ściśle powiązany z drugim wymiarem w modelu APM, większość produktów w tej dziedzinie zapewnia również mapowanie zależności wykrywania aplikacji (ADDM) w ramach swojej oferty.

Analityka/raportowanie (podstawowe)

Ważne jest, aby uzyskać wspólny zestaw metryk do zbierania i raportowania dla każdej aplikacji, a następnie ustandaryzować wspólny pogląd na sposób prezentacji danych dotyczących wydajności aplikacji. Zbieranie nieprzetworzonych danych z innych zestawów narzędzi w ramach modelu APM zapewnia elastyczność w raportowaniu aplikacji. Pozwala to na odpowiadanie na różnorodne pytania dotyczące wydajności w miarę ich pojawiania się, pomimo różnych platform, na których może działać każda aplikacja. Nadmiar informacji przytłacza. Dlatego ważne jest, aby raporty były proste, w przeciwnym razie nie będą używane.

Zobacz też