Der Blog

Ein tiefer Einblick in die Entwicklung von Advanced Analytics

von David Shackelford 25. September 2014 | 1 Min. Lesezeit

Advanced Analytics heißt jetzt Advanced Reporting und umfasst Team-, System- und Benutzerberichte. PagerDuty Analytics ist ein neues Produkt, das die wichtigsten operativen Einblicke in Trends im Zeitverlauf in Ihre Mitarbeiter, Technologien und Prozesse liefert. Weitere Informationen finden Sie unter PagerDuty -Analyse .


Advanced Analytics war für uns ein großes Projekt. Es war nicht nur ein großer Schritt in Richtung der Unterstützung von Betriebsteams bei der Verbesserung ihrer Leistung mit verwertbaren Daten, sondern stellte auch eine komplexe Design- und Engineering-Herausforderung dar.

Entwerfen zur Problemlösung

Wenn wir neue Funktionen entwickeln, möchten wir immer sicherstellen, dass wir echte Probleme für unsere Kunden lösen. Als wir uns damit beschäftigten, wie unsere Kunden PagerDuty nutzen und welche Ziele sie für ihre Betriebsteams hatten, stellten wir fest, dass einer der größten Schwachpunkte der Mangel an Transparenz in Bezug auf ihre Betriebsabläufe war. Obwohl dieses Problem in jedem Unternehmen anders aussieht, stellten wir fest, dass viele Teams Schwierigkeiten damit haben, herauszufinden, welche Bereiche ihres Systems am problematischsten sind und wie die Leistung ihrer Teams ist.

Design für Zuverlässigkeit und Skalierbarkeit

Wir verarbeiten monatlich zig Millionen Vorfälle. Da unsere Kunden sich darauf verlassen, dass wir ihre Betriebszeit verbessern, ist die Zuverlässigkeit unseres Produkts ein zentraler Wert hier bei PagerDuty. Wir mussten sicherstellen, dass die Infrastruktur hinter Advanced Analytics unsere Zuverlässigkeits- und Leistungsanforderungen jetzt und in Zukunft erfüllt.

Die Auslastungsberichterstattung sieht anders aus als die Auslastung in einer mobilen App oder einem Dashboard. Anstatt eine kleine Anzahl von Vorfällen zu benötigen, im Augenblick , Sie möchten eine größere Anzahl von Vorfällen mit Berechnungen aus einem größeren Zeitraum.

Wir mussten sicherstellen, dass die Meldeaufrufe unsere Hauptdatenbank und API für Vorfälle nicht überlasten. Daher haben wir eine Reihe entkoppelter Dienste erstellt, mit denen wir Daten schnell an Kunden übermitteln können, ohne dass unsere Hauptalarm-Pipeline, die Web-App und die mobile App beeinträchtigt werden.

Eine Flotte von ETL-Workern entnimmt Daten aus einer Produktions-Slave-Datenbank, durchläuft die Einträge im Vorfallprotokoll und fasst sie in einer Tabelle mit Rohdaten mit einem bestimmten Satz von Metriken zusammen. Ein zweiter Dienst stellt die Rohdaten der denormalisierten Vorfälle zur Anzeige in Drilldown-Tabellen bereit, und der dritte nutzt die Rohdaten, um schnell aggregierte Metriken zu berechnen. Wenn Sie auf einen Bericht zugreifen, stellen diese Dienste die von Ihnen angeforderte Mischung aus Zusammenfassungs- und Rohdaten bereit.

Reporting-tech-diagram

Advanced Analytics greift auf große Datenmengen zu, daher haben wir uns mit der Vorabberechnung einiger Metriken befasst. Bei der Vorabberechnung muss jedoch zwischen Datenveraltung, der Anzahl der Codepfade zum Bereitstellen von vorab erstellten und On-Demand-Berichten und dem UX-Design abgewogen werden. Daher wollten wir sicherstellen, dass wir genau die richtige Menge verwenden. Durch Tests haben wir festgestellt, dass wir durch die Vorabberechnung von Metriken pro Vorfall das richtige Gleichgewicht zwischen Leistung und Flexibilität erreichen konnten.

Wir wussten von Anfang an, dass Advanced Analytics die Grundlage dafür sein würde, unseren Kunden so viele neue Daten zugänglich zu machen – mehr sogar, als wir vorhersehen konnten. Deshalb haben wir unser Analyse-Framework so aufgebaut, dass es mit Veränderungen umgehen kann. Wenn wir neue und bessere Methoden zur Berechnung wertvoller Kennzahlen entwickeln oder noch umfangreichere Nutzungsdaten offenlegen können, können wir die Daten ohne Unterbrechung der Funktion erneut verarbeiten. Kunden sehen einfach, dass neue Funktionen verfügbar sind, sobald alle Daten vorhanden sind. In der Praxis ermöglicht uns dies auch, mit vorübergehenden Schwankungen bei der Datenverfügbarkeit oder -integrität ohne Ausfallzeiten umzugehen.

In der Praxis ist diese ganze Arbeit für den Benutzer unsichtbar – er geht auf unsere Berichtsseite, wählt aus, was er sehen möchte, und sieht schnell seine Daten gerendert. Aber es ist uns wichtig, dass wir unsere Funktionen mit dem gleichen Maßstab und der gleichen Zuverlässigkeit entwickeln, für die wir bekannt sind.

Kommen wir zum „Na und?“

Es wäre einfach, unsere bestehenden Berichte zu übernehmen und Filter hinzuzufügen, aber wir wollten mehr tun. Wir wollten den Benutzern den Kontext und die Flexibilität geben, echte, umsetzbare Erkenntnisse aus den Berichten zu gewinnen.

Wir haben dies auf drei Arten getan:

  1. Präsentation einzelner Kennzahlen neben aggregierten Zusammenfassungen, sodass Kunden die Leistung eines bestimmten Teams oder Dienstes im Vergleich zum Gesamtbild einschätzen können.
  2. Zeigt, wie sich die Messwerte seit dem letzten Zeitraum geändert haben, sodass die Kunden auf hoher Ebene erkennen, ob sie ihre Leistung verbessern.
  3. Bietet einen schnellen, einfachen Drilldown zu den zugrunde liegenden Vorfällen, Diensten, Eskalationsrichtlinien und Benutzern, sodass Kunden auf die detaillierten Angaben zu ihren Betriebsaktivitäten zugreifen können.

Lernen und Iterieren

Während des gesamten Design- und Entwicklungsprozesses sammelten wir Kundenfeedback und führten einen umfassenden Betatest mit ausgewählten Kundengruppen durch, um sicherzustellen, dass wir bereit für den Versand waren. Während dieses Prozesses erhielten wir großartiges Feedback, das uns dabei half, die bestmögliche Lösung zu entwickeln.

Beta-Kunden waren von den neuen Berichten sofort begeistert, freuten sich über die bessere Transparenz ihrer Systeme und Mitarbeiter und teilten uns gerne mit, wie sie die Funktion nutzen wollten, um positive Veränderungen in ihren Teams herbeizuführen. Einige unserer beliebtesten Anwendungsfälle:

  • Identifizierung der Teams (Eskalationsrichtlinien) mit den kürzesten durchschnittlichen Lösungszeiten, sodass andere Teams im selben Unternehmen von deren Betriebspraktiken lernen und die Betriebskennzahlen unternehmensweit verbessern können.
  • Verwenden Sie den Teambericht für wöchentliche Teambesprechungen, überprüfen Sie, wie sich wichtige Kennzahlen gegenüber der Vorwoche geändert haben, und betrachten Sie eskalierte Vorfälle, um herauszufinden, was schiefgelaufen ist.
  • Mithilfe der Vorfall-Drilldown-Funktion können Sie feststellen, wo ähnliche Vorfälle gleichzeitig aufgetreten sind, und doppelte oder störende Warnmeldungen finden, um Abhilfe zu schaffen.

Gespräche mit Beta-Kunden haben uns außerdem jede Menge UX-Feedback eingebracht. Während unserer Alpha- und Betaphase haben wir UX- und Usability-Optimierungen vorgenommen, um sicherzustellen, dass unsere Interaktionen die Bedürfnisse unseres breit gefächerten Kundenstamms unterstützen – von denen mit nur einem oder zwei Benutzern und Diensten bis hin zu denen mit Hunderten.

Obwohl wir begeistert sind, diese umfassende Lösung für die Betriebsberichterstattung anbieten zu können, sehen wir dies nur als ersten Schritt auf der Analysereise von PagerDuty. Wir freuen uns darauf, unseren Kunden weiterhin dabei zu helfen, ihre Betriebszeit und Zuverlässigkeit durch Analysen zu verbessern.

Erzählen Sie uns, was Sie denken!

Advanced Analytics ist für alle Kunden als 30-tägige Vorschau verfügbar, danach wird es ein Feature unseres Enterprise-Plans sein. Wir würden gerne Ihre Meinung hören – E-Mail support@pagerduty.com über jedes Feedback und wir versprechen, dass wir es ganz durchlesen werden.