DevOps, APM und der Single Point of Failure

Seite 4: Fazit

Inhaltsverzeichnis

Dass die Ende-zu-Ende-Verfolgung die Anzahl der beteiligten Personen für das Troubleshooting reduziert, ist nachvollziehbar. Aber hilft das auch, die Ursache eines Problems schneller zu finden? Diese Betrachtung grenzt ja lediglich die verursachende Komponente ein. Die Antwort heißt in dem Fall: Transaktionsverfolgung bis auf Code-Ebene. Zusammengefasst lautet die Stärke eines zeitgemäßen APM-Werkzeugs: Visualisierung der verursachenden Komponente bei problematischen Anwenderaktionen, gleichzeitiges Aufzeigen des dabei ausgeführten Codes sowie die Häufigkeit und Performance der einzelnen Methoden und SQL-Ausführungen.

Call Graph für eine Transaktionsausführung und Auflistung der Methoden und Query-Performance (Abb. 4)

Der Betrieb kann so schnell und leicht eingrenzen, in welchem Bereich einer komplexen Anwendungsarchitektur die Ursache des Problems liegt, und damit bestimmen, an welches Team die Ursachenfindung adressiert werden sollte. Gleichzeitig erhält das Entwickler-Team einen klaren Hinweis, was in seinem Code die Probleme ausgelöst hat.

Ein weiterer Vorteil: Häufig bauen Entwickler ihre Funktionen in isolierten Umgebungen und haben selten die Möglichkeit, diese im Zusammenspiel mit der Gesamtarchitektur und Gesamtumgebung der Applikation zu testen beziehungsweise die Auswirkung zu prüfen. APM verschafft ihnen genau diese Transparenz. Der Entwickler kann noch vor Übergabe in den Betrieb prüfen, inwieweit die Funktion

  • performanceoptimierte Queries verwendet,
  • stark oder wenig anfällig auf Latenzen reagiert, da sie viel und häufig mit verschiedenen Komponenten kommuniziert oder eben idealerweise sehr wenig,
  • effiziente Stylesheet Best Practices verwendet oder nicht,
  • den vorhandenen Speicher optimal nutzt oder nicht.

DevOps ist zu Recht in aller Munde und unterstützt bei der Verbesserung der Zusammenarbeit zwischen Betrieb, Test und Entwicklung. Diese Kooperation sollte sich aber nicht nur auf gemeinsam optimierte Prozesse zwischen der Bereitstellung neuer Funktionen und dem Ausrollen in den Betrieb beschränken, sondern auch das Optimieren von Troubleshooting-Prozessen bei Betriebsproblemen enthalten.

Für diese Art der Zusammenarbeit ist es nicht nur hilfreich, sondern notwendig, neben dem klassischen Monitoring eine Strategie zum Application Performance Management zu etablieren. Der Mehrwert sind klare schnelle Identifikation von Problemen, ein konkretes Bewerten des Einflusses auf den Geschäftsbetrieb sowie einfache und effiziente Ursacheneingrenzung und präzise Problemfindung. Das wird mit einem APM-Werkzeug nicht nach mehreren Wochen erzielt, sondern üblicherweise mit nur wenigen Klicks.

Karsten Flott
ist Sales Engineer bei AppDynamics und arbeitet seit 13 Jahren im Bereich des Performance Testing und Application Performance Management. (ane)