Blog
Verbessern Sie Ihre Funktionsüberwachung mit den Quadranten für die Funktionsüberwachung

Die Funktionsüberwachung ist ein wesentlicher Bestandteil jeder erfolgreichen Continuous Delivery-Implementierung.
Wir sehen oft, dass Entwicklungsteams Schwierigkeiten haben, das richtige Gleichgewicht zwischen den verschiedenen Arten der Überwachung zu finden. Sie konzentrieren sich in erster Linie auf die Beobachtbarkeit in Form von technischen Metriken wie der Fehlerrate. Technische Metriken sind hilfreich, sagen aber möglicherweise nicht die ganze Geschichte aus. Zum Beispiel könnten alle Dienste "grün" sein, während unsere Kunden mit fehlerhaften Funktionen zu kämpfen haben.
Functional Monitoring hilft, die Lücke zwischen den technischen Metriken und den tatsächlichen Auswirkungen auf die Benutzer zu schließen, um die Beobachtbarkeit des Systems zu vervollständigen. Um eine effektive Strategie für die funktionale Überwachung zu entwickeln, haben wir das Funktionale Überwachungsquadranten.
Funktionale Überwachung Quadranten
Die Quadranten bestehen aus 4 sich ergänzenden Arten der Überwachung, die in Kombination die Erstellung einer vollständigen Strategie zur Validierung der funktionalen Korrektheit erleichtern.
Synthetische Tests versus reale Benutzeraktivitäten
Mit synthetischen Tests erhalten wir kontinuierlich Informationen über die Verfügbarkeit des Systems. Wir generieren die Informationen über das System, indem wir Tests in der Produktion nach einem Zeitplan ausführen (z.B. alle 5 Minuten). Der Nachteil ist, dass dies nicht die "echte" Benutzererfahrung ist: Wir treffen Annahmen auf der Grundlage der häufigsten Nutzung.
Mit Real User Activity generieren wir Informationen auf der Grundlage der tatsächlichen Nutzung. Man könnte sagen, dass die Ergebnisse wahrheitsgetreuer sind als synthetische Tests, aber wir sind von der Menge des Datenverkehrs abhängig, der von den tatsächlichen Benutzern erzeugt wird. Wenn zum Beispiel nachts wenig genutzt wird, können Probleme unentdeckt bleiben.
User Journey versus Geschäftsanforderungen
Wir gewinnen Einblicke in das Benutzererlebnis, indem wir jeden Schritt des Prozesses messen. User Journey. Um dies zu erreichen, könnten Sie z.B. in regelmäßigen Abständen einen aufgezeichneten Fluss durch die 5 wichtigsten User Journeys abspielen oder Sie könnten etwas JavaScript (clientseitiger Code) einfügen, um zu messen, wo Benutzer abspringen oder Probleme auftreten.
Business Requirements konzentriert sich auf die Messung von Trends wie die Erkennung von Anomalien, z. B. wenn die Anzahl der Bestellungen niedriger ist als für die Tageszeit erwartet oder wenn der API-Aufruf zum Hinzufügen eines Warenkorbs eine falsche Anzahl von Produkten ergibt.
Ergänzende Informationen
Diese verschiedenen Perspektiven sind wichtig und geben uns spezifische Einblicke, aber sie haben auch ihre Grenzen. Zusammen ergeben sie ein vollständiges Bild. Schauen wir uns die Beispiele an, um mehr zu erfahren.
Funktionelle Überwachung im wirklichen Leben
Fallstudie: Ein Checkout-Fluss
Um Ihnen eine Vorstellung davon zu geben, wie diese Quadranten verwendet werden können, werde ich ein allgemeines Fallbeispiel verwenden, mit dem viele von Ihnen etwas anfangen können: einen Checkout-Prozess.
Es besteht aus 3 Schritten:
- Kunden-Details
- Versand
- Bezahlung
Wir haben einige Integrationen mit internen und externen Diensten wie einem Zahlungsdienstleister. Wir möchten die Kontrolle behalten und uns nicht blind auf einen externen Dienst verlassen.
Wie könnten wir diesen Checkout-Fluss angehen? Welche Art von Überwachung können wir in jedem Quadranten durchführen?
Quadrant 1: Überwachung des Benutzerflusses
Der Quadrant "Überwachung des Benutzerflusses" zielt darauf ab, einen Einblick in die Verfügbarkeit und Leistung eines kritischen Geschäftsflusses aus der Sicht eines Benutzers zu erhalten. Wir können dies tun, indem wir einen aufgezeichneten Checkout in bestimmten Intervallen abspielen und überprüfen, ob alle Schritte wie erwartet und zeitgerecht funktionieren.
Diese Art der Überwachung hat ihre Grenzen. Wir spielen nur den glücklichen Ablauf auf der Grundlage unserer Annahmen ab. Die Benutzer könnten einen anderen Weg einschlagen und unerwartete Probleme haben, die mit dieser Methode nicht proaktiv erkannt werden können. Außerdem unterliegt der aufgezeichnete Fluss einer ständigen Wartung.
Quadrant 2: Echte Benutzerüberwachung
Viele Observability-Tools bieten eine einfache Bibliothek an, die Sie in das Front-End Ihrer Anwendung integrieren können, um eine "echte Benutzerüberwachung" durchzuführen. Mit der "echten Benutzerüberwachung" können wir einige der Einschränkungen des ersten Quadranten ausgleichen.
Das Ziel dieses Quadranten ist es, die tatsächliche Verfügbarkeit und Leistung der Website aus der Sicht des Benutzers zu messen. Diese Messungen geben Aufschluss über die Erfahrungen echter Benutzer in den verschiedenen Abschnitten des Bestellvorgangs und sogar darüber, an welchem Punkt sie den Vorgang abbrechen könnten.
Dieser Quadrant ist natürlich nicht ohne Einschränkungen. Wenn weniger Daten zur Verfügung stehen, z. B. wenn weniger Nutzer nachts einkaufen, sind die Messungen stärker verstreut. Die Daten sind auch weniger einheitlich, weil die Leistungsmessungen von den Fähigkeiten der Geräte und der Konnektivität der Nutzer beeinflusst werden können.
Quadrant 3: Geschäftsmetriken
Die Verwendung von "Geschäftsmetriken" zur Überwachung eines kritischen Geschäftsablaufs kann eine leistungsstarke Ergänzung zu Ihren Überwachungsbemühungen sein. Die Benutzer können ihre Reise durch den Checkout-Prozess ohne Probleme abschließen, und Ihre Überwachung der ersten beiden Quadranten kann dies bestätigen. Dennoch gibt es ein großes Problem, wenn wir keine entsprechenden Bestellungen erzeugen, nachdem der Benutzer den Checkout und die Zahlung abgeschlossen hat.
Eine Metrik, die Sie aus geschäftlicher Sicht wahrscheinlich im Auge behalten, ist die Anzahl der erstellten Bestellungen. Wir können diese Metrik verwenden, um Anomalien zu erkennen und sie zu überwachen. In diesem Quadranten wollen wir uns die kritischen Geschäftsmetriken für den Fluss ansehen, den Sie überwachen möchten, und bestimmen, wie Sie diese Metriken nutzen können, um Probleme zu signalisieren. Berücksichtigen Sie, dass die Erkennung von Anomalien weniger wertvoll ist, wenn der Datenverkehr gering ist.
Quadrant 4: API-Endpunkt-Überwachung
Schließlich gibt es geschäftliche Anforderungen, die wir mit kleinen synthetischen Tests überwachen möchten. Wir erstellen diese Tests, um Probleme schnell und vorhersehbar zu erkennen. So können wir z.B. ständig überprüfen, ob der Aufruf der Zahlungsoptionen mir die richtigen Zahlungsoptionen liefert, was bei der Überwachung der anderen Quadranten leicht hätte übersehen werden können.
Bei diesen kleinen Kontrollen messen Sie nur die Teile, aber nicht die Summe der Teile, was der Hauptvorteil und gleichzeitig die Einschränkung ist.
Fazit
Wir haben Beispiele für einen Test in jedem Quadranten gesehen. Die Quadranten können Ihnen helfen, eine funktionale Überwachung aufzubauen, die die technischen Metriken ergänzt. Wenn Sie die funktionale und technische Überwachung kombinieren, erhalten Sie ein vollständiges Bild von der Korrektheit Ihres Systems. Auf diese Weise erhalten Sie die Kontrolle, gewinnen Vertrauen und sind in der Lage, die real Auswirkungen von Vorfällen.
Tiefer eintauchen?
Autoren
Bert Rijsdijk mit Jochum Börger
Verfasst von
Bert Rijsdijk
I help teams to speed up and improve the complete software delivery process. My mission is to get software in the hands of users faster by reducing time to market, enabling early feedback, and giving development teams the capabilities they need to succeed.
Contact



