Der smarte Ansatz zur Produktionskontrolle

Wir bekommen immer wieder Fragen über unsere analysebasierte Application Performance Management (APM) Software und unsere Analysetechnologie. Viele wollen insbesondere wissen wie wir so viele detaillierte Informationen erfassen und gleichzeitig niedrige Betriebskosten gewährleisten können. Kurz gesagt, unsere Agents sind smart und wissen, wann sie jedes noch so kleine Detail (den kompletten Call Stack) und oder nur einfache Informationen über jede Transaktion erfassen müssen. Da AppDynamics einen analysebasierten Ansatz nutzt, können wir das höchstmögliche Maß an Detail bieten, um Performanceprobleme während der Traffic-Peaks der Applikation zu beheben.

AppDynamics, Ein Effizienter Arzt

Die AppDynamics’ APM Lösung überwacht, prüft die Basis, und meldet die Performance jeder einzelnen Transaktion, die durch Ihre Anwendung läuft. Im Gegensatz zu anderen APM Lösungen, die aus Entwicklungsumgebungen stammen, wurde unsere Lösung für die Produktionsumgebung entwickelt, die einen agileren Ansatz erfordert, um Transaktionsdetails zu erfassen.

Ich würde Ihnen gerne eine Geschichte erzählen um die AppDynamics Analyse-basierte Methodologie zu erklären und sie gleichzeitig mit dem folgenden Ansatz vieler Wettbewerber zu vergleichen: “erfasse so viele Details wie nur möglich, egal ob es Probleme gibt oder nicht (oder: unsere Agents sind zu alt um eingebaute Intelligenz zu besitzen).”

Die Geschichte geht so: Sie besuchen Dr. AppDynamics für Ihre regelmäßigen Gesundheitschecks. Er kontrolliert Ihre Vitalparameter, misst Daten, wie Ihr Gewicht und Ihre Muskelreflexe, und vergleicht jede Metrik mit bekannten, gesunden Werten. Wenn Ihre Werte mit den gesunden übereinstimmen, schickt der Arzt Sie nach Hause und kümmert sich um den nächsten Patienten. Wenn Ihre Vitalzeichen jedoch zu sehr von den gesunden Standards abweichen, ordnet der schlaue Arzt mehr relevante Tests an um Ihr Problem zu diagnostizieren. Diese Methode minimiert die Belastung auf die verfügbaren Ressourcen und diagnostiziert effizient und effektiv jedes Ihrer Probleme.

Im Gegensatz dazu, besuchen Sie Dr. Legacy für Ihren regelmäßigen Gesundheitscheck. Er kontrolliert Ihre Vitalzeichen, sammelt Daten wie Ihr Gewicht und Ihre Muskelreflexe und ordnet sofort eine ganze Reihe von Diagnosetests an obwohl Sie absolut gesund sind. Er macht das für jeden einzelnen seiner Patienten. Das Gesundheitssystem ist nun mit unnötiger, zusätzlicher Arbeit überansprucht. Diese Zusatzbelastung verlangsamt das gesamte System. Deswegen entscheidet sich Dr. Legacy, weniger Diagnosetests bei jedem einzelnen Patienten durchzuführen (selbst bei denjenigen mit wirklichen Problemen). Jetzt sitzen die Patienten mit wirklichen Problemen undiagnostiziert im Wartezimmer obwohl diese am meisten Aufmerksamkeit brauchen. Außerdem werden die Pflegekosten aufgrund der Anzahl von Diagnosetests und der Daten, die generiert werden, unnötig und exzessiv in die Höhe getrieben.

Macht die Methode von Dr. Legacy Sinn wenn es bessere Methoden gibt?

AppDynamics intelligenter Ansatz zur Erfassung von Daten und der Erstellung von Diagnosen macht es leichter, Abweichungen zu erkennen und, weil detaillierte Diagnosedaten nur für die Transaktionen erstellt werden die dieses Maß an Detail auch wirklich benötigen, sind die Auswirkungen auf die Systemressourcen geringer und der Kontrolloverhead ist sehr klein.

100%-ige Überwachung Ihrer Geschäftsabläufe – Dauerhaft

AppDynamics kontrolliert jede einzelne Business Transaction (BT), die in Ihren Anwendungen stattfindet.

Es gibt keine Ausnahme dieser Regel. wir lernen automatisch und entwickeln dynamische Standardwerte für die end-to-end Reaktionszeit sowie für die Reaktionszeit jeder einzelnen Komponente in der Transaktion sowie für alle kritischen Geschäftsdaten innerhalb Ihrer Anwendung.

Wir bewerten jede Transaktion indem wir die eigentliche Reaktionszeit mit dem ermittelten Standardwert vergleichen. Wenn eine BT zu weit von diesem Standardwert abweicht (dabei verwenden wir einen anpassbaren Algorithmus), weiß unser Agent automatisch, dass er die Full Call Stack Details für Ihre Problembehebung erfassen muss. Diese analysebasierte Methode ermöglicht es AppDynamics kleine Probleme sofort zu entdecken und zu melden damit sie gelöst werden können bevor sie zu einem richtigen Problem werden.

Natürlich gibt es Zeiten zu denen die ausführliche Datensammlung jeder Transaktion nützlich ist – zum Beispiel während der Entwicklung –die AppDynamics APM Lösung hat ein super Feature hierfür. Wir haben einen simplen One-Klick Knopf gebaut um das vollständige und systemweite Erfassen aller relevanten Daten zu starten. Dieser Entwicklungsmodus ist ideal wenn Entwickler eine Anwendung testen. Der Entwicklungsmodus erfasst Daten jeder Transaktion. In der Produktion wäre das zu viel und verschwenderisch. Die Anwendung ist sogar so smart, dass sie nach Beendigung der Entwicklungsphase automatisch herunterfährt wenn sie unbeabsichtigt weiter aktiv war, damit Ihr System nicht überlastet wird wenn die Anzahl der Transaktionen steigt.

Wer schaut sich Production Call Stacks an, wenn es keine Probleme gibt?

Eine der schlimmsten Eigenschaften von bisherigen APM Lösungen ist die Tatsache, dass sie immer so viele Daten sammeln wie möglich. Normalerweise kommt das daher, dass das APM Tool als Profiling Tool für Entwickler eingeführt wurde und nun für die Produktion modifiziert wurde. Während diese Methode in der Entwicklungsumgebung okay ist (wir unterstützen wie oben beschrieben einen Entwicklungsmodus), versagt sie kläglich bei großen Transaktionsmengen wie während Lasttests oder der Produktion. Warum versagt sie? Schön, dass Sie fragen.

Jedes einigermaßen vernünftiges APM Tool hat eingebaute Overhead Limiter, damit es keinen Schaden anrichtet und nicht zu viel Overhead in einer laufenden Anwendung verursacht. Wenn Sie so viele Daten sammeln wie möglich, ohne eine sinnvolle Methode um Ihre gesammelten Daten zu fokussieren, erzeugen Sie eigentlich permanent einen Overhead an Auslastung (wenn man von einer regulären Belastung ausgeht). Die Problematik hier ist, dass Probleme meist dann auftreten, wenn die Auslastung Ihrer Anwendung steigt und das auch gleichzeitig der Zeitpunkt ist, an dem bisherige APMs extrem hohe Overheads generieren (aufgrund massiver Mengen an Codeausführungen und der andauernden detaillierten Datensammlung). Deswegen schlagen die Overhead-Limiter Alarm und reduzieren die Menge von Daten, die erfasst werden oder löschen schlicht die Datensammlung. Das heißt ganz einfach, dass die bisherigen APM Tools keine guten Transaktionen von schlechten unterscheiden können und Ihnen gerade dann wenig Einblick in die Situation geben, wenn Sie volle Visibiliät benötigen. Ist es nicht komisch, wie Marketing und Verkaufsteams versuchen, diese Methode als die allerbeste darzustellen?

Ich habe schon viele verschiedene APM Tools in der Produktionumgebung verwendet und musste nie Full Call Stacks anschauen wenn es kein Problem gab. Ich war mit meinem Job viel zu beschäftigt um aus Spaß bedeutungslose Daten zu analysieren.

Distributed Intelligence für massive Skalierbarkeit

Die ganze intelligente Datensammlung, die oben angesprochen wurde, erfordert nur sehr wenige zusätzliche Ressourcen um festzustellen, was man im Detail anschauen und speichern sollte. Hier sind die Implementierungsdetails wirklich ausschlaggebend.

Bei AppDynamics bauen wir vor allem dort Intelligenz ein, wo sie benötigt wird – beim Agent. Das ist ein einfacher Paradigmenwandel, der die Belastung auf Ihrer Installationsebene verteilt (wo sie nicht einmal bemerkt wird), anstatt einen einzigen Ort zu belasten. Dieser architektonische Design Schritt  führt dazu dass die Belastung auf dem Management Server niedrig bleibt, selbst wenn die Belastung der Anwendung steigt.

Bei herkömmlichen APM Lösungen führt das Beschränken von Informationen auf den zentralen Server dazu, dass man weitere Ressourcen braucht und die Infrastruktur mehrere Server sowie mehr Pflege benötigt.

Das Sammeln, Übergeben, Senden, Verwahren, und Analysieren von großen Mengen unnötiger Daten führt zu einer hohen Total Cost of Ownership (TCO). Es bedarf vieler Personen, Server, und Speicher um diese herkömmlichen APM Tools vernünftig auf dem Enterprise Level zu nutzen. Viele APM Verkäufer wollen Ihnen sogar ihre teuren Vollzeit Beratungsdienstleistungen verkaufen, nur um ihre komplizierten Lösungen zu managen. Intelligente APM Tools verringern ihre Belastung im Gegensatz zu den herkömmlichen APM Tools, die die Belastung sogar erhöhen.

Alle Software Tools durchlaufen Übergangsphasen, in denen Verbesserungen umgesetzt werden und Probleme mit neuen Generationen von Anwendungen gelöst werden. Was mal innovativ war wird hoffnungslos veraltet, außer Sie investieren intensiv in Modernisierung.

Hoffentlich hilft Ihnen diese detaillierte Betrachtung von APM Methoden dabei, das enorme Angebot an Marketingpropaganda, mit dem Entwickler und ITler ständig konfrontiert werden, zu durchschauen. Es ist wichtig zu verstehen, was Softwareverkäufer wirklich tun, aber es ist am allerwichtigsten zu verstehen, dass wie sie es tun einen enormen Einfluss auf die Verwendung im Alltag haben wird.

Dieser Artikel wurde aus dem Englischen übersetzt. Den originalen Text finden Sie hier: blog.appdynamics.com/featured/the-intelligent-approach-to-production-monitoring