Was ist APM?
Was bedeutet APM?
APM steht für Application Performance Monitoring und bezeichnet den Prozess, mit dem Unternehmen Performance-Probleme in ihren Anwendungen und ihrem Code schnell identifizieren und beseitigen können.
APM-Lösungen erfassen, überwachen und analysieren Telemetriedaten aus Websites, Softwareanwendungen und Diensten. Auf diese Weise können Teams Einblicke in alle Ecken ihrer Anwendungen erhalten, sich einen Überblick über die Abhängigkeiten von Anwendungen und Diensten verschaffen sowie Ursachen für Fehler oder Performance-Einbrüche beseitigen. APM-Lösungen speichern und nutzen auch historische Daten, sodass sich Trends ermitteln und Ausreißer bei Schlüsselkennzahlen (KPIs) für die Performance (Latenz, Durchsatz usw.) und für betriebswirtschaftliche Belange erkennen lassen.
Was macht APM?
APM stellt kontinuierliche und detaillierte Informationen zur Performance von Anwendungen bereit. Teams können diese Informationen nutzen, um proaktiv einzuschreiten, statt auf Kundenbeschwerden zu warten. Es gibt verschiedene Einsatzmöglichkeiten für APM. So können Teams Alerts einrichten, die sie auf eine schlechter werdende User Experience hinweisen, messen, wie sich die neueste Version auswirkt, und Entscheidungen dazu treffen, wo Verbesserungen vorgenommen werden sollten. APM kann auch die Ursachenanalyse unterstützen und dabei helfen, den MTTD(Mean-Time-to-Detection)- und den MTTR(Mean-Time-to-Resolution)-Wert zu senken.
Warum ist APM wichtig?
Anwendungen sind, was moderne Unternehmen am Leben hält. Sie sind das Tor zu den Produkten, Diensten und Tools, mit denen die Nutzer:innen Tag für Tag arbeiten – und sie werden immer komplexer. Angesichts des Aufstiegs verteilter Anwendungen, wie cloudnativer Technologien und Microservices, sind Teams von der schieren Menge eingehender Telemetriedaten vielerorts überfordert. Um außergewöhnliche User Experiences bereitstellen zu können, benötigen sie eine Möglichkeit, alles zu überwachen.
APM sorgt dafür, dass Anwendungen so funktionieren, wie Sie es von ihnen erwarten. APM-Tools können Teams auf potenzielle Probleme hinweisen, damit diese schnell aus dem Weg geräumt werden können, um das Kundenvertrauen aufrechtzuerhalten.
Wie hat sich APM entwickelt?
Seit den Anfängen von APM in den 1990er-Jahren ermöglicht es IT-Teams Einblicke in ihre Anwendungen, die ihnen zuvor verwehrt blieben. Im Laufe der Jahre haben verschiedene Unternehmen mit verteiltem Tracing experimentiert. Die ersten wirklich robusten APM-Lösungen kamen jedoch erst in den 2010er-Jahren auf den Markt. Es handelte sich dabei um Plattformlösungen, die zusätzliche Funktionen für das allgemeine Tracking und End-to-End-Monitoring bieten.
Unterschiede zwischen APM und Observability
Oberflächlich betrachtet, sind sich Observability und APM recht ähnlich. Beide nutzen Telemetrie, um Daten zu sammeln, und beide liefern Informationen zur Performance. Während bei APM mehr die Anwendung im Vordergrund steht – es geht um die Verfolgung und Überwachung von Transaktionen –, beschäftigt sich Observability mit der Performance von Anwendungen und Infrastruktur. Observability ermöglicht ein tieferes Eindringen in technische Details und damit ein besseres Verständnis der Systeme. Sie korreliert Logdaten, Metriken und Traces miteinander und kann Teams dabei helfen, den Kontext und die Ursache für Performance-Probleme zu finden.
Wie funktioniert APM?
APM nutzt verschiedene Tools und Methoden, um die Performance von Software-Anwendungen zu überwachen und zu verwalten. Dazu gehören in der Regel Tools zur Überwachung wichtiger Metriken, wie Reaktionszeit, Durchsatz und Fehlerrate, die dabei helfen, Performance-Engstellen und Probleme zu identifizieren und zu diagnostizieren.
APM-Tools können darüber hinaus detaillierte Tracing- und Debugging-Informationen bereitstellen, die Entwickler:innen dabei helfen, Probleme im Code zu verstehen und zu beheben. Zu diesem Zweck kommen häufig Alerting- und Reporting-Funktionen zum Einsatz, mit denen alle, die es etwas angeht, stets über die Performance der Anwendung auf dem Laufenden gehalten werden.
APM-Agents
Ein Agent ist eine Software, die üblicherweise in der Anwendung instrumentiert wird. Sie überwacht Trace- und Telemetriedaten und sendet sie an den APM-Server und/oder andere Monitoring-Tools. Agents können für die Überwachung verschiedenster Systeme und Anwendungen eingesetzt werden. Sie lassen sich so konfigurieren, dass sie Daten zu einzelnen Aspekten der Performance der Anwendung erfassen.
APM-Instrumentierung
Der Begriff APM-Instrumentierung bezeichnet den Prozess, mit dem einer Anwendung Monitoring-Code für die Erfassung von Performance-Daten hinzugefügt wird. Dieser Code kann zur Erfassung von Metriken für die Reaktionszeit, Fehlerquoten, die Ressourcennutzung, Logdaten und andere wichtige Indikatoren für den Zustand und die Performance einer Anwendung genutzt werden.
Die Instrumentierung kann entweder manuell mit einem anbieterspezifischen APM-SDK (Software Development Kit) oder mit auf offenen Standards beruhenden Tools wie OpenTelemetry durchgeführt werden, mit denen Traces über Spannen gestartet und gestoppt werden.
Die Alternative ist der Einsatz von Agents, die den Code automatisch instrumentieren. Sind die Agents erst einmal installiert, können Teams bestimmte Teile einer Anwendung oder Transaktion für die Analyse instrumentieren und die Daten dann an einen Endpoint, üblicherweise eine APM-Plattform, senden. Die Instrumentierung wird in aller Regel über die Benutzeroberfläche eines Tools oder eine API vorgenommen. Zu den Dingen, die sich konfigurieren lassen, gehören neben anderen Metriken zum Beispiel die Umgebungsnamen und die Abtastintervalle.
APM-Analyse und -Alerting
Einmal erfasst, können die Performance-Daten analysiert werden. Bei der Auswahl eines Tools sollte darauf geachtet werden, dass es Dashboards und Ansichten enthält, die sowohl die einfache Verfolgung der User Experience als auch die Identifizierung von Fehlern und Problemen auf einen Blick ermöglichen. Die meisten Teams beginnen bei ihren Untersuchungen mit der Bearbeitung der gemeldeten Probleme und versuchen von da aus dann, der Ursache auf den Grund zu gehen. Mit einer Plattform entfällt dabei das ständige Umschalten zwischen den verschiedenen Tools. Alerts können auch eingerichtet werden, um künftige Probleme von vornherein zu vermeiden.
Was misst APM?
APM-Tools können die folgenden Metriken messen:
- Server-Zustand: Nutzung der Server-CPU, Arbeitsspeicherbelastung und Geschwindigkeit beim Lesen/Schreiben
- Fehlerquoten: Überwachung von Performance-Einbußen und Identifizierung von Problemen
- Reaktionszeit: Ermittlung, ob die Anwendungsperformance beeinträchtigt ist
- Instanzen: Ermittlung, wie viele Server- oder Anwendungsinstanzen aktuell ausgeführt werden, um effizientes Skalieren zu ermöglichen und die Gesamtkosten im Griff zu halten. Diese Metrik ist vor allem bei cloudbasierten Anwendungen wichtig.
- Anforderungsraten: Untersuchung des Nutzerverkehrs, um zu ermitteln, warum es Spitzen gibt oder warum Nutzer:innen inaktiv sind
- Verfügbarkeit: Überwachung der Uptime der Anwendung
Welche Vorteile bietet APM?
Zur Vermeidung negativer User Experiences ist es immer besser, vorab über einen drohenden Ausfall von Anwendungen Bescheid zu wissen. APM versetzt Teams in die Lage, Probleme schnell zu identifizieren und zu beheben – und zu verhindern, dass sie erneut auftreten. Mit einem umfassenden APM-Tool können Teams:
- die Stabilität und Uptime verbessern
- die Incident-Zahlen verringern
- Probleme schneller beheben
- hochwertige Software veröffentlichen
- Infrastrukturverbesserungen identifizieren
- die Produktivität erhöhen
- für bessere User Experiences sorgen
- den Umsatz ankurbeln
Welche Herausforderungen bringt APM mit sich ?
Die Nutzung von APM-Tools ist auch mit Herausforderungen verbunden. Teams müssen enorme Mengen von Daten bewältigen, die in Echtzeit einströmen. Komplexe, verteilte Anwendungen – vor allem solche, die cloudnative Technologien nutzen – können die APM-Instrumentierung erschweren. Wenn es in einer gesamten Umgebung Probleme gibt oder es notwendig wird, komplexe Fälle einer Ursachenanalyse zu unterziehen, sind viele Tools überfordert.
Für eine umfassende Abdeckung der Unternehmensumgebung müssen APM-Lösungen Transaktionen, Anwendungen und die Performance auf Code-Ebene in ihrer Gesamtheit („End-to-End“) überwachen. Am besten lässt sich dies mit einer zentralen Plattform erreichen, die zusätzlich noch die Workflows vereinfachen und die Problemlösung beschleunigen kann. Es ist wichtig, die richtige APM-Lösung auszuwählen, die zudem in der Lage sein sollte, für das Erreichen der Geschäftsziele eine Kombination aus verschiedenen Überwachungsmethoden zu nutzen.
Wichtige Merkmale von APM-Tools
Worauf sollten Sie bei der Auswahl des richtigen APM-Tools achten? Es gibt zwar etliche APM-Lösungen, die Transaktionen, Anwendungen und die Performance auf Code-Ebene in ihrer Gesamtheit überwachen können, aber es ist wichtig, darauf zu achten, dass die ausgewählte Lösung nicht nur jetzt passt, sondern auch in Zukunft noch Ihren technischen Anforderungen genügen wird.
Technische Fähigkeiten
Erstellen Sie eine Checkliste für Ihr Unternehmen/Ihre Organisation. Das erlaubt es Ihnen, die Merkmale und Funktionen von Tools mit Ihren eigenen Anforderungen zu vergleichen. Zu den technischen Fähigkeiten, die Ihr APM-Tool haben sollte, gehören zum Beispiel die folgenden:
- Verfolgung der Performance der Website und/oder Anwendung
- Ermittlung und Verwaltung von Anwendungs- und Dienstabhängigkeiten
- Erfassung verteilter Traces für End-to-End-Transparenz
- Bereitstellung von Echtzeit-Nutzer-Monitoring (Client und Server)
- Verbindung von Anwendungs-Performance mit Geschäftszielen
- Nutzung von Machine-Learning- und KI-basierten Analytics-Funktionen
- Unterstützung für eine Vielzahl von Datenarten, Datenquellen und Sprachen
End-to-End-Transparenz
APM-Daten können Organisationen Auskunft darüber erteilen, was in ihrer Anwendung tatsächlich vor sich geht. Um aber feststellen zu können, wie die Anwendung funktioniert, muss man in der Lage sein, alles genau zu überwachen.
Da einzelne Traces nur einen Teil des Ganzen zeigen, sollte Ihr APM-Tool einen Schritt weitergehen und Transaktionen in ihrer Gesamtheit, von der Entstehung bis zum Abschluss, überwachen. Auf diese Weise können die Traces miteinander verknüpft werden, sodass Sie, ausgehend von einem allgemeinen Überblick, bis hinein in einzelne Probleme auf Code-Ebene vorstoßen können.
End-to-End-Transparenz wird auch für AIOps-Belange benötigt.
Integrationen
Mit Integrationen für Dienste und Anwendungen von Drittanbietern lässt sich Ihr APM-Tool nahtlos in das Ökosystem Ihrer Organisation einbinden. Damit dies wirklich funktioniert, sollten diese Integrationen vorab auf verschiedene Aspekte von der Authentifizierung bis zu den CI/CD-Frameworks abgeklopft werden.
Nutzungsfreundlichkeit
APM-Funktionen werden von den verschiedensten Leuten in Ihrer Organisation genutzt werden. Um es den Nutzer:innen möglichst einfach zu machen, sollte die Benutzeroberfläche möglichst intuitiv gestaltet sein. Wichtig ist aber auch zu prüfen, wie einfach sich die APM-Lösung bereitstellen, verwalten und skalieren lässt.
Bereitstellungsoptionen
Wenn Sie darauf aus sind, die Betriebs- und Verwaltungskosten zu senken, empfiehlt sich der Blick auf cloudbasierte SaaS-Optionen. Aber auch andere Bereitstellungsoptionen lohnen einen Blick. Einige APM-Tools können sowohl Multi-Cloud- als auch Hybridstrategien unterstützen, während für andere Einschränkungen aufgrund Ihrer Cloud-Anbieter-Wahl gelten können.
Unterstützung für offene Standards und offene Daten
Der Bereich der Observability entwickelt sich ständig weiter. Da immer wieder neue Tools und Standards auf den Markt kommen, brauchen Sie eine flexible Plattform, die sich anpassen lässt. Die Nutzung offener Standards und Technologien wie OpenTelemetry kann auch dabei helfen, Ihren Werkzeugkasten zukunftssicher zu gestalten.
Mehr zum Thema Bausteine für Telemetriedaten
Security
Bei der Bewertung infrage kommender Tools sollten Sie auch berücksichtigen, was der Anbieter für die Security tut. Die Konstruktion und Bereitstellung des APM-Tools kann Ihr bestehendes Security-Framework entweder aufwerten oder aber schwächen. Der Verkehr von Komponente zu Komponente sollte verschlüsselt sein. Auch Erweiterungen von Dritten können ein Sicherheitsproblem darstellen. Prüfen Sie auch, ob Ihr APM-Tool Ihre bestehende IAM(Identity-Access-Management)-Lösung mit granularen Berechtigungen unterstützt.
APM mit Elastic
Gartner® hat Elastic im Bericht „Magic Quadrant™ for APM and Observability“ 2023 zum dritten Mal hintereinander als „Visionary“ eingestuft. Elastic bietet Unternehmen alles, was sie für eine Rundum-Observability benötigen – mit integrierten APM-Funktionen. Damit benötigen Teams nicht mehr mehrere Tools, um einen 360‑Grad-Einblick in ihr Produkt zu erhalten. Elastic bietet Teams Folgendes:
- Transparenz für Ihre Hybrid- und Multi-Cloud-Umgebungen: Observability für cloudnative Technologien, wie Kubernetes und Serverless, hilft Ihnen, die digitale Transformation zu beschleunigen. Elastic bietet auch native Unterstützung für OpenTelemetry.
- Besseres Troubleshooting und mehr Effizienz: Durch die Zentralisierung der Daten brechen Sie Silos in Ihrer Organisation auf und führen Metriken, Logdaten und Traces in einer zentralen Plattform zusammen. So können Sie schnell und einfach Einblick in Ihre gesamte Umgebung nehmen.
- Leistungsstarke Machine-Learning- und Analytics-Funktionen: Innovative AIOps-Funktionen, wie APM-Korrelationen und Anomalieerkennung, erlauben die Automatisierung der Ursachenanalyse für Ihre Teams.
- Überwachung der User Experience: RUM (Real User Monitoring) bietet detaillierten Aufschluss darüber, wie die Nutzer:innen Ihrer Website mit ihr interagieren. Dank synthetischem Monitoring können Sie Probleme mit der Web-Performance erkennen, bevor Ihre Nutzer:innen sie bemerken.
APM-Glossar
Verteiltes Tracing | Verteiltes Tracing bezeichnet die Methode, den Fluss von Anfragen und Antworten durch eine Anwendung von den Frontend- zu den Backend-Diensten zu verfolgen und zu analysieren. Das verteilte Tracing hilft Teams dabei zu verstehen, wie die verschiedenen Teile einer Anwendung miteinander interagieren, und potenzielle Engstellen oder Probleme zu identifizieren. |
Spannen | Spannen (englisch: spans) ist die Bezeichnung für die einzelnen Teile eines Workflows. Sie entsprechen der Zeit vom Beginn bis zum Ende einer Aktivität und enthalten Ausführungsinformationen. Häufig vorkommende Spannenattribute sind:
|
Transaktionen | Transaktionen sind Ereignisse, die einer logischen Arbeitseinheit entsprechen. Sie sind häufig mit einer eingehenden Anfrage oder einer ähnlichen Aufgabe für einen überwachten Dienst verknüpft. Transaktionen können mehrere Spannen sowie zusätzliche Attribute enthalten, wie etwa Daten über die Umgebung, in der das Ereignis erfasst wird. Hier ein paar Beispiele für Transaktionen:
In APM-Lösungen bezieht sich der Begriff „Transaktion“ in der Regel auf Web-Transaktionen und beinhaltet alle Aktivitäten ab dem Zeitpunkt des Absendens der Anfrage bis zum Zeitpunkt des Empfangs der Antwort. |
Traces | Traces sind eine detaillierte Aufzeichnung der von einer Anwendung ausgeführten Aktionen auf Code-Ebene. Sie geben Aufschluss über den Status und die Dauer der Methoden- oder Funktionsaufrufe im Zusammenhang mit einer Anwendungsanfrage. |
Dienste | Ein Dienst ist eine in sich geschlossene Software, die eine oder mehrere exakt umrissene Aufgabe(n) ausführt. Dienste sind so gestaltet, dass sie lose gekoppelt werden können und sich problemlos wiederverwenden lassen. Sie sind ein häufiges Element von Microservices-Architekturen. Dienste werden häufig mittels Container-Technologien wie Docker und Kubernetes bereitgestellt. |
OpenTelemetry | OpenTelemetry ist ein Open-Source-Framework für das Erfassen und Exportieren von Telemetriedaten aus Anwendungen, Diensten und Bibliotheken. Es stellt Bibliotheken und APIs für das Instrumentieren von Code und das Erfassen von Daten sowie Tools und Integrationen für das Analysieren, Visualisieren und Speichern der Daten zur Verfügung. OpenTelemetry ist anbieterneutral und erweiterbar und gilt als Standard für das Erfassen und Exportieren von Telemetriedaten. |