Data Insider

Was ist Application Performance Monitoring?

Mit Application Performance Monitoring (APM) können Unternehmen die Leistung von Softwareanwendungen aufzeichnen, um Probleme, die während der Entwicklung und der Laufzeit auftreten, zu identifizieren und zu untersuchen. Mit dem Aufkommen von SaaS-Anwendungen und Cloud-nativen Infrastrukturen hat sich Application Performance Monitoring – nicht zu verwechseln mit Application Performance Management – zu einem unverzichtbaren Werkzeug entwickelt, das einen qualitativ hochwertigen Service für Anwendungen gewährleistet, die im Web und insbesondere auf mobilen Apps ausgeführt werden.

Bei APM-Kennzahlen geht es in erster Linie um Leistung und die Anzahl der Transaktionen pro Sekunde, die von einer Anwendung verarbeitet werden, sowie die Gesamtantwortzeit bei jeder dieser Transaktionen. Darüber hinaus können Sie mit APM die Leistung der Geräte messen, die diese Transaktionen ausführen, und die Hardware-Leistungsprobleme bewerten, die zu Engpässen führen können. APM-Tools sind jedoch in erster Linie zur direkten Messung der Anwendungsleistung auf einer Detailebene vorgesehen und greifen zu KI-gestützten Analysen, um problematische Abhängigkeiten in der Infrastruktur schnell zu verstehen.

Mit einem Application Performance Monitoring-Tool können Unternehmen die Daten, die sie bereits gesammelt haben, besser verwerten. Das beinhaltet die Erkennung von Problemen, bevor sie die Kunden beeinträchtigen, die Verkürzung der Wiederherstellungszeit bei Ausfällen, eine schnellere Reaktion und die Einhaltung von Service-Level-Agreements (SLAs).

In diesem Artikel schauen wir uns im Detail an, welche Arten von Systemen und Prozessen mit APM überwacht werden, sowie die Kennzahlen, die von APM-Tools ausgewertet werden, und die empfohlenen Funktionen, auf die Sie achten sollten, wenn Sie eine erstklassige APM-Lösung für Ihr Unternehmen in Betracht ziehen.

Was wird mit APM überwacht?

APM misst nicht direkt die Integrität des Netzwerks, sondern vielmehr die Integrität einer Anwendung, die in diesem Netzwerk ausgeführt wird. Im Kern wird mit APM die Transaktionsgeschwindigkeit einer Webanwendung überwacht, einschließlich der Geschwindigkeit, mit der verschiedene Services ihren Teil der Transaktion ausführen. Zudem werden weitere Kennzahlen überwacht, die mit der App-Performance in Zusammenhang stehen. APM-Tools unterscheiden sich zwar im Design und Funktionsumfang, das Hauptziel von APM besteht jedoch stets darin, alle Komponenten jeder Transaktion zu erfassen, die von einer Anwendung und ihren Benutzern generiert werden, um Unternehmen verwertbare Einblicke in alle Facetten einer Anwendung zu geben. APM kann darüber hinaus Anomalien erkennen, die von der Anwendung erzeugt werden, und diese an IT Operations und das Management melden. So können Entwickler und SREs (Site Reliability Engineers) unbekannte, in der Anwendungsarchitektur verborgene Probleme identifizieren und beheben.

APM-Tools sind darauf ausgelegt, eine Reihe von Schlüsselfragen zu beantworten, darunter folgende:

  • Verhält sich die Anwendung so, wie sie soll und reagiert sie entsprechend?
  • Liegen Leistungsengpässe oder andere Fehler vor, die sich auf die Anwendung auswirken?
  • Wenn ja, woher rührt der jeweilige Engpass oder Fehler? Ist es die Anwendung selbst? Sind es die Abhängigkeiten zwischen den verschiedenen Services, aus denen die Anwendung besteht? Oder ist es ein Problem mit der Infrastruktur?
  • Welchen Einfluss hat der Engpass auf Endbenutzer und auf das Geschäft?
  • Lässt sich der Engpass beheben?

Was sind die wichtigsten Kennzahlen beim APM?

Mit APM-Tools werden in der Regel drei verschiedene Kennzahlen, sogenannte RED-Metriken, gemessen:

  • Rate (Rate): Die Rate, mit der eine Transaktion ausgeführt wird
  • Error (Fehler): Wurden Fehler erzeugt
  • Duration (Dauer): Die für die Ausführung der Transaktion erforderliche Zeit

Mit verschiedenen Tools werden unterschiedliche APM-Ansätze verfolgt, die Entwicklern und SREs ein umfassenderes Verständnis von Problemen mit der Anwendungsleistung vermitteln. Konkret werden mit APM-Tools in der Regel die folgenden Kennzahlen erfasst:

  • Durchschnittliche Antwortzeit: Wie schnell reagiert die App auf Benutzeranfragen und schließt Transaktionen ab, und geschieht dies im Laufe der Zeit langsamer?
  • Gesamter Benutzerverkehr/Anfragerate: Die Leistung nimmt oftmals ab, wenn mehr Benutzer die App gleichzeitig benutzen. Mit APM-Lösungen wird die Leistung jeder einzelnen Transaktion gemessen. Durch diesen Detailgrad können SREs und Entwickler die Ursachen von Leistungseinbrüchen leichter verstehen.
  • Fehlerraten: Werden von einer Anwendung Fehler erzeugt, und wie schwerwiegend sind diese? Wo in der Anwendung entstehen diese Fehler? Mit diesen Informationen lässt sich die Fehlerbehebung beschleunigen und die Gesamtbetriebszeit der Anwendung messen.
  • Geschäftliche KPIs und SLOs: Erreicht die App die geforderten geschäftlichen KPIs (Key Performance Indicators), SLAs (Service-Level-Agreements) und SLOs (Service-Level-Objectives), zu denen unter anderem Faktoren wie die Checkout-Zeit, die Anzahl der Anmeldungen und die Länge oder Häufigkeit von Ausfällen zählen? Jede Verletzung Ihres SLO-Fehlerbudgets – der Rate, mit der Sie diese Ziele verfehlen – kann erhebliche finanzielle Auswirkungen auf Ihr Unternehmen haben.
Application Performance Monitoring

Was ist eine APM-Lösung?

Eine APM-Lösung ist eine Software, die mehrere wichtige Funktionen des Anwendungs-Monitorings übernimmt. Zu diesen Funktionen zählen die folgenden Komponenten:

  • Frontend-Monitoring: Frontend-Monitoring beinhaltet sowohl Unterstützung für Real User Monitoring (RUM) als auch für Synthetic Monitoring. Die Bedeutung von Real User Monitoring nimmt sogar noch zu, aufgrund der Tatsache, dass clientseitiger Code wie JavaScript oft blinde Flecken im Kundenerlebnis des Unternehmens hervorruft. Synthetic Monitoring kann Probleme proaktiv erkennen, bevor Code veröffentlicht wird.
  • Anwendungsermittlung, Tracing und Diagnosen (Application Discovery, Tracing and Diagnostics, ADTD): APM-Tools ermitteln und erstellen eine Service-Map aller Microservices, aus denen sich eine Anwendung zusammensetzt, der Webserver, Anwendungsserver, Anwendungs-Frameworks und anderen Plattformen im Netz, einschließlich lokaler Server, Cloud-basierter Server und Systemen, die auf hybriden Infrastrukturen laufen. Dazu verwendet ADTD sowohl die Bytecode-Instrumentierung (BCI), mit der Profile für Anwendungen im laufenden Betrieb erstellt werden können, als auch Techniken für verteiltes Tracing.
  • Analysen: APM-Lösungen sind so konzipiert, dass sie Leistungsdaten im zeitlichen Verlauf so aufzeichnen, dass Entwickler, SREs und Geschäftsinhaber feststellen können, ob eine Anwendung ihre SLOs erfüllt, und den Betrieb im Auge behalten können, wenn sich die Umgebung ändert. Solche Veränderungen könnten etwa in der Zunahme der Benutzeranzahl, der Verschlechterung des Services oder in Änderungen am zugrunde liegenden Code bestehen. Mithilfe der Ursachenanalyse und der logischen Anomalieerkennung, mit künstlicher Intelligenz und Machine Learning-Tools lässt sich dann vorhersagen, ob und warum die Leistung wahrscheinlich nachlassen wird. APM-Tools verwenden und analysieren darüber hinaus Anwendungslogs, um Erkenntnisse zu gewinnen, mit denen sich fehlerhafte Stellen genau bestimmen lassen.

APM-Lösungen unterscheiden sich in Komplexität, Design, Umfang und Preis. Es ist jedoch wichtig, zu verstehen, dass der Zweck von APM-Lösungen darin besteht, Entwicklern und SREs verwertbare Einblicke nicht nur in die Performance-Probleme von Anwendungen zu geben, sondern auch in die Ursachen dieser Probleme. Einfach nur zu wissen, dass eine Anwendung langsam ist oder Fehler auslöst, ist nicht sehr hilfreich. APM ist dann besonders nützlich, wenn Teams damit schnell die Ursache für Leistungseinbrüche und Fehler erkennen. Ein solides APM-Tool stellt diese Informationen grafisch in einem Dashboard dar, das die Leistung jedes Services und seine Abhängigkeiten im zeitlichen Verlauf skizziert und aufzeichnet.

Application Performance Monitoring

Warum sollte ich APM verwenden?

APM bietet Unternehmen, die Tools dieser Art einsetzen, eine Reihe klarer Vorteile, wie z.B.:

  • Weniger Service-Verschlechterungen und SLO-Verletzungen: Einer der wichtigsten Gründe dafür, dass Unternehmen APM einführen, besteht im schnellen Troubleshooting und in der Wiederherstellung der vollen Funktionsfähigkeit von Systemen, sodass ihre SLOs im Falle eines Problems erfüllt und zukünftige Probleme gleichzeitig verhindert werden. APM ist ein wichtiges Instrument, wenn es darum geht, die MTTR (Mean-Time-To-Resolution) von Problemen aufgrund von anwendungsbezogenen Fehlern und Leistungsschwächen zu verkürzen.
  • Mehr Umsatz: Wenn eine Anwendung oder ein Service nicht verfügbar ist, können Kunden schnell frustriert werden und nach einer Alternative suchen, was sich letztlich auf den Umsatz auswirkt. APM kann nicht nur dazu beitragen, dass Ihre Anwendungen verfügbar bleiben, sondern auch die Ladezeit kritischer Anwendungen verbessern.
  • Höhere Geschwindigkeit und Wettbewerbsfähigkeit: APM ist hilfreich bei der Anwendungsoptimierung, was wiederum die Geschwindigkeit und Agilität erhöht, die es Unternehmen ermöglicht, mit den stetig wachsenden Anforderungen der Branche Schritt zu halten. In den meisten Branchen führt Latenz zu Ausfallzeiten, sodass eine erhöhte Geschwindigkeit und Flexibilität einen Wettbewerbsvorteil bedeutet.
  • Besseres digitales Erlebnis und höhere Kundenzufriedenheit: Ihre Kunden sind zufriedener, je schneller Ihre Anwendung reagiert. Latenz spielt in der Meinung der Kunden eine wichtige Rolle; sowohl bei Desktop- als auch bei mobilen Suchanfragen ist die Seitenladezeit ausschlaggebend. Wenn Sie die Leistung von mobilen und Webanwendungen nicht regelmäßig evaluieren, verlieren Sie aller Wahrscheinlichkeit nach Endkunden.
  • Geringere Betriebskosten: Der Ausfall von Anwendungen, die nicht aktiv überwacht werden, hat oftmals katastrophale Auswirkungen und geschieht ohne Vorwarnung. Unternehmen müssen den gesamten Betrieb stoppen, um mit der plötzlich auftretenden Notsituation fertigzuwerden, was ihre DevOps-Teams extrem unter Druck setzen kann. Mit APM lässt sich dieser Aufwand minimieren, da es dem Unternehmen einen besseren Einblick in etwaige Probleme verschafft, bevor sie sich zu einer Katastrophe entwickeln. Durch den Einsatz von APM-Automatisierungs-Tools können Unternehmen außerdem Personal und damit weitere Kosten für den IT-Betrieb einsparen.

Wie verhält sich Application Performance Monitoring im Vergleich zum Infrastructure Monitoring?

Sowohl durch Application Performance Monitoring als auch durch Infrastructure Monitoring können Administratoren Leistungs- und Produktivitätsprobleme, die den Geschäftsbetrieb behindern können, verstehen und beheben. Beide sind in der Lage, Kennzahlen im Zusammenhang mit der Benutzererfahrung zu aggregieren und zu beurteilen, ob die Leistungskennzahlen in einer IT-Umgebung eingehalten oder unterschritten werden, oder ob Fehler und andere störende Probleme auftreten. Beide Monitoringsysteme haben jedoch unterschiedliche Ansätze.

Wie bereits erwähnt, wird beim Application Performance Monitoring beobachtet, wie Anwendungen funktionieren und ob sie angemessen arbeiten. Tun sie das nicht, erfasst das Monitoringtool Daten zur Ursache des Problems und benachrichtigt die IT-Teams, sodass sie die Leistung einer bestimmten Anwendung oder mehrerer Anwendungen mit der aktuellen Unternehmenssituation oder anderen Ergebnissen korrelieren können. Ferner können sie Leistungsprobleme im Backend erkennen und beheben, bevor sie sich negativ auf die Benutzererfahrung oder das Geschäftsergebnis auswirken.

Beim IT-Infrastruktur-Monitoring hingegen wird die Erfassung und Überprüfung von Informationen für verschiedene Komponenten der Computerumgebung eines Unternehmens automatisiert. Sobald ein Problem festgestellt wird, teilt das Infrastruktur-Monitoringtool dies den IT-Teams mit, damit diese der Ursache effektiver und effizienter auf den Grund gehen können, bevor die Produktivität beeinträchtigt wird. Durch Infrastruktur-Monitoring wird darüber hinaus sichergestellt, dass Netzwerkressourcen optimal und wie vorgesehen ausgeführt werden.

Wie verhält sich Application Performance Monitoring im Vergleich zu Container Monitoring?

Die Einsatzmöglichkeiten von Performance Monitoring und Container Monitoring überschneiden sich, auch wenn ein direkter Vergleich kaum sinnvoll ist. Mit einigen APM-Tools können nicht nur Anwendungen überwacht werden, die in Containern bereitgestellt werden, sondern auch nicht containerisierte Anwendungsumgebungen. Container Monitoring-Tools enthalten viele ähnliche Funktionen wie Application Performance Monitoring-Systeme. Sie können jedoch auch zusätzliche Funktionen enthalten, die über die Performance-Messung hinausgehen. Das bedeutet, dass die meisten Container Monitoring-Tools zugleich APM-Tools sind.

Wenn Ihre Anwendungen containerisiert sind, ist es wichtig, speziell dafür ein Container Monitoring-Tool in Betracht zu ziehen. Herkömmliche APM-Tools wurden ursprünglich nicht zur Überwachung von Container-Umgebungen entwickelt – ihre Architektur ist zu komplex und hat zu viele komplizierte Abhängigkeiten, als dass ein APM-Standardtool damit umgehen könnte.

Die gute Nachricht ist, dass dedizierte Container Monitoring-Lösungen mittlerweile weit verbreitet sind, sodass die Verwaltung der Performance containerisierter Anwendungen heute genauso möglich ist, wie die Verwaltung der Performance herkömmlicher Anwendungen.

Wie wählen Sie die richtige APM-Lösung?

Es gibt viele APM-Lösungen und jede hat Vor- und Nachteile. Im Folgenden finden Sie eine Reihe wichtiger Überlegungen, die Ihnen nicht zuletzt unter Berücksichtigung des Preises bei der Wahl der richtigen APM-Lösung für Ihr Unternehmen helfen sollen.

Diese unternehmensspezifischen Fragen müssen beantwortet werden:

  • Bestehen Ihre Anwendungen aus einem einzelnen Code-Block, der auf einer einzelnen virtuellen Maschine (VM) ausgeführt wird, oder arbeiten Sie mit einem modernen Design auf der Grundlage von Microservices?
  • Wendet Ihr Unternehmen moderne Software-Entwicklungsmethoden an, und spielt dabei die DevOps-Kultur eine Rolle?
  • Wollen Sie jede Anomalie finden und sehr vielen Benutzern ein großartiges Erlebnis bieten, oder reicht es Ihnen, wenn nur ein Teil Ihrer Kunden zufrieden ist?
  • Wie schnell müssen Informationen bei Ihnen ankommen? Müssen Sie innerhalb von Sekunden nach dem Auftreten eines Problems eine Warnmeldung erhalten oder können Sie es sich leisten, erst nach fünf Minuten benachrichtigt zu werden?

Wichtige Eigenschaften:

  • Support sowohl für lokal als auch in Cloud-basierten Umgebungen ausgeführte Anwendungen, die in vielen verschiedenen Programmiersprachen entwickelt wurden
  • Zentrale Berichterstellung und Verwaltung, einschließlich eines intuitiven Dashboards
  • Vollständige Transparenz auf Code-Ebene über den gesamten Stack für alle Anwendungen, zugehörigen Services und davon abhängigen Elemente (z.B. Datenbanken und externe Services)
  • Einbindung vieler verschiedener Kennzahlen, die für Ihr Unternehmen relevant sind
  • Unterstützung sowohl von synthetischen Transaktionen als auch von Real User Monitoring
  • Intelligence, die durch Flowcharting-Tools, mit denen die Kernursache von Problemstellen leicht lokalisiert werden kann, kontextbezogene Informationen über die Ursache von Anwendungsfehlern und Engpässen bietet
  • In die APM-Lösung eingebettete KI- und Machine Learning-Tools, mit denen sich die Ursache von Leistungsproblemen schnell ermitteln lässt
  • Fähigkeit zur Aufzeichnung wichtiger Geschäfts-KPIs und Erreichung Ihrer SLOs in Microservice-basierten Umgebungen
  • Unterstützung für OpenTelemetry, dem führenden Standard für Open-Source-Instrumentierung
  • Unterstützung für Container-Umgebungen und serverlose Umgebungen je nach Bedarf Ihres Unternehmens
  • Fähigkeit zur Skalierung je nach Ihren Anforderungen
  • Effektive Schulung zur Implementierung und Verwaltung des Tools sowie hochwertiger Support

Fazit: APM entwickelt sich immer schneller zu einer geschäftlichen Notwendigkeit

In einer Zeit, in der ein Wechsel des Service-Anbieters so einfach wie das Öffnen eines neuen Browser-Fensters ist, ist es für Unternehmen von entscheidender Bedeutung, dass ihre Anwendungen optimale Leistungen erbringen.

Der Aufwärtstrend von APM ist auch den Branchenanalysten nicht entgangen. MRFR Analysis schätzt die Wachstumsrate auf 10,7 Prozent bis 2025, während Research and Markets eine Wachstumsrate von 11,2 Prozent bis 2027 für Application Performance Monitoring-Tools vorhersagt.

Heutzutage ist es für Unternehmen mit kundenorientierten Anwendungen unerlässlich, ein System zur Überwachung der Anwendungsleistung als Teil ihres strategischen Portfolios einzusetzen. APM kann einen Beitrag zu einer hohen Kundenzufriedenheit leisten und letztlich Umsatzverluste durch einen Kundenverlust und Leistungsschwächen verhindern. Darüber hinaus ist APM ein unverzichtbares Tool, das Entwicklern hilft, bei der Programmierung von Anwendungen Best Practices zu entwickeln und aufrechtzuerhalten, sodass ein positiver Kreislauf entsteht, von dem alle profitieren.