OPS04-BP01 Implementieren einer Anwendungstelemetrie - AWS Well-Architected Framework

OPS04-BP01 Implementieren einer Anwendungstelemetrie

Anwendungs-Telemetrie ist die Grundlage für Beobachtbarkeit Ihres Workloads. Ihre Anwendung sollte Telemetriedaten ausgeben, die Aufschluss über den Zustand der Anwendung und das Erreichen von Geschäftsergebnissen geben. Von der Fehlerbehebung bis hin zur Messung der Auswirkungen einer neuen Funktion liefert die Anwendungstelemetrie Informationen darüber, wie Sie Ihren Workload aufbauen, betreiben und weiterentwickeln.

Anwendungstelemetrie besteht aus Metriken und Protokollen. Bei Metriken handelt es sich um Diagnosedaten, wie Ihr Puls oder Ihre Körpertemperatur. Metriken werden gemeinsam verwendet, um den Zustand Ihrer Anwendung zu beschreiben. Das Sammeln von Metriken im Zeitverlauf kann dazu verwendet werden, Grundlinien zu entwickeln und Anomalien zu erkennen. Protokolle sind Meldungen, die die Anwendung ihren internen Zustand oder auftretende Ereignisse betreffend sendet. Fehlercodes, Transaktionskennungen und Benutzeraktionen sind Beispiele für protokollierte Ereignisse.

Gewünschtes Ergebnis:

  • Ihre Anwendung gibt Metriken und Protokolle an, die Aufschluss über ihren Zustand und das Erreichen von Geschäftsergebnissen geben.

  • Metriken und Protokolle werden zentral für alle Anwendungen im Workload gespeichert.

Gängige Antimuster:

  • Ihre Anwendung sendet keine Telemetriedaten. Sie müssen sich darauf verlassen, dass Ihre Kunden Ihnen mitteilen, wenn etwas nicht stimmt.

  • Ein Kunde hat gemeldet, dass Ihre Anwendung nicht reagiert. Sie verfügen über keine Telemetrie und können nicht bestätigen, dass das Problem existiert, und es auch nicht einschätzen, ohne die Anwendung selbst zu verwenden, um die aktuelle Benutzererfahrung zu verstehen.

Vorteile der Einführung dieser bewährten Methode:

  • Sie können den Zustand Ihrer Anwendung, die Benutzererfahrung und das Erreichen von Geschäftsergebnissen nachvollziehen.

  • Auf Änderungen am Zustand Ihrer Anwendung können Sie schnell reagieren.

  • Sie können Zustandstrends für Anwendungen entwickeln.

  • Sie können fundierte Entscheidungen hinsichtlich der Verbesserung Ihrer Anwendung treffen.

  • Anwendungsprobleme lassen sich schneller erkennen und beheben.

Risikostufe, wenn diese bewährte Methode nicht eingeführt wird: Hoch

Implementierungsleitfaden

Die Implementierung von Anwendungstelemetrie besteht aus drei Schritten: Identifizierung eines Speicherorts für Telemetrie, Identifizierung von Telemetrie, die den Zustand der Anwendung beschreibt, und Instrumentierung der Anwendung, um Telemetrie auszugeben.

Beispiel: Ein E-Commerce-Unternehmen hat eine auf Microservices basierende Architektur. Im Rahmen des Architekturentwurfs wurde eine Anwendungstelemetrie identifiziert, mit deren Hilfe es den Zustand der einzelnen Microservices nachvollziehen kann. Der Warenkorb-Service hat beispielsweise Telemetriedaten zu Ereignissen wie Hinzufügen zum Warenkorb, Verlassen des Warenkorbs und Dauer des Hinzufügens eines Artikels zum Warenkorb ausgegeben. Alle Microservices würden Fehler, Warnungen und Transaktionsinformationen protokollieren. Telemetrie würde zu Speicher- und Analysezwecken an Amazon CloudWatch gesendet.

Implementierungsschritte

Der erste Schritt besteht darin, einen zentralen Speicherort für die Telemetriedaten der Anwendungen in Ihrem Workload zu ermitteln. Wenn Sie keine bestehende Plattform haben, bietet Amazon CloudWatch die Erfassung von Telemetriedaten, Dashboards, Analysen und Fähigkeiten zur Ereigniserzeugung.

Stellen Sie sich folgende Fragen, um herauszufinden, welche Telemetrie Sie benötigen:

  • Ist meine Anwendung in einem guten Zustand?

  • Erreicht meine Anwendung die gewünschten Geschäftsergebnisse?

    Ihre Anwendung sollte Protokolle und Metriken ausgeben, die gemeinsam eine Antwort auf diese Fragen bieten. Wenn Sie diese Fragen mit der vorhandenen Anwendungstelemetrie nicht beantworten können, arbeiten Sie mit den Ansprechpersonen aus den Bereichen Business und Technik zusammen, um eine Liste von Telemetriedaten zu erstellen, die dies ermöglichen. Sie können Ihr AWS-Konto-Team um fachkundige technische Beratung bitten, wenn Sie neue Anwendungstelemetrie identifizieren und entwickeln.

    Sobald die zusätzliche Anwendungstelemetrie identifiziert wurde, arbeiten Sie mit Ihren Ansprechpartnern aus dem technischen Bereich zusammen, um Ihre Anwendung zu instrumentieren. AWS Distro for OpenTelemetry bietet APIs, Bibliotheken und Agenten, die Anwendungstelemetrie bieten. Dieses Beispiel zeigt, wie man eine JavaScript-Anwendung mit benutzerdefinierten Metriken instrumentiert.

    Kunden, die die Beobachtbarkeits-Services verstehen möchten, die AWS anbietet, können den Workshop zur Beobachtbarkeit eigenständig durchgehen oder Unterstützung von ihrem AWS-Konto-Team anfordern. Dieser Workshop führt Sie durch die Beobachtbarkeitslösungen von AWS und bietet praktische Beispiele für deren Einsatz.

    Für umfassendere Einblicke in die Anwendungstelemetrie lesen Sie den Artikel „Instrumentieren verteilter Systeme für Einblicke in die Betriebsabläufe“ in der Amazon Builder’s Library. Darin wird erklärt, wie Amazon Anwendungen instrumentiert. Er kann als Leitfaden für die Entwicklung eigener Instrumentierungsrichtlinien dienen.

Grad des Aufwands für den Implementierungsplan: Mittel

Ressourcen

Relevante bewährte Methoden:

OPS04-BP02 Implementieren und Konfigurieren der Workload-Telemetrie – Anwendungstelemetrie ist ein Bestandteil der Workload-Telemetrie. Sie müssen den Zustand der einzelnen Anwendungen, aus denen der Workload besteht, kennen, um den Zustand des gesamten Workloads zu verstehen.

OPS04-BP03 Telemetrie von Benutzeraktivitäten implementieren – Die Telemetrie der Benutzeraktivität ist häufig eine Teilmenge der Anwendungstelemetrie. Benutzeraktivitäten, wie z. B. das Hinzufügen zum Warenkorb, Clickstreams oder abgeschlossene Transaktionen, geben Aufschluss über das Benutzererlebnis.

OPS04-BP04 Implementieren einer Abhängigkeitstelemetrie – Abhängigkeitsprüfungen beziehen sich auf die Anwendungstelemetrie und können in Ihre Anwendung instrumentiert werden. Wenn Ihre Anwendung von externen Abhängigkeiten wie DNS oder einer Datenbank abhängig ist, kann Ihre Anwendung Metriken und Protokolle über Erreichbarkeit, Timeouts und andere Ereignisse ausgeben.

OPS04-BP05 Implementieren einer Nachvollziehbarkeit von Transaktionen – Für die Verfolgung von Transaktionen über einen Workload hinweg muss jede Anwendung Informationen darüber ausgeben, wie sie gemeinsame Ereignisse verarbeitet. Die Art und Weise, wie die einzelnen Anwendungen mit diesen Ereignissen umgehen, wird über ihre Anwendungstelemetrie übermittelt.

OPS08-BP02 Definieren von Workload-Metriken – Workload-Metriken sind die wesentlichen Zustandsindikatoren für Ihren Workload. Wesentliche Anwendungsmetriken sind Teil der Workload-Metriken.

Zugehörige Dokumente:

Relevante Videos:

Zugehörige Beispiele: