Mehr als 43 Millionen Aufrufe pro Monat: Site-Performance und Verfügbarkeit von Dealer.com sind entscheidende Erfolgsfaktoren für tausende Automobilhändler in den USA. Ist die Website nicht aufrufbar oder treten Fehler auf, leidet das Kundenerlebnis – mit unmittelbaren Auswirkungen auf die Verkaufschancen der Anbieter auf der Plattform.
In komplexen Software-Umgebungen wie der von Dealer.com muss jede Anfrage eine Vielzahl einzelner Services durchlaufen. Nur ein einziger problematischer Service auf diesem Weg kann die Reaktionszeit der jeweiligen Anfrage beeinträchtigen und zu Unzufriedenheit bei den Kund:innen führen – aus denen bei solchen Vorkommnissen auch ganz schnell ehemalige Kund:innen werden können.
Umso wichtiger also, dass Software-Teams mit Verantwortung für Umgebungen, in denen viele Services auf eine Anfrage einwirken, den Performance-Kontext jedes einzelnen vor- wie auch nachgelagerten Service im Detail evaluieren können. Denn nur so können sie Performance-Probleme effektiv lösen, die System-Health quantitativ erfassen und kritische Bereiche mit hohem Verbesserungspotenzial priorisieren.
New Relic APM-Kund:innen nutzen Distributed Tracing kostenlos
Mit New Relic Distributed Tracing erhalten Software-Teams ein effizientes Tool, um Traces über komplexe Architekturen hinweg zu erfassen, zu visualisieren und zu analysieren. Wenn Sie Application Performance Monitoring (APM) von New Relic bereits nutzen, erhalten Sie kostenlos Zugriff auf Distributed Tracing. Aktualisieren Sie einfach Ihre Agents, öffnen Sie New Relic und wählen Sie die Option Traces. Anschließend werden Ihre Trace-Daten angezeigt.
Die New Relic APM-Agents ersetzen Tracing-Software vollständig – und somit einiges an komplexem Admin-Aufwand. So können Engineers wie Andrew Potter von Dealer.com ihre Umgebung nahtlos instrumentieren und ohne Einschränkungen Trace-Telemetriedaten generieren – ganz ohne zusätzlichen Deployment- und Skalierungsaufwand für Einzelkomponenten.
Distributed Tracing instituiert Observability für alle Anwendungs-Traces in verteilten Systemen. Detaillierte Punktdiagramme und Wasserfallvisualisierungen liefern direkt umsetzbare Insights für verschiedene Frameworks wie C, Go, Java, .NET, Node.js, PHP, Python oder Ruby. Ebenso enthalten sind Browserdaten und Mobile Monitoring von New Relic sowie AWS Lambda und Zipkin Format-Traces über die Trace API. Dank Unterstützung für gängige Trace-Standards wie OpenTelemetry und W3C können Probleme schneller analysiert und behoben werden.
Detailvisualisierung für moderne Software-Umgebungen
Um den Wirkungsgrad von Distributed Tracing präziser abzubilden, lohnt sich ein Blick auf Cloud-Plattformen sowie die Zusammenhänge von Containerisierung und Container-Orchestrierung. Technologien also, die Software-Teams mit Innovations-Mindset nutzen, um geschäftskritische Anwendungen zu entwickeln, operativ umzusetzen und zu skalieren.
Zweifelsohne bieten auf Microservices und Serverless aufbauende Software-Architekturen zahlreiche Vorteile. Gleichzeitig aber wirken die geradezu explodierende Anzahl an Komponenten und all die verschiedenen Programmiersprachen, Betriebsumgebungen und neuen Verantwortlichkeiten erschwerend auf die zuständigen Teams. Damit Probleme in diesen komplexen Systemen effizient behoben werden können, müssen ganz generell zwei Kernanforderungen erfüllt sein: Zum einen müssen sich Service-Abhängigkeiten klar nachvollziehen lassen können, zum anderen die Auswirkungen von Performance-Aspekten der abhängigen Services auf Anfragen und Transaktionen abbildbar sein. Die sprichwörtliche Nadel im Heuhaufen findet dabei nur, wer das Gesamtsystem in seiner Gänze überblickt.
Nur wenn sich klar identifizieren lässt, warum ein nachgelagerter Service ursächlich für einen kritischen Bottleneck bei einem anderen Service in unmittelbarer Abfolge der Transaktionskette war, kann auch schnell eine Problemlösung erarbeitet werden. DevOps-Teams erhalten so außerdem auch konkrete Insights, wie sich ihr Code optimieren lässt. Wenn nicht bestimmt werden kann, wann, weshalb und wie ein Problem aufgetreten ist, können kleinere Defekte weiterbestehen, bis sich eines Tages ein wahrer Events-Taifun zusammenbraut und das System komplett lahmlegt. Distributed Tracing liefert einen detaillierten Überblick einzelner Anfragen. Dadurch lässt sich präzise bestimmen, welche Bereiche im Gesamtsystem die Übeltäter sind – und Fehler folglich schneller beheben.
Daten & Insights
Distributed Tracing legt Service-Abhängigkeiten konsistent offen und vermittelt so End-to-End-Transparenz, fungiert dabei quasi als Erfassungs- und Visualisierungsmechanismus für komplexe Verkettungen in verteilten Systemen. Genau das kann sich bei Tracing-Daten aber enorm aufwendig gestalten, da dafür beispielsweise Gateways oder Satelliten von Drittanbietern implementiert und skaliert werden müssen.
Mit der automatischen Instrumentierung von New Relic lässt sich Distributed Tracing hingegen ganz einfach einrichten. Unser Anwendungscode greift hierbei auf Language Agents zurück, die mit Hunderten Bibliotheken und Frameworks verschiedener Programmiersprachen einsetzbar sind. Wenn Sie einen Agent installieren, instrumentiert New Relic APM jeden an der Anfrage beteiligten Service, erzeugt Timings für Abläufe innerhalb des Services und erweitert jeden Span automatisch um relevante Informationen zur Fehlerbehebung. Auch Custom-Attribute lassen sich zu Transaktionen hinzufügen und alle Details in der Trace einsehen – ohne etwas zu ändern.
Die Agents von New Relic APM erzeugen automatisch eine individuelle Trace-ID für jede eingehende Anfrage. Anschließend werden diese IDs und weitere zur Korrelation notwendige Informationen als Trace-Kontext in der gesamten Anfrage bereitgestellt. Kommt es beispielsweise zu einer Anfrage durch einen anderen Service, fügt New Relic den Trace-Kontext in den HTTP-Anfrage-Header ein. So kann der nächste Service diesen Kontext ebenfalls nutzen. Kontext muss dank der automatischen Instrumentierung von New Relic somit nicht mehr aufwendig propagiert werden.
Was aber müssen Anwender:innen mit einer Transportmethode beachten, die eine manuelle Instrumentierung erfordert? Mit dem Agent von New Relic APM erhalten Sie eine API, mit der sich der Trace-Kontext in den Ablauf einspeisen und extrahieren lässt. Die Propagierung erfolgt im Format W3C Trace Context, wodurch Interoperabilität mit jedem anderen Tracing-Agent oder -Tool gegeben ist, die diesen Standard unterstützen.
All dies setzt jedoch voraus, dass Sie diese Insights in Ihrem Stack auch identifizieren können. New Relic APM macht genau das möglich: Mit seinen Trace-Visualisierungen identifizieren Sie punktgenau langsame Anfragen und Fehlerursachen. Auch Optimierungspotenzial für Ihren Code mit starken UX-Vorteilen lässt sich präzise bestimmen.
Das folgende Diagramm verdeutlicht, wie diese Komponenten im Kontext von Distributed Tracing zusammenwirken:
Distributed Tracing in der Praxis
Neue Optimierungsmöglichkeiten für Ihre Anwendungen: Mit New Relic APM und Distributed Tracing analysieren Sie komplexe Architekturen und erhalten so einen genauen Einblick in die Abhängigkeiten in Ihrem gesamten System.
1. Erfahren Sie mehr in der Dokumentation zu Distributed Tracing.
2. Installieren bzw. aktualisieren Sie den APM-Agent für jeden Service, der Teil des für Sie relevanten Anfragepfads ist. Distributed Tracing steht sofort nach dem Upgrade zur Verfügung.
- Installieren Sie die neueste Version des Browser-Agent.
- Installieren Sie die neueste Version des Mobile-Agent.
3. Das war's! Jetzt stehen Ihnen Distributed-Tracing-Details aus New Relic APM zur Verfügung, mit denen Sie nun langsame und fehlerhafte Traces rasch identifizieren können. Über die Filter-Features können Sie zudem Traces anhand verschiedener Attribute identifizieren.
Sie möchten mehr erfahren?
Distributed Tracing ist für alle Kund:innen von New Relic APM in der Pro und Enterprise Edition kostenlos. Mit Distributed Tracing optimieren Sie Ihren Code nahtlos – ebenso wie Ihre UX.
Weitere Informationen zu Distributed Tracing erhalten Sie in dieser Detail-Übersicht.
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.
Dieser Blog enthält zukunftsgerichtete Aussagen, wie sie nach den US-Bundeswertpapiergesetzen definiert sind. Hierzu gehören unter anderem Aussagen zur zukünftigen Roadmap für Distributed Tracing sowie zu den Vorteilen entsprechender Features. Die Erreichung oder der Erfolg der durch solche zukunftsgerichteten Aussagen abgedeckten Sachverhalte basieren auf den gegenwärtigen Annahmen, Erwartungen und Einschätzungen von New Relic und unterliegen erheblichen Risiken, Unwägbarkeiten, Annahmen sowie möglichen Änderungen der Umstände. Dies kann dazu führen, dass die tatsächlichen Ergebnisse, Leistungen oder Möglichkeiten von New Relic wesentlich von denen abweichen, die in einer zukunftsgerichteten Aussage ausdrücklich oder implizit zum Ausdruck gebracht werden. Weitere Informationen zu den Faktoren, die sich auf die finanziellen und anderweitigen Ergebnisse von New Relic und die zukunftsgerichteten Aussagen in dieser Pressemitteilung bzw. diesem Beitrag auswirken können, sind in den Unterlagen zu finden, die New Relic in bestimmten Abständen bei der US-Börsenaufsichtsbehörde SEC (Securities and Exchange Commission) einreicht. Hierzu gehört unter anderem die aktuellste Version des Formulars 10-K, dabei insbesondere die Inhalte mit den Überschriften „Risk Factors“ und „Management’s Discussion and Analysis of Financial Condition and Results of Operations“. Exemplare dieser Dokumente können auf der Investor Relations Website von New Relic unter http://ir.newrelic.com sowie auf der Website der SEC unter www.sec.gov abgerufen werden. Sofern gesetzlich nicht anders vorgeschrieben übernimmt New Relic keine Verpflichtung und beabsichtigt nicht, diese zukunftsgerichteten Aussagen zu aktualisieren.