Blog

Libérez la valeur de vos mesures de valeur d'automatisation de Runbook avec Snowflake, Jupyter Notebooks et Python

par Justin Roberts 5 janvier 2024 | 8 min de lecture

Ce blog a été co-écrit par Sebastian Joseph, consultant senior en solutions, PagerDuty, et Gabriel Ismael Felipe, ingénieur en automatisation

L’automatisation est devenue un élément essentiel des pratiques commerciales des organisations modernes. Souvent, lorsque les gens entendent parler d’« automatisation », ils pensent qu’il s’agit d’un moyen de supprimer l’aspect manuel du travail et d’accélérer le processus. Cependant, ce qui manque à l’attention, c’est la valeur et le retour sur investissement que l’automatisation peut apporter à une organisation, à une équipe ou même à un processus spécifique.

Comprendre la valeur dérivée des tâches automatisées et le retour sur investissement (ROI) de ces processus automatisés est une mesure essentielle pour la réalisation de la valeur, que ce soit en termes de temps gagné, d'erreurs évitées, d'atténuation des risques, de nombre d'exécutions, etc.

Avec PagerDuty Operations Cloud, les équipes sont habilitées à créer, centraliser et exécuter l'automatisation à volonté, sans avoir à changer de contexte ou à apporter des modifications drastiques à leur ensemble d'outils, en grande partie grâce à notre vaste gamme de 700+ outils. écosystème d'intégration Dans ce blog, nous allons nous concentrer sur deux intégrations clés, Flocon de neige et Carnets Jupyter . Alors, comment pouvez-vous collecter des informations sur le retour sur investissement liées à l'automatisation dans Pagerduty Process Automation et créer des rapports qui capturent cette valeur ? Entrons dans le vif du sujet.

Le paradoxe de la spirale de l'automatisation

Les équipes technologiques qui construisent et innovent au quotidien se retrouvent souvent coincées dans la « spirale mortelle » de l’automatisation des opérations et des processus. La conversation se déroule généralement comme suit :

  • « Nous sommes trop occupés pour automatiser. »
  • « Pourquoi sommes-nous trop occupés pour automatiser ? »
  • « Nous avons toutes ces tâches ! »
  • « Pourquoi ne pas automatiser ces tâches ? »
  • « Nous sommes trop occupés pour prendre le temps d'automatiser ces tâches ! »

En montrant la valeur continue de l’automatisation à l’équipe élargie, nous pouvons briser ce cycle et montrer que nous ne pouvons pas nous le permettre. pas pour automatiser ce travail.

Dans ce blog, nous allons plonger dans deux différentes manières de procéder :

  1. Une intégration API de Pagerduty Automation et Snowflake – comment utiliser une intégration basée sur API de Pagerduty Automation et Snowflake pour capturer les données de retour sur investissement pour chaque exécution de tâche et créer un tableau de bord avec ces données dans Snowflake pour présenter la valeur du retour sur investissement de l'automatisation
  2. Créez d'autres intégrations ou des rapports personnalisés à l'aide de Jupyter Notebooks

Libérez la valeur de vos indicateurs de valeur d'automatisation de Runbook (ROI) avec Snowflake

Pourquoi Snowflake?

De nombreuses organisations utilisent Snowflake comme lac de données, et l'outil de tableau de bord de Snowflake peut capturer et représenter la valeur de l'automatisation. En utilisant Snowflake et PagerDuty Operations Cloud ensemble, les organisations peuvent améliorer l'efficacité opérationnelle de leurs données, minimiser les temps d'arrêt des données et établir une communication en temps réel avec les parties prenantes pour une gestion efficace des données.

Configuration du FLOCON DE NEIGE :

Commençons d’abord par définir l’intégration de la sécurité dans Snowflake :

Security integration in Snowflake

Nous pouvons ensuite DÉFINIR la table et les CHAMPS de la FEUILLE DE TRAVAIL dans Snowflake. Vous trouverez ci-dessous quelques exemples d'instantanés et d'étapes :

ROI metrics in Snowflake

ROI metrics in Snowflake

Étapes de configuration de l'automatisation des processus PagerDuty :

Étiquetez un travail pour la mesure et les valeurs en temps ou en revenus attachées à votre travail d'automatisation.

Chaque tâche individuelle peut avoir sa ou ses propres mesures. Pour cet exemple, supposons que la tâche permette d'économiser 10 minutes de travail pour un membre de l'équipe DevOps de niveau intermédiaire, ce qui équivaut à 10 $ par exécution.

ROI metrics custom fields

Informations complémentaires détaillées dans le PagerDuty Documentation sur l'automatisation du Runbook.

Étapes détaillées :

Nous utilisons les « mesures du retour sur investissement » brancher disponible dans la définition de tâche pour capturer les données « Heures économisées » lorsqu'une tâche d'automatisation est exécutée. Cela doit être défini manuellement pour la tâche en fonction du temps économisé grâce à l'automatisation.

Dans le Modifier plus du travail dans l'automatisation des processus, cochez la case « Données sur les mesures du retour sur investissement ' drapeau. (Modifier la tâche -> Plugins d'exécution -> Vérifier les données des mesures du retour sur investissement (avec des informations « Heures économisées » valides renseignées, exemple : 1,25 heure).

ROI metrics data // JSON template

Ce qui précède fournira les données de mesure du retour sur investissement suivantes lors de l'exécution du travail :

ROI Metric Data output

Ensuite, publiez les données ROI clé-valeur collectées dans l’étape de travail PA dans une base de données définie dans Snowflake à l’aide d’une méthode HTTP : Post et de l’instruction SQL intégrée.

Résultat lors de la publication dans Snowflake (pour chaque exécution du travail, une ligne sera ajoutée avec la métrique) :

ROI Metric Data output

Mesures de valeur de l'automatisation du runbook (ROI) à l'aide de Jupyter Notebook :

Pourquoi un Jupyter Notebook ?

ROI metrics in Jupityer notebooks

Les Jupyter Notebooks offrent un environnement informatique interactif qui permet aux utilisateurs de combiner du code, du texte Markdown et des sorties visuelles. Cela le rend idéal pour l'analyse de données, le partage d'informations et même la distribution d'outils logiciels. Plongeons-nous dans un script Python conçu pour extraire des mesures de retour sur investissement via l'API Runbook Automation. Nous verrons également comment distribuer cet outil sous forme de Jupyter Notebook avec un fichier .env pour une configuration facile.

L'exemple de code peut être modifié ou étendu pour s'adapter à vos propres environnements, blocs-notes, outils de business intelligence (BI) ou scripts planifiés. L'approche peut également être modifiée selon votre langage préféré.

Avant de commencer:

Les tâches devront être étiquetées pour collecter leurs propres mesures de retour sur investissement ( décrit ici ).

Chaque tâche individuelle peut avoir sa ou ses propres mesures. Pour cet exemple, supposons que la tâche permette d'économiser 10 minutes de travail pour un membre de l'équipe DevOps de niveau intermédiaire, ce qui équivaut à 10 $ par exécution.

ROI metrics custom fields

Informations complémentaires détaillées dans le Documentation sur l'automatisation du dossier d'exécution

Concepts de base

Variables de configuration et d'environnement

Le fichier .env sert de base à la configuration de notre script. En distribuant ce fichier avec le Jupyter Notebook, les utilisateurs peuvent configurer leur environnement en toute sécurité et externaliser les fonctionnalités sensibles comme la clé API requise.

Permettre de référencer les données de configuration dans le notebook :

Vous pouvez facilement modifier le carnet de notes pour le projet, les balises et l'historique (par exemple 1h, 24h, 1j, 14j).

Authentification et récupération des données de travail

L'authentification s'effectue via un jeton porteur, généré dans Runbook Automation et stocké dans le fichier d'environnement pour des raisons de sécurité.

Une fois authentifié, le flux dans le code ressemble à ceci :

  • À l'aide de l'API Runbook Automation, le script récupère une liste de tâches en fonction de balises spécifiques. Cela renvoie une liste d'ID de tâche par balise

  • Pour chaque ID, nous examinons la liste d'exécution du travail et renvoyons une liste d'ID d'exécution.

  • Enfin, nous parcourons les exécutions pour renvoyer les données ROI

Agrégation et analyse des données

Toutes les données que nous collectons sont stockées dans un DataFrame Pandas, ce qui simplifie l'analyse et la création de rapports ultérieurs. En raison de l'itération des données, le traitement de certains ensembles de données plus volumineux peut prendre un certain temps.

Résumer les indicateurs

Certaines modifications sont nécessaires pour traiter les valeurs de sortie comme des valeurs de temps ou d'Int, mais le code fourni devrait être explicite.

Pour l'exemple, nous avons également ajouté le temps d'exécution total de chaque tâche réussie, au cas où une sorte de comparaison serait nécessaire « par rapport à une exécution manuelle d'une ou de plusieurs tâches ».

Améliorations potentielles et modifications futures

  • Gestion des erreurs : pour l'instant, le notebook ne dispose pas d'une gestion approfondie des erreurs, ce qui le rendrait plus robuste.
  • Pagination : actuellement, le script récupère jusqu'à 1 000 enregistrements d'exécution. L'implémentation de la pagination lui permettrait de gérer des ensembles de données plus volumineux.
  • Visualisation des données : l’intégration de représentations graphiques des données fournirait des informations plus exploitables.
  • Modifier pour exécuter plusieurs tâches et stocker sur une plateforme BI externe.

Conclusion et prochaines étapes

1. Ce bloc-notes Jupyter est un outil puissant pour collecter des mesures de retour sur investissement et évaluer vos processus automatisés. Il fonctionne tel quel et, avec quelques améliorations, ce bloc-notes peut servir d'atout indispensable dans votre boîte à outils d'automatisation.

2. Des mesures de retour sur investissement plus avancées peuvent être collectées et une représentation des résultats sous forme de tableau de bord peut être créée à l'aide d'une intégration plus poussée des notebooks Jupyter et Snowflake. Jupyter Notebook est utilisé pour le calcul interactif à l'aide de Python.

3. Snowflake peut être utilisé pour capturer ces instantanés de retour sur investissement et regrouper les valeurs dans plusieurs environnements, ainsi que pour afficher les données de retour sur investissement sur des périodes plus longues. Les étapes requises pour effectuer une requête à l'aide de Python via Jupyter Notebook et travailler avec Snowflake :

  • Une fois cela fait, vous pourrez créer des tables, charger des données et effectuer des requêtes en utilisant Python via Jupyter Notebooks.

4. Maintenant que vous avez accès à ces données, elles peuvent être utilisées comme preuve auprès de la haute direction sur la valeur de l'automatisation, comme résumé quotidien pour vos utilisateurs d'automatisation ou comme partie de la valeur que vous restituez aux clients dans un environnement de service géré.

Nos équipes Services sont également en mesure de vous aider dans toutes tâches spécifiques liées aux données et à la personnalisation.

Et après?

PagerDuty Automation continuera d'augmenter nos capacités de capture du retour sur investissement dans notre plateforme d'automatisation. L'objectif est de mettre en avant les différentes façons dont l'automatisation contribue à l'efficacité, à la réduction des risques, aux économies de coûts et à d'autres aspects pour lesquels l'automatisation apporte de la valeur. Nous tiendrons ce blog à jour au fur et à mesure du déploiement de ces fonctionnalités.

Une manière efficace de mettre en valeur l'impact de l'automatisation et de placer l'automatisation au premier plan de la transformation numérique dans toute l'organisation consiste à diffuser les données de retour sur investissement et les tableaux de bord à la direction afin qu'elle puisse comprendre et réaliser la valeur que l'automatisation apporte. Les données parlent d'elles-mêmes et PagerDuty facilite la capture des données pertinentes dans la plateforme d'automatisation à chaque exécution de l'automatisation.

Amusez-vous!