Angesichts zahlreicher technologischer Neuerungen stehen Unternehmen unter einem gewissen Druck, ihre digitale Präsenz zu optimieren. Ganz gleich ob Start-up oder Großkonzern: Wenn Sie relevant bleiben möchten, müssen Sie jederzeit eine tadellose UX liefern.
Ohne Monitoring-Anwendung kommt man nicht mehr aus, um bei der rasanten Evolution der heutigen Geschäftswelt mitzuhalten. In diesem Leitfaden erfahren Sie, was Application Performance Monitoring eigentlich ist, wie es funktioniert und warum es heutzutage unersetzbar ist.
Was ist APM?
Bei Application Performance Monitoring (APM) geht es im Kern darum, Anwendungs-Performance und digitale Endbenutzer-CX anhand von Echtzeitdaten abzubilden. APM soll komplexe Probleme bei der Anwendungs-Performance erkennen und diagnostizieren, damit Anwendungen erwartungsgemäß funktionieren.
„Application Performance Monitoring“ und „Application Performance Management“ werden dabei häufig gleichbedeutend verwendet. Nicht selten ist auch leicht verkürzt von „Performance Monitoring“ bzw. „Application Monitoring“ die Rede.
In welchem Kontext ist Application Performance Monitoring relevant?
Ob Endbenutzer:innen oder Engineering-Teams und Entwickler:innen – eine nur langsam ausgeführte Anwendung oder Einschränkungen bei der Feature-Verfügbarkeit lösen bei niemandem Begeisterungsstürme aus.
Besseres Benutzererlebnis
Speed und Stabilität gehören bei Web-Anwendungen zu den Basics im Anforderungskatalog, konsistent hohe Performance und rasche Reaktionszeiten ebenso.
Die Messlatte liegt hoch: Lädt eine Website nicht innerhalb weniger Sekunden, sind die betroffenen Besucher:innen meist schon wieder weg. Darüber hinaus sorgt eine schlechte UX oft nicht nur für einen punktuellen Absprung, sondern für eine allgemeine Abwanderung zur Konkurrenz. So kommt eine von Forbes durchgeführte Studie zu dem Schluss, dass 12 % aller Nutzer:innen in einem solchen Fall sogar ihren Bekannten und Verwandten von der entsprechenden Anwendung bzw. Website abraten würden – mit in der Folge immer weitreichenderen Auswirkungen auf Geschäftsergebnis, Kundenzufriedenheit und Markenreputation.
Wichtige Stütze für Entwickler:innen
Probleme bei der Anwendungs-Performance können aber freilich auch bei Engineering-Teams für ganz erhebliche Kopfschmerzen sorgen. Schließlich freut sich niemand, um 3 Uhr nachts von einem Alert zu einem kritischen Systemfehler aus dem Schlaf gerissen zu werden. Müssen sich an seiner Behebung dann in der Folge gleich mehrere Kollegen und Kolleginnen abmühen, macht das erst recht niemanden glücklich.
Fehlt dabei auch noch jeglicher Kontext, sorgt dies in der ohnehin schon angespannten Situation für noch mehr Frustration, denn so präsentiert sich obendrein auch die Problemursache als Buch mit sieben Siegeln. Ist sie in der API zu verorten? Im Kubernetes-Cluster? Im Cloud-Service? Oder vielleicht an einer der zahlreichen anderen Schnittstellen zwischen Code und Cloud? Je länger die Beantwortung dieser Frage oder die Behebung der Ursache andauert, desto stärker werden sowohl Endbenutzer:innen als auch Geschäftsergebnis in Mitleidenschaft gezogen.
Application Performance Monitoring unterstützt Entwickler:innen dabei, Probleme mitsamt ihrer kausalen Zusammenhänge rasch auszumachen – und sie ebenso schnell zu lösen. So könnte ein Engineering-Team beispielsweise einen Threshold bei der Seitenladezeit als kritisch definieren und bei seinem Erreichen einen Alert ausgeben lassen. Durch Kombination mit detailliertem Tracing lässt sich dann die Fehlerursache klar eingrenzen und adressieren, noch bevor sie sich auf Endbenutzer:innen auswirken kann.
Die schmerzhafte Alternative: Die Endbenutzer:innen müssen den Betreiber selbst über den Umstand informieren, ihre UX hat also schon längst gelitten. Umso mehr steht der Betreiber nun also unter Druck – zumal eben ohne die Kontextdetails, die ihm Application Performance Monitoring vermitteln würde. Dass bei Identifikation der Wurzel des Problems und bei seiner Behebung erst recht zu viel Zeit ins Land geht, findet dann in einer wenig befriedigenden mittleren Lösungszeit noch als Spitze des Eisbergs Ausdruck.
Was sind APM-Lösungen?
APM-Lösungen sollen Unternehmen beim Monitoring und Management der Performance ihrer Anwendungen unterstützen, und im Zuge technologischer Verbesserungen hat sich das Angebot an Lösungen und Toolsets im Laufe der Zeit stark verbessert. Grundsätzlich dient APM-Software aber noch immer dazu, Daten zu verschiedenen Aspekten einer Anwendung zu sammeln, z. B. Seitenladezeiten, Reaktionszeiten und Fehlerquoten.
APM-Tools
Eine gute APM-Lösung sollte somit in der Lage sein, insbesondere die beiden folgenden Fragen klar zu beantworten:
- Wird meine Anwendung mit der von mir erwarteten Geschwindigkeit und voller Funktionalität ausgeführt?
- Falls nein, warum nicht?
Für DevOps- und Engineering-Teams sind dies elementare Punkte, die sie mit APM-Tools adressieren können, damit Probleme rasch identifiziert und behoben werden, bevor sie sich auf Nutzer:innen auswirken.
Der Markt für APM-Tools ist ein wenig unübersichtlich, sodass es nicht immer leicht ist, die beste Wahl zu treffen. Folgende Kernfunktionen sollte das Tool Ihrer Wahl aber auf jeden Fall bieten:
- Umfassende Einsicht in die Anwendungs-Performance.
- Echtzeit-Monitoring zur raschen Erkennung von Problemen und Minimierung von Betriebsstörungen.
- Intuitive Benutzeroberfläche und übersichtliche Navigation auch für weniger technisch versierte Benutzer:innen.
- Anpassbare Dashboards, die sich genau auf die Anforderungen und Metriken Ihres Teams zuschneiden lassen.
- Proaktive Alert-Funktionen, damit Teams sofort über Probleme informiert werden.
Welche Bereiche lassen sich mit einer Lösung für Application Performance Monitoring abdecken?
Bei Software-Anwendungen müssen zumeist verschiedenste Services und Layer ins Monitoring genommen werden. Dies ist konsolidiert über APM möglich, sowohl für aktuelle als auch für historische Informationen etwa zu diesen Bereichen:
- Infrastruktur inklusive Speichernutzung, CPU-Auslastung und Anwendungsverfügbarkeit
- Anwendungs-Backend, z. B. Performance der Datenbankabfragen und Fehleranalyse
- Anwendungs-Frontend und so unter anderem Browser-Rendering, UX-Monitoring und Performance-Metrics
APM spielt seine Stärken aber nicht nur im Kontext von Websites aus; auch für mobile Anwendungen lässt es sich hervorragend einsetzen, ebenso wie für Server, Netzwerke, APIs, interne Anwendungen für Mitarbeiter:innen, cloudbasierte Services und andere Technologien.
Im Folgenden beleuchten wir, welche Einzelkomponenten und Features APM-Lösungen dabei bieten:
Ops-Dashboards
Ops-Dashboards verschaffen einen allgemeinen Überblick zur Anwendungs-Performance. Sie sind flexibel anpassbar zur Visualisierung der jeweils wichtigsten Kern-Metrics wie klassischen goldenen Signalen oder Custom-KPIs für bestimmte Services.
Real User Monitoring
Mit Real-User Monitoring (RUM) vollziehen Sie alle Aktionen nach, die echte, tatsächliche Benutzer:innen in ihrer Anwendung durchführen – und wie sie ihr Performance-Erlebnis dabei wahrnehmen.
Synthetics-Monitoring
Beim Synthetics-Monitoring kommt ein Headless-Browser zum Einsatz, um das Benutzererlebnis realistisch zu modellieren. So lassen sich spezifische User Flows proaktiv testen, ohne auf echte Benutzerdaten angewiesen zu sein.
Serverless Monitoring
Serverless Monitoring bezieht sich speziell auf Anwendungen, die auf cloudbasierte Services wie AWS setzen statt auf On-Prem-Alternativen.
Datenbank-Monitoring
Datenbank-Monitoring liefert – nomen est omen – Möglichkeiten zum Monitoring von Datenbanken, um zu bestimmen, wie viel Zeit Abfragen in Anspruch nehmen.
Mobile Monitoring
Mobile Monitoring konzentriert sich auf iOS- und Android-Anwendungen, erfasst und korreliert Daten etwa rund um Latenzprobleme und historische Absturzberichte.
Infrastruktur-Monitoring
Ob Hardware, Cloud-Infrastruktur oder Kubernetes-Cluster – mit Infrastruktur-Monitoring lässt sich nachvollziehen, wie es um die Performance aller Einzelkomponenten Ihrer Infrastruktur bestellt ist.
Service Maps
Service Maps bilden alle Verbindungen und Abhängigkeiten einer Anwendung ab, was besonders bei umfangreichen Programmstrukturen mit tausenden Services von großem Wert ist.
Weiter sollte eine APM-Lösung zudem Abfragen Ihrer Telemetriedaten ermöglichen, um aus ihnen präzisere Erkenntnisse abzuleiten, Logs zu analysieren und mit Distributed Tracing Event-Reihen auf Fehlerquellen zu prüfen.
Metriken fürs Application Performance Monitoring
APM stützt sich auf eine Reihe von Metriken zur Beurteilung der App-Funktion. Dazu gehören:
- Reaktionszeit: Die Zeitspanne zwischen der Eingabe durch den/die Benutzer:in und der Reaktion durch die Anwendung.
- Fehlerquote: Die Häufigkeit der von der Anwendung generierten Fehler.
- Anfragefrequenz: Die Anzahl der Anfragen, die eine Anwendung pro Zeiteinheit erhält.
- Anwendungsverfügbarkeit (Uptime): Die Gesamtzeitspanne, während der die Anwendung ausgeführt wird und einsatzbereit ist.
- CPU-Auslastung: Der Ressourcenspeicher, den die Anwendung beansprucht.
- Anwendungs-Performance-Index (Apdex): Die relative Performance der Anwendung im Vergleich zu „normalen“ Performance-Metriken.
- Service-Level-Agreement (SLA): Quantifiziert das Serviceniveau, das Kund:innen von einem Service-Anbieter erwarten können, und umreißt bestimmte Performance-Benchmarks, die von der Softwareanwendung erreicht werden müssen. Dieser Wert wird anhand von Reaktionszeit, Fehlerquote, Uptime und Anzahl der Anfragen in einer bestimmten Zeitspanne errechnet.
Welche Vorteile bietet Application Performance Monitoring?
Eine gewinnbringende APM-Lösung vermittelt diverse direkte und indirekte Vorteile wie etwa die folgenden:
Proaktives Incident Management
APM hilft nicht nur bei der Ermittlung momentan auftretender Probleme, sondern kann auch auf potenzielle Schwachstellen hinweisen. So lassen sich Systemausfälle und Serviceunterbrechungen vermeiden.
Mehr Zeit für Innovation
Je weniger Zeit Ihr Team mit dem Finden und Beheben von Fehlern verbringt, desto mehr Zeit hat es für strategisch wichtige Innovationsarbeit wie die Entwicklung neuer Features.
Weniger Routineaufgaben, weniger Stress
APM-Tools übernehmen einen Großteil der monotonen Arbeiten, die sonst an Site Reliability Engineers und Incident-Response-Teams hängen bleiben würden. Die Folge? Weniger Stress, mehr Zeit.
Bessere UX
Durch die lückenlose Verfolgung der Performance-Metriken erleichtert APM eine Optimierung der App-Performance und sorgt damit für eine bessere UX mit kürzeren Ladezeiten, minimaler Downtime und zuverlässigerer Anwendungsverfügbarkeit.
Effizienter und kostengünstiger
APM-Tools ermitteln Performance-Probleme in Echtzeit und beschleunigen damit die Fehlerbehebung, was wiederum für einen effizienteren Betrieb sorgt. Als Nebeneffekt sinken die Kosten für die Nutzung verbrauchsbasierter Services, z. B. im Cloudbereich.
Unterm Strich kommt mehr heraus
Lückenloses Application Monitoring wirkt sich in Form höherer Gewinne und Bruttomargen positiv auf Ihre Bilanz aus.
Wer nutzt Application Performance Monitoring?
Application Performance Monitoring sollte sich als Technologie im Stack jedes großen Unternehmens finden, ungeachtet der Branche. Dabei sollte vor allem auch die Performance aller Onlinebereiche und -elemente ins Monitoring genommen werden, um die Gesamt-UX aller Endbenutzer:innen detailliert ausleuchten zu können. Welche Teams aber profitieren wirklich von APM? Je nach Größe und Einsatzfeld einer Anwendung ergeben sich unterschiedliche Use Cases.
- Im DevOps-Engineering werden Prozesse rund um Testing, Deployment und Anwendungsverwaltung in der Produktion automatisiert. APM gehört somit auch ganz elementar zu DevOps.
- Beim Site Reliability Engineering (SREs) werden operative Themen aus Software-Sicht beleuchtet, ganz im Sinne optimaler Anwendungsstabilität. SRE-Teams benötigen APM dementsprechend, um diesen für sie ganz besonders starken Kernfaktor proaktiv adressieren zu können.
- Software-Entwickler:innen schreiben Code und programmieren neue Features. Bei kleineren Unternehmen sind sie womöglich in alle Prozessphasen eingebunden, so etwa auch beim Code-Monitoring in der Produktion. Selbst bei großen Organisationsstrukturen erstreckt sich ihr Engagement auf immer weitere Bereiche des Software-Entwicklungszyklus.
Welche Schritte sind zur Implementierung von Application Performance Monitoring erforderlich?
Zur Integration von Application Performance Monitoring in Ihrem Stack ist zunächst die Installation von Agents vonnöten, um alle Daten zu erfassen, die Ihre Anwendung durchlaufen. Begrifflich erfasst wird dieser Prozess als Instrumentierung, und häufig lässt er sich durch automatische Installation der benötigten Agents via Kommandozeile umsetzen. Diese Agents aggregieren und übermitteln dann alle Informationen, sowohl aus Web-Transaktionen als auch aus Non-Web-Transaktionen. Über eigene Custom-Instrumentierungen lassen sich überdies zusätzliche Details wie Transaktions-Traces hinzufügen oder die Instrumentierung von Transaktionen blockieren, die nicht getracked werden sollen. Nach Automatisierung einer Instrumentierung via Befehlszeile können schon innerhalb von Minuten Telemetriedaten über Ihre APM-Lösung erfasst werden.
Komplexe verteilte Anwendungen greifen auf viele verschiedene Services zurück, und so sollte idealerweise jeder Anwendungsbereich instrumentiert werden. Bei einem APM-Tool ist daher auf Integrationen mit einer Vielzahl hierfür relevanter Services wie AWS und Azure zu achten. Nur damit lassen sich externe Abhängigkeiten in Ihrer Anwendung rasch instrumentieren.
Welche Features für Ihre Anwendung wichtig sind und was Sie genau instrumentieren möchten, ist letztlich flexibel entscheidbar. Die weitreichendsten Vorteile ergeben sich aber tatsächlich aus der Kombination aller Monitoring-Elemente zur Gestaltung einer End-to-End-Lösung. Hieraus ergibt sich dann die Konstellation umfassender Observability für Ihre Anwendung.
Wie unterscheiden sich Application Performance Monitoring und Observability?
Bei APM geht es speziell um das Performance-Monitoring einer Anwendung. Allerdings sind viele Anwendungsarchitekturen inzwischen zu komplex, als dass sich Monitoring- und Management-Anforderungen noch vollumfänglich von APM abdecken ließen. Die Erwartungshaltung an APM sollte sich daher auf eine allgemeine Übersicht zur Performance einer Anwendung beschränken. Um auch in komplexen Anwendungen, die sich über weitere Infrastrukturbereiche erstrecken, Fehlerursachen präzise zu bestimmen, ist ein ausgefeilterer Ansatz vonnöten.
Dieser findet sich im Konzept der Observability, die tiefgehende, technische detaillierte Einblicke in Status quo und diverse Zusammenhänge eines Gesamtsystems vermittelt. Die Größe ist dabei kein Hindernis mehr. APM bietet eine aggregierte Zusammenfassung für Metrics. Um diese Daten dann genauer auszuleuchten, ist darüber hinaus Distributed Tracing unabdingbarer Faktor.
Bei APM handelt es sich um ein wichtiges Element der Observability, die dementsprechend ihrerseits APM übergeordnet ist. Für viele Anwendungen ist tatsächlich eine komplette Observability-Lösung vonnöten.
Detailliert auf die Unterschiede zwischen APM und Observability gehen wir in diesem Artikel ein.
So kann New Relic helfen
Herkömmliche Tools fürs Application Performance Monitoring sind neuen Technologien oft nicht gewachsen. Deshalb empfehlen wir die nächste Generation von APM—New Relic APM 360.
New Relic APM 360 bietet Einblicke in kritische Health-Metriken über den gesamten Stack und den App-Development-Lifecycle hinweg – in Echtzeit und an einem zentralen Ort. Mit APM 360 reicht ein Blick aufs Dashboard und Ihr Team kann Probleme im Keim ersticken, das Debugging beschleunigen und Monitoring-Lücken durch geführte Workflows und Datenempfehlungen schließen.
Ihr Start mit Application Performance Monitoring: Testen Sie New Relic.
Mehr als nur plastisch vorstellen lassen sich beide Technologien durch direkte Nutzung einer Observability-Lösung. Möglich ist dies mit einer Registrierung für die kostenlose Produktvariante von New Relic. Unsere APM-Dokumentation liefert weitere Einblicke.
Die in diesem Blog geäußerten Ansichten sind die des Autors und spiegeln nicht unbedingt die Ansichten von New Relic wider. Alle vom Autor angebotenen Lösungen sind umgebungsspezifisch und nicht Teil der kommerziellen Lösungen oder des Supports von New Relic. Bitte besuchen Sie uns exklusiv im Explorers Hub (discuss.newrelic.com) für Fragen und Unterstützung zu diesem Blogbeitrag. Dieser Blog kann Links zu Inhalten auf Websites Dritter enthalten. Durch die Bereitstellung solcher Links übernimmt, garantiert, genehmigt oder billigt New Relic die auf diesen Websites verfügbaren Informationen, Ansichten oder Produkte nicht.