Der Blog

Nutzen Sie den Wert Ihrer Runbook Automation-Wertmetriken mit Snowflake, Jupyter Notebooks und Python

von Justyn Roberts 5. Januar 2024 | 8 min Lesezeit

Dieser Blog wurde gemeinsam von Sebastian Joseph, Senior Solutions Consultant, PagerDuty, und Gabriel Ismael Felipe, Automation Engineer, verfasst.

Automatisierung ist zu einem integralen Bestandteil der Geschäftspraktiken moderner Organisationen geworden. Wenn Leute „Automatisierung“ hören, denken sie oft daran, dass es ein Mittel ist, den manuellen Aspekt der Arbeit zu eliminieren und den Prozess zu beschleunigen. Was jedoch nicht im Rampenlicht steht, ist der Wert und die Rendite, die Automatisierung einer Organisation, einem Team oder sogar nur einem bestimmten Prozess bieten kann.

Das Verständnis des aus automatisierten Jobs erzielten Werts und des Return on Investment (ROI) dieser automatisierten Prozesse ist ein entscheidender Maßstab für die Wertrealisierung, sei es in Bezug auf Zeitersparnis, vermiedene Fehler, Risikominimierung, Anzahl der Ausführungen usw.

Mit der PagerDuty Operations Cloud können Teams Automatisierungen nach Belieben erstellen, zentralisieren und ausführen, ohne den Kontext wechseln oder drastische Änderungen am Tool-Set vornehmen zu müssen. Dies ist vor allem auf unsere über 700 Integrationsökosystem . In diesem Blog werden wir zwei wichtige Integrationen näher betrachten, Schneeflocke Und Jupyter-Notebooks . Wie können Sie also automatisierungsbezogene ROI-Informationen in Pagerduty Process Automation sammeln und Berichte erstellen, die diesen Wert erfassen? Lassen Sie uns näher darauf eingehen.

Das Paradox der Automatisierungsspirale

Technologieteams, die täglich neue Entwicklungen und Innovationen vorantreiben, geraten häufig in die „Todesspirale“ der Automatisierung von Abläufen und Prozessen. Das Gespräch läuft normalerweise folgendermaßen ab:

  • „Wir sind zu beschäftigt, um zu automatisieren.“
  • „Warum sind wir zu beschäftigt, um zu automatisieren?“
  • „Wir haben all diese Aufgaben!“
  • „Warum automatisieren wir diese Aufgaben nicht?“
  • „Wir sind zu beschäftigt, um uns die Zeit zu nehmen, diese Aufgaben zu automatisieren!“

Indem wir dem erweiterten Team den anhaltenden Wert der Automatisierung aufzeigen, können wir diesen Kreislauf durchbrechen und zeigen, dass wir es uns nicht leisten können, nicht um diese Mühe zu automatisieren.

In diesem Blog werden wir uns mit zwei Hierfür gibt es verschiedene Möglichkeiten:

  1. Eine API-Integration von Pagerduty Automation und Snowflake – wie Sie eine API-basierte Integration von Pagerduty Automation und Snowflake verwenden, um die ROI-Daten für jeden Joblauf zu erfassen und mit diesen Daten in Snowflake ein Dashboard zu erstellen, um den ROI-Wert der Automatisierung darzustellen
  2. Erstellen Sie weitere Integrationen oder benutzerdefinierte Berichte mit Jupyter Notebooks

Erschließen Sie den Wert Ihrer Runbook Automation Value Metrics (ROI) mit Snowflake

Warum Snowflake?

Eine große Anzahl von Organisationen verwendet Snowflake als ihren Datensee, und das Dashboard-Tool in Snowflake kann den Wert der Automatisierung erfassen und darstellen. Durch die gemeinsame Nutzung von Snowflake und der PagerDuty Operations Cloud können Organisationen ihre Datenbetriebseffizienz verbessern, Datenausfallzeiten minimieren und eine Echtzeitkommunikation mit Stakeholdern für ein effektives Datenmanagement aufbauen.

SNOWFLAKE-Einrichtung:

Definieren wir zunächst die Sicherheitsintegration in Snowflake:

Security integration in Snowflake

Dann können wir die ARBEITSBLATT-Tabelle und -FELDER in Snowflake DEFINIEREN. Einige Beispiel-Schnappschüsse und -Schritte finden Sie hier:

ROI metrics in Snowflake

ROI metrics in Snowflake

Einrichtungsschritte für die PagerDuty Prozessautomatisierung:

Markieren Sie einen Job zur Messung und die Zeit- oder Umsatzwerte, die Ihrem Automatisierungsjob zugeordnet sind.

Jeder einzelne Job kann seine eigene Metrik oder Metriken haben. Nehmen wir für dieses Beispiel an, dass der Job einem DevOps-Teammitglied auf mittlerer Ebene 10 Minuten Arbeit erspart, was 10 US-Dollar pro Ausführung entspricht.

ROI metrics custom fields

Weitere Informationen finden Sie im PagerDuty Runbook Automation-Dokumentation.

Detaillierte Schritte:

Wir verwenden die „ROI-Metriken“ Plugin in der Jobdefinition verfügbar, um die Daten zu „gesparten Stunden“ zu erfassen, wenn ein Automatisierungsjob ausgeführt wird. Dies muss für den Job basierend auf der durch die Automatisierung eingesparten Zeit manuell festgelegt/definiert werden.

Im Mehr bearbeiten des Jobs in der Prozessautomatisierung, aktivieren Sie das Kontrollkästchen „ ROI-Metrikdaten ”-Flag. (Job bearbeiten -> Ausführungs-Plugins -> ROI-Metrikdaten prüfen (mit einer gültigen Angabe zu „Gesparten Stunden“, Beispiel: 1,25 Stunden).

ROI metrics data // JSON template

Wenn der Job ausgeführt wird, wird die folgende ROI-Metrikdatenausgabe bereitgestellt:

ROI Metric Data output

Posten Sie dann die im PA-Jobschritt gesammelten Schlüssel-Wert-ROI-Daten mithilfe einer HTTP-Methode: Post und der eingebetteten SQL-Anweisung in einer in Snowflake definierten Datenbank.

Ausgabe beim Posten in Snowflake (für jede Ausführung des Jobs wird eine Zeile mit der Metrik hinzugefügt):

ROI Metric Data output

Runbook Automation-Wertmetriken (ROI) mit Jupyter Notebook:

Warum ein Jupyter-Notebook?

ROI metrics in Jupityer notebooks

Jupyter Notebooks bieten eine interaktive Computerumgebung, die es Benutzern ermöglicht, Code, Markdown-Text und visuelle Ausgaben zu kombinieren. Dadurch eignet es sich ideal für die Datenanalyse, den Austausch von Erkenntnissen und sogar die Verteilung von Softwaretools. Lassen Sie uns in ein Python-Skript eintauchen, das ROI-Metriken über die Runbook Automation API extrahiert. Wir besprechen auch, wie dieses Tool als Jupyter Notebook zusammen mit einer .env-Datei zur einfachen Konfiguration verteilt werden kann.

Der Beispielcode kann geändert oder erweitert werden, um ihn an Ihre eigenen Umgebungen, Notebooks, Business Intelligence (BI)-Tools oder geplanten Skripts anzupassen. Der Ansatz kann auch an Ihre bevorzugte Sprache angepasst werden.

Bevor du anfängst:

Aufträge müssen markiert werden, um ihre eigenen ROI-Kennzahlen zu erfassen ( hier beschrieben ).

Jeder einzelne Job kann seine eigene Metrik oder Metriken haben. Nehmen wir für dieses Beispiel an, dass der Job einem DevOps-Teammitglied auf mittlerer Ebene 10 Minuten Arbeit erspart, was 10 US-Dollar pro Ausführung entspricht.

ROI metrics custom fields

Weitere Informationen finden Sie im Runbook Automation-Dokumentation

Kernkonzepte

Konfigurations- und Umgebungsvariablen

Die .env-Datei dient als Grundlage für die Konfiguration unseres Skripts. Indem Benutzer diese Datei zusammen mit dem Jupyter-Notebook verteilen, können sie ihre Umgebung sicher einrichten und sensible Funktionen wie den erforderlichen API-Schlüssel externalisieren.

Ermöglichen des Verweisens auf die Konfigurationsdaten im Notebook:

Sie können das Notizbuch für das Projekt, die Tags und den Verlauf einfach ändern (z. B. 1 Std., 24 Std., 1 Tag, 14 Tage).

Authentifizieren und Abrufen von Auftragsdaten

Die Authentifizierung erfolgt über ein Inhabertoken, das in Runbook Automation generiert und aus Sicherheitsgründen in der Umgebungsdatei gespeichert wird.

Nach der Authentifizierung sieht der Codeablauf folgendermaßen aus:

  • Mithilfe der Runbook Automation API ruft das Skript eine Liste von Jobs basierend auf bestimmten Tags ab. Dies gibt eine Liste von Job-IDs pro Tag zurück.

  • Für jede ID sehen wir uns die Ausführungsliste für den Job an und erhalten eine Liste der Ausführungs-IDs

  • Schließlich durchlaufen wir die Ausführungen, um die ROI-Daten zurückzugeben

Datenaggregation und -analyse

Alle von uns erfassten Daten werden in einem Pandas DataFrame gespeichert, was die nachfolgende Analyse und Berichterstattung vereinfacht. Aufgrund der Dateniteration kann die Verarbeitung einiger größerer Datensätze eine Weile dauern.

Zusammenfassung der Kennzahlen

Um Ausgabewerte als Zeit- oder Int-Werte zu behandeln, sind einige Änderungen erforderlich, aber der bereitgestellte Code sollte selbsterklärend sein.

Für das Beispiel haben wir auch die Gesamtlaufzeit jedes erfolgreichen Jobs hinzugefügt, falls ein Vergleich „mit der manuellen Ausführung eines oder mehrerer Jobs“ erforderlich ist.

Mögliche Verbesserungen und zukünftige Änderungen

  • Fehlerbehandlung: Dem Notebook fehlt derzeit eine ausführliche Fehlerbehandlung, die es robuster machen würde.
  • Paginierung: Derzeit ruft das Skript bis zu 1.000 Ausführungsdatensätze ab. Durch die Implementierung der Paginierung könnte es größere Datensätze verarbeiten.
  • Datenvisualisierung: Die Einbindung grafischer Darstellungen der Daten würde umsetzbarere Erkenntnisse liefern.
  • Ändern Sie die Ausführung, um mehrere Jobs auszuführen und auf einer externen BI-Plattform zu speichern.

Fazit und nächste Schritte

1. Dieses Jupyter-Notebook dient als leistungsstarkes Tool zum Erfassen von ROI-Kennzahlen und Auswerten Ihrer automatisierten Prozesse. Es funktioniert so wie es ist, und mit ein paar Verbesserungen kann dieses Notebook zu einem unverzichtbaren Bestandteil Ihres Automatisierungs-Werkzeugkastens werden.

2. Durch die weitere Integration von Jupyter-Notebooks und Snowflake können erweiterte ROI-Kennzahlen erfasst und eine Dashboard-Darstellung der Ergebnisse erstellt werden. Jupyter Notebook wird für interaktives Computing mit Python verwendet.

3. Snowflake kann verwendet werden, um diese ROI-Schnappschüsse zu erfassen und Werte über mehrere Umgebungen hinweg zusammenzufassen sowie ROI-Daten über längere Zeiträume hinweg anzuzeigen. Die erforderlichen Schritte, um Abfragen mit Python über Jupyter Notebook durchzuführen und mit Snowflake zu arbeiten:

  • Sobald dies erledigt ist, können Sie mit Python über Jupyter Notebooks Tabellen erstellen, Daten laden und Abfragen durchführen.

4. Jetzt haben Sie Zugriff auf diese Daten. Sie können sie verwenden, um der Geschäftsleitung den Wert der Automatisierung zu beweisen, Ihren Automatisierungsbenutzern eine tägliche Zusammenfassung bereitzustellen oder sie in einer Managed-Service-Umgebung als Teil des Werts aufzuzeigen, den Sie Ihren Kunden zurückgeben.

Unsere Serviceteams können Ihnen auch bei spezifischen Datenaufgaben und Anpassungen helfen.

Was kommt als nächstes?

PagerDuty Automation wird unsere ROI-Erfassungsfunktionen in unserer Automatisierungsplattform weiter ausbauen. Ziel ist es, die verschiedenen Möglichkeiten aufzuzeigen, mit denen Automatisierung Effizienz, Risikominderung, Kosteneinsparungen und andere Aspekte ermöglicht, bei denen Automatisierung Mehrwert schafft. Wir werden diesen Blog auf dem Laufenden halten, sobald diese Funktionen eingeführt werden.

Eine wirkungsvolle Möglichkeit, die Auswirkungen der Automatisierung zu demonstrieren und sie in den Vordergrund der digitalen Transformation im gesamten Unternehmen zu rücken, besteht darin, ROI-Daten und Dashboards an das Management zu übermitteln, damit dieses den Mehrwert der Automatisierung verstehen und erkennen kann. Daten sprechen für sich selbst und PagerDuty erleichtert es, bei jeder Automatisierungsausführung relevante Daten in der Automatisierungsplattform zu erfassen.

Viel Spaß!