Es wird immer schwerer, als modernes Entwicklerteam mit den neuen Trends und Herausforderungen der Software-Entwicklung mitzuhalten. Einzelanwendungen werden zunehmend aufgespalten in komplexe Netzwerke aus miteinander verbundenen Dienstleistungen. Diese Softwaredienste laufen auf dynamischen und kurzlebigen Infrastrukturen in der öffentlichen Cloud und in privaten Datenzentren. Die Anwendungen sind immer mehr cloudbasiert. Diese Cloud-Services lassen sich ohne zusätzliche eigene Serverkapazitäten nach Bedarf skalieren.
New Relic APM unterstützt moderne Entwicklerteams in zweierlei Hinsicht: Die Lösung gibt Ihren Mitarbeitern Zugriff auf die neuesten technologischen Trends. Außerdem können sie damit souverän die Projektabwicklung beschleunigen. Teure Ausfallzeiten werden dadurch reduziert, während die Produktivität der Techniker steigt. Gleichzeitig werden leistungsstarke Anwendungen gefördert, die dem Kunden ein differenziertes Benutzererlebnis bieten.
Es gibt viele APM-Anbieter, die ihren Kunden Lösungen für moderne Entwicklerteams versprechen. Sehen wir uns einmal an, warum New Relic APM für moderne Entwicklerteams die erste Wahl ist.
1. Einfaches Einrichten von Echtzeitinstrumentierung und -analyse
Eine APM-Lösung ist weit mehr als eine Datenbank. Moderne Entwicklerteams brauchen sofort einsatzfähige Lösungen. Sie müssen sofort wissen, welche Teile ihrer Apps Performance-Probleme haben. Mit dem leicht konfigurierbaren SaaS-Modell von New Relic steigen Ihre Techniker direkt in die Thematik ein. Visuelle Darstellungen liefern ihnen relevante Einblicke in Ihre Anwendungen, ohne dass sie dafür erst teure Hardware oder komplizierte benutzerdefinierte Dashboards konfigurieren müssen. New Relic APM bietet dem Benutzer schon beim ersten Öffnen eine übersichtliche Anzeige mit Basisdaten zu Antwortzeit, Durchsatz, Fehlerrate und Transaktionen sowie Hinweisen dazu, welcher Code die Antwortzeit am stärksten beeinträchtigt. So lassen sich rasch und in Echtzeit problematischer Code bzw. Abhängigkeiten ausfindig machen.
Eine effektive Instrumentierung ermöglicht die klare Erfassung der Anwendungsleistung. Moderne Entwicklerteams benötigen weitreichende und detaillierte Instrumentierung für unterschiedliche Sprachen und Frameworks. New Relic bietet umfassendes Monitoring für branchenführende sieben Sprachen: Java, Node.js, Python, Go, .NET, PHP und Ruby.
Dazu gibt es einen nativen Agent für C/C++ zur Instrumentierung und Überwachung von Anwendungen, die in C/C++ oder anderen nicht standardmäßig unterstützten Sprachen geschrieben sind.
Unternehmen zerlegen die Kernsoftware häufig in mehrere Hunderte von Bestandteilen. Hier kommen die Service Maps von New Relic ins Spiel, die standardmäßig ein anpassungsfähiges Mapping der Abhängigkeiten über Softwarekomponenten und -dienste hinweg ermöglichen.
2. Flexibles Darstellen von Instrumenten und Dashboards
Die gebrauchsfertige Instrumentierung und Dashboard-Darstellung erlaubt den direkten Einblick in Messwerte. Ein modernes Entwicklerteam muss aber so flexibel sein, dass es auch zusätzliche Daten sammeln kann, denn nur so lassen sich die speziellen Bedürfnisse spezifischer Anwendungen und Geschäftsbereiche abdecken.
New Relic bietet von Anfang an eine tiefgehende Datenanalyse. Ergänzt wird das Angebot durch verschiedene Möglichkeiten zum Hinzufügen benutzerdefinierter Instrumentierungen, zum Beispiel API-Systemaufrufe an die Agents vom Quellcode aus, XML-basierte maßgeschneiderte Instrumentierungsmodule als Paket mit den bereitgestellten Anwendungen sowie UI-basierte Zusatzinstrumentierung ohne Code-Deployment. Zu jeder Transaktion kann ein benutzerdefiniertes Attribut hinzugefügt werden, um die Anwendungsleistung mit entscheidenden Geschäftsdaten abzugleichen. Dies ermöglicht eine detaillierte Problemanalyse und die Erstellung ergiebiger Dashboards.
3. Anleiten der Techniker bei der Problembehebung
Eine wichtige Voraussetzung effektiver Softwareentwicklung ist die klare und adäquate Benachrichtigung der Engineering-Teams, wenn ihre Anwendung Probleme bereitet – am besten noch bevor der Kunde etwas ahnt. Eine APM-Lösung muss die notwendigen Daten ausgeben und das Entwicklerteam auf das vorliegende Problem hinweisen, damit es geeignete Maßnahmen in die Wege leiten kann.
New Relic erlaubt die Ausgabe von Warnmeldungen bei jeglicher Art von Fernmessung durch die Agents – von Standard-Parametern wie etwa der Antwortzeit bis hin zu benutzerdefinierten Events. Die New Relic-Warnmeldungen fügen sich nahtlos in beliebte Indicent-Response-Tools ein, darunter PagerDuty, VictorOps und Slack.
Das eigentliche Ziel besteht aber darin, Probleme ausfindig zu machen und zu lösen, noch bevor sie den Kunden erreichen. Bei der New Relic Applied Intelligence (NRAI) kommen unterschiedliche Techniken zum Einsatz, wie etwa künstliche Intelligenz und maschinelles Lernen. Das System hilft Technikern, den wichtigsten Performance-Störungen auf die Spur zu kommen. New Relic Radar bietet beispielsweise eine maßgeschneiderte Darstellung abweichender Reaktionen der Anwendung. Diese können dann bei Bedarf genauer erkundet werden. Hierzu zählen beispielsweise geringe Abweichungen der Antwortzeit von einer Woche zur nächsten oder ermittelte Probleme bei N+1-Abfragen. Dynamische Baselines nutzen Verlaufsdaten, um logische Schwellenwerte für Störungen vorherzusagen. Diese Funktion können Sie in Verbindung mit jedem beliebigen Parameter einrichten. So stellen Sie sicher, dass Ihre Teams immer rechtzeitig gewarnt werden – noch bevor eine Störung außer Kontrolle gerät.
4. Abgleichen der Anwendungsleistung mit dem Endbenutzererlebnis
Jede Anwendung dient kommerziellen Zielen und einem bestimmten Kundenkreis. Sind die Kunden unzufrieden, verfehlt die Anwendung ihren Zweck. Moderne Entwicklerteams müssen die Auswirkung der Performance auf den Kunden genau im Auge behalten. Dafür evaluieren sie sämtliche Stack-Ebenen vom Frontend bis zum Server.
Wer das Endbenutzererlebnis bis ins Detail durchleuchten will, muss es erst einmal in der mobilen App oder im Browser eindeutig einschätzen. Die Logik des Endbenutzererlebnisses verschiebt sich immer mehr zum Kunden hin. Das hat zur Folge, dass inzwischen geschätzte 80 Prozent der Wartezeit auf das Frontend entfallen. Die New Relic-Plattform gewährt dem Entwicklerteam klare Einblicke ins Endbenutzererlebnis mithilfe der Benutzerüberwachung, des synthetischen Monitorings sowie der Performance-Analyse für mobile Apps.
Ihre Techniker müssen aber nicht nur das Frontend besser verstehen, sondern auch die Frontend-Performance mit der serverseitigen Performance abgleichen. Das ist wichtig, weil moderne Firmen den Code immer häufiger über den gesamten Stack hinweg einsetzen. New Relic misst in allen überwachten Anwendungen den Apdex-Wert. So erhalten wir einen einzelnen und leicht verständlichen Gradmesser für die Leistungsfähigkeit der App auf Basis der Antwortzeit und Fehlerrate.
Dabei müssen wir auch im Auge behalten, wie sich diese Werte mit jedem Code-Deployment ändern. Unsere Deployment-Marker zeichnen detailliert jedes einzelne Deployment auf. Außerdem ermöglichen sie genaue Rückschlüsse darauf, wie sich die Code-Anpassung auf die Anwendung und das Endbenutzererlebnis ausgewirkt haben. Sämtliche Daten sind in einer kompakten Übersicht dargestellt.
5. Abstimmen der Performance von Anwendung und Infrastruktur
Moderne Unternehmen verlegen sich immer mehr auf Mikroservices, die auf dynamischen Infrastrukturen laufen. Damit ist die Leistungsfähigkeit einer Anwendung immer stärker an die Performance der zugrundeliegenden Infrastruktur gebunden. Die Techniker müssen also die Leistung der Anwendung im Zusammenhang der dynamischen Infrastruktur begreifen, auf der sie läuft. Das gilt für jede Art der Bereitstellung vom Container-Betrieb über das eigene Datenzentrum, die Amazon Web Services, Microsoft Azure, die Google Cloud bis hin zu OpenStack.
Die New Relic Health Map bietet eine priorisierte, stark verdichtete Ansicht Ihrer Anwendungen, die eindeutig mit den Infrastruktur-Hosts verknüpft ist, von denen die Anwendungen abhängen. Damit machen Sie mühelos den Teil des Anwendungsstacks ausfindig, der für die Störung verantwortlich ist. Sollte das Problem den Host betreffen, können Ihre Techniker mithilfe von New Relic Infrastructure dem Problem ganz einfach auf den Grund gehen.
6. Bereitstellen von umfassenden und detaillierten Transaktionsdaten
Um zu verstehen, wie leistungsfähig eine Anwendung wirklich ist, sind die unterschiedlichsten Datentypen erforderlich. Die New Relic Agents nutzen multiple Datentypen zum Zählen und Messen jeder einzelnen Anfrage. Die Performance ist damit bis auf die Methodenebene hinunter transparent. Die Eventdaten in New Relic halten Ereignisse innerhalb der Anwendung zu einem bestimmten Zeitpunkt fest. Dazu zählen etwa Transaktionen oder Transaktionsfehler. Dies ermöglicht es Ihnen, sämtliche Anfragen an Ihre Anwendung besser zu verstehen. Die Eventdaten werden in New Relic durch die metrischen Zeitreihendaten ergänzt. Diese beschreiben die Leistung Ihrer Anwendung über eine bestimmte Zeitspanne hinweg. Beispiele sind die durchschnittliche Antwortzeit oder der durchschnittliche Durchsatz. Auf dieser Grundlage können Sie die Gesamtleistung der Anwendung und ihrer Komponenten besser einschätzen.
Daneben sammeln die New Relic-Agents Transaktionsprotokolle, SQL-Anfragen sowie Stack-Trace-Daten. Die Analyse erstreckt sich bis zur spezifischen Zeile, aus der die Anfrage an die Datenbank stammt. Diese Details werden etwa im Minutentakt für die jeweils langsamste Transaktion gesammelt.
Der Mix an Datentypen in New Relic bringt noch weitere Vorteile mit sich. Die Werte geben Ihnen einen besseren Gesamtüberblick und bringen Sie auf die richtige Fährte. Sie erkennen daran, an welcher Stelle die Arbeitszeit am besten investiert ist. Die Events liefern Ihnen tiefergehende Diagnosedaten und eine vielschichtigere Analyse. Sie können die Events beispielsweise nach einem spezifischen User oder einer Kundengruppe filtern, und mithilfe der Protokolle können Sie die Details einer bestimmten Transaktion oder SQL-Anfrage genauer erkunden. Wichtig dabei ist, dass alle diese Daten auf Anfrage verfügbar sind. Sie lassen sich über eine iterative Abfrage aufrufen und dank der benutzerdefinierten Query-Sprache NRQL in New Relic Insight in Echtzeit durchsehen.
7. Durchführen von Fehleranalysen in Echtzeit mit On-Demand-Diagnosetools
Einer der Kernpunkte bei New Relic APM ist die Problembehandlung innerhalb ihrer Anwendungen. Wenn eine Störung auftritt und es auf jede Minute ankommt, müssen Ihre Techniker schnell die potenzielle Fehlerquelle ausfindig machen und Lösungen finden. Wenn sich Stabilität und Leistung der Anwendung verbessern, wird die APM-Lösung immer bessere Werte ausgeben. So sehen Ihre Mitarbeiter sofort, wie sich die Zuverlässigkeit der Anwendung durch ihren Einsatz verbessert hat.
New Relic ist ein starkes Tool zur Fehleranalyse. Die New Relic Agents zeigen die Fehler-Stacktraces, die Nachricht und die Codezeile, auf die der Fehler zurückgeht. Ihre Techniker können außerdem eine Slice-and-Dice-Analyse der Fehler durchführen, die sich mit der Zeit in ihren Anwendungen herauskristallisiert haben. Dank NRAI ersparen sie sich eine stundenlange manuelle Analyse und erkennen sofort, in welchen Punkten die fehlerhaften Transaktionen abweichen.
Die New Relic APM Agents laufen innerhalb der Anwendungen und sind damit genau am richtigen Ort für eine tiefgehende Diagnose und Profilerstellung. Zu den Diagnosetools von New Relic gehört unter anderem der Thread Profiler. Er gibt den Kunden die Möglichkeit, für alle Threads in der Produktion in regelmäßigen Abständen Proben von Full-Stack-Traces zu nehmen.
8. Integrieren in DevOps-Tools
Der DevOps-Erfolg erfordert nicht nur effektive Kontrollen und Messungen, sondern auch vielfältige Funktionen auf Basis verschiedener Tools. DevOps-Teams benötigen eine nahtlos in die Entwicklungs-, Bereitstellungs- und Supporttools der Software eingebundene APM-Lösung. Dies betrifft die üblichen Tools für Protokollierung, Konfigurationsmanagement und Vorfallreaktion genauso wie robuste APIs, mit denen sich die Flexibilität der Plattform weiter steigern lässt.
New Relic APM knüpft nahtlos an Incident-Response-Tools wie Slack, Jira und PagerDuty an, wie unter Punkt 3 beschrieben. Daneben ist auch die nahtlose Integration in wichtige Protokollierungstools möglich wie Splunk und Sumo Logic, um die Leistungsfähigkeit des Computers und die Performance der Anwendung unter einen Hut zu bringen. Natürlich ist auch die Einbindung in beliebte Tools zum Konfigurationsmanagement möglich wie Chef und Puppet. Mit dem Splunk-Add-on für New Relic erhalten Ihre Entwickler und IT-Teams beispielsweise eine Reihe von Dashboards und gespeicherten Suchen, die die Daten von New Relic und Splunk in derselben Ansicht vereinen.
Genauso wichtig für viele Kunden: New Relic bietet auch REST APIs. So können Sie auf Programmierebene mit der flexiblen Plattform von New Relic interagieren und das System ausbauen. So können Sie etwa über Jenkins auf Programmebene eine Codeanpassung an eine Umgebung zur Produktionsvorbereitung vornehmen. Oder Sie fahren einen Belastungstest und markieren die Bereitstellung in New Relic mittels einer API. Anschließend können Sie die Deployment-Markers-Seite in New Relic aufrufen und sehen, wie sich die Änderung auf die Performance Ihrer Anwendung ausgewirkt hat.
9. Cloud-Service-Instrumentierung
Für eine erfolgreiche Umsetzung in der Cloud muss die Instrumentierung deutlich die messbaren Ergebnisse Ihrer Migration auf jeder einzelnen Stufe wiedergeben. Sie brauchen für die Phasen vor, während und nach der Migration fest definierte Benchmarks und hohe Transparenz in die dynamischen Cloud-Services, um das volle Potenzial der Cloud auszuschöpfen.
Mit der cloudbasierten Plattform von New Relic können Sie Ihre Anwendung in jeder Phase ganz einfach instrumentieren. Die Agents sammeln beim Umstieg der Anwendung in die Cloud detaillierte Leistungsdaten, ohne zusätzlichen Konfigurationsbedarf. Durch über 50 Cloud-Integrationen erhalten Sie außerdem Einblick in die Leistungsfähigkeit Ihrer AWS-, Azure- oder GCP-Services.
10. Individuelles Skalieren
New Relic APM liefert Ihnen jederzeit wertvolle Einblicke, besonders an den für Ihr Unternehmen entscheidenden Tagen.
Ob Black Friday, Cyber Monday, Pokalendspiel oder Bundestagswahl: Dank der SaaS-Architektur sind Sie für ein erhöhtes Datenaufkommen gewappnet und müssen keine zusätzlichen Server bereitstellen oder konfigurieren. Unsere Plattform verarbeitet problemlos über 1,5 Milliarden Events und Werte pro Minute. Bei Bedarf stellen wir ganz ohne zusätzliches Setup Daten bereit, die zum Verständnis Ihrer Anwendungen wichtig sind.
Zusammenfassung
Die Performance Ihrer Anwendungen kann sich entscheidend auf die Leistung Ihres Unternehmens auswirken. Daher ist es wichtig, dass Sie umfassende Einblicke in die Leistungsfähigkeit Ihrer Anwendung haben.
Verschaffen Sie sich mit New Relic APM Einblicke in Echtzeit und optimieren Sie so Ihre Software, während Sie teure Ausfälle vermeiden. Genaue Einblicke in die Leistungsfähigkeit Ihrer Anwendungen haben weitere Vorteile: Sie können damit die Produktivität und Innovationskraft Ihrer Techniker steigern und ihnen bei der Schaffung von Mehrwert für Ihr Unternehmen helfen. Last but not least sorgen leistungsstarke Anwendungen für ein hochwertiges Endbenutzererlebnis. So gewinnen Sie das Vertrauen Ihrer Kunden, während Ihr Unternehmen weiter wächst.
Kostenfreier Zugang. Für immer.
Monitoren Sie Ihren Stack kostenlos. Genießen Sie den gratis Plattform Zugang mit 100 freien GB Daten pro Monat. Direkt unverbindlich starten.
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.