View a markdown version of this page

OPS04-BP05 Implementierung einer Transaktionsverfolgung - AWS Well-Architected Framework

OPS04-BP05 Implementierung einer Transaktionsverfolgung

Implementieren Sie Ihren Anwendungscode und konfigurieren Sie Ihre Workload-Komponenten so, dass sie als Ergebnis einzelner logischer Operationen Ereignisse auslösen, die über verschiedene Bereiche Ihres Workloads hinweg konsolidiert werden. Erstellen Sie Karten, um zu sehen, wie Traces über Ihren Workload und Ihre Services ablaufen. Gewinnen Sie Erkenntnisse über die Beziehungen zwischen Komponenten und identifizieren und analysieren Sie Probleme. Verwenden Sie die erfassten Informationen, um zu bestimmen, wann eine Reaktion erforderlich ist, und um Sie bei der Identifizierung der Faktoren zu unterstützen, die zu einem Problem beitragen.

Gewünschtes Ergebnis:

  • Sammeln Sie Transaktions-Traces über Ihren Workload hinweg, um Erkenntnisse über die Beziehungen zwischen den Komponenten zu gewinnen.

  • Erstellen Sie Karten, um besser zu verstehen, wie Transaktionen und Ereignisse in Ihrem Workload ablaufen.

Typische Anti-Muster:

  • Sie haben eine serverlose Microservices-Architektur implementiert, die mehrere Konten umfasst. Ihre Kunden melden vorübergehende Leistungsprobleme. Sie sind nicht in der Lage, herauszufinden, welche Funktion oder Komponente verantwortlich ist, weil Ihnen eine Transaktionsverfolgung fehlt.

  • In Ihrem Workload gibt es einen Leistungsengpass. Da Ihnen die Transaktionsverfolgung fehlt, können Sie die Beziehung zwischen Ihren Anwendungskomponenten nicht ermitteln und den Engpass nicht identifizieren.

  • Die für Traces verwendete ID ist nicht global eindeutig, was bei der Analyse des Workload-Verhaltens zu einer Tracing-Kollision führt.

Vorteile der Nutzung dieser bewährten Methode:

  • Das Verständnis des Transaktionsablaufs innerhalb Ihres Workloads liefert Erkenntnisse über das erwartete Verhalten Ihrer Workload-Transaktionen.

  • Sie können Abweichungen vom erwarteten Verhalten Ihres Workloads erkennen und bei Bedarf darauf reagieren.

  • Sie können Transaktionen anhand ihrer eindeutigen generierten ID lokalisieren – unabhängig davon, wo sie generiert wurden.

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

Implementierungsleitfaden

Entwickeln Sie Ihre Anwendung und Ihren Workload so, dass Sie Informationen zum Transaktionsfluss über Systemkomponenten hinweg erhalten. Zu den Daten, die in die Transaktionen aufgenommen werden müssen, gehören eine global eindeutige Transaktions-ID, die Transaktionsphase, die aktive Komponente und die Dauer bis zum Abschluss der Aktivität. Mithilfe dieser Informationen können Sie feststellen, was gerade bearbeitet wird, was bereits abgeschlossen wurde und welche Ergebnisse die abgeschlossenen Aktivitäten haben.

Kundenbeispiel

Bei AnyCompany Retail wird für alle Transaktionen eine global eindeutige UUID generiert. Diese UUID wird während der Transaktionen zwischen den Microservices weitergegeben. Die UUID wird verwendet, um Transaktions-Traces zu erstellen, wenn Benutzer mit dem Workload interagieren. Mit den Traces wird eine Karte der Workload-Topologie erstellt, die zur Fehlerbehebung bei Workload-Problemen und zur Verbesserung der Leistung verwendet wird.

Implementierungsschritte

  1. Instrumentieren Sie die Anwendungen in Ihrem Workload so, dass sie Transaktionsprotokolle generieren. Dazu können Sie eine eindeutige ID für jede Transaktion generieren und die ID zwischen Anwendungen weitergeben.

    1. Sie können die Auto-Instrumentierung in der AWS Distro for OpenTelemetry verwenden, um Traces in Ihre bestehenden Anwendungen zu implementieren, ohne Ihren Anwendungscode zu ändern.

  2. Generieren Sie Karten der Topologie Ihrer Anwendung. Verwenden Sie diese Karten, um die Leistung zu verbessern, Erkenntnisse zu gewinnen und die Fehlersuche zu erleichtern.

    1. Mit AWS X-Ray können Sie Karten der Anwendungen in Ihrem Workload erstellen.

Grad des Aufwands für den Implementierungsplan: mittel. Die Implementierung von Transaktions-Traces kann einen moderaten Entwicklungsaufwand erforderlich machen.

Ressourcen

Zugehörige bewährte Methoden:

Zugehörige Dokumente:

Zugehörige Videos:

Zugehörige Beispiele:

Zugehörige Services: