OPS07-BP03 Utiliser des runbooks pour effectuer des procédures
A runbook est un processus documenté pour atteindre un résultat spécifique. Les runbooks consistent en une série d'étapes permettant à la personne qui les suit d'obtenir des résultats concrets. L'utilisation des runbooks dans les opérations remonte aux débuts de l'aviation. Dans les opérations de cloud, nous utilisons des runbooks pour réduire les risques et obtenir les résultats souhaités. Dans sa forme la plus simple, un runbook est une liste de contrôle pour exécuter une tâche.
Les runbooks représentent une part essentielle du fonctionnement de votre charge de travail. De l'intégration d'un nouveau membre de l'équipe au déploiement d'une version majeure, les runbooks sont des processus codifiés qui fournissent des résultats cohérents quelle que soit la personne qui les utilise. Les runbooks doivent être publiés dans un emplacement central et mis à jour à mesure que le processus évolue, car la mise à jour des runbooks est un composant essentiel du processus de gestion des changements. Ils doivent également inclure des conseils sur la gestion des erreurs, les outils, les autorisations, les exceptions et les remontées en cas de problème.
À mesure que votre entreprise évolue, commencez à automatiser les runbooks. Prenez tout d'abord les runbooks courts et fréquemment utilisés. Utilisez des langages de scripts pour automatiser les étapes ou les rendre plus faciles. À mesure que vous automatiserez les premiers runbooks, vous consacrerez du temps à l'automatisation de runbooks plus complexes. Au fil du temps, la plupart de vos runbooks seront automatisés d'une certaine façon.
Résultat souhaité : Votre équipe dispose de plusieurs guides détaillés pour exécuter des tâches de charge de travail. Les runbooks contiennent le résultat souhaité, les outils et autorisations nécessaires, ainsi que les instructions pour gérer les erreurs. Ils sont stockés dans un emplacement central et mis à jour fréquemment.
Anti-modèles courants :
-
Utilisation de la mémoire pour exécuter chaque étape d'un processus.
-
Déploiement manuel des changements sans liste de contrôle.
-
Différents membres de l'équipe exécutant le même processus, mais avec des étapes ou résultats différents.
-
Désynchronisation des runbooks avec les changements du système et l'automatisation.
Avantages liés au respect de cette bonne pratique :
-
Réduction du taux d'erreur pour les tâches manuelles.
-
Exécution cohérente des opérations.
-
Exécution des tâches plus tôt par les nouveaux membres de l'équipe.
-
Automatisation des runbooks pour diminuer la quantité de travail.
Niveau de risque exposé si cette bonne pratique n'est pas respectée : Moyen
Directives d'implémentation
Les runbooks peuvent prendre plusieurs formes selon le niveau de maturité de votre entreprise. Au minimum, ils doivent consister en un document texte détaillé. Le résultat souhaité doit être clairement indiqué. Ils documentent explicitement les autorisations spéciales ou outils nécessaires. Ils fournissent des conseils sur la gestion des erreurs et les remontées en cas de problème. Recherchez le propriétaire du runbook et publiez-le dans un emplacement central. Une fois votre runbook documenté, validez-le en demandant à un membre de votre équipe de l'exécuter. À mesure que les procédures évoluent, mettez à jour vos runbooks conformément à votre processus de gestion des changements.
Vos runbooks texte doivent être automatisés à mesure que votre entreprise évolue. Grâce à des services tels que les automatisations AWS Systems Manager, vous pouvez transformer un fichier texte en automatisations pouvant être exécutées sur votre charge de travail. Ces automatisations peuvent être exécutées en réponse aux événements, tout en réduisant la charge opérationnelle pour maintenir votre charge de travail.
Exemple client
AnyCompany Retail doit mettre à jour des schémas de bases de données lors de déploiements logiciels. L'équipe en charge des opérations de cloud en collaboration avec l'équipe responsable de l'administration des bases de données ont créé un runbook, pour déployer manuellement ces changements. Le runbook répertoriait chacune des étapes du processus sous forme de liste de contrôle. Il comprenait une section sur la gestion des erreurs en cas de problème. Les équipes ont publié le runbook sur leur wiki interne contenant leurs autres runbooks. L'équipe en charge des opérations de cloud envisage d'automatiser le runbook dans un prochain sprint.
Étapes d'implémentation
Si vous ne disposez pas d'un référentiel de documents, un référentiel de contrôle de version est un emplacement idéal pour commencer à créer votre bibliothèque de runbooks. Vous pouvez créer vos runbooks en utilisant le format Markdown. Voici un exemple de modèle de runbook que vous pouvez utiliser pour commencer à créer vos runbooks.
# Runbook Title ## Runbook Info | Runbook ID | Description | Tools Used | Special Permissions | Runbook Author | Last Updated | Escalation POC | |-------|-------|-------|-------|-------|-------|-------| | RUN001 | What is this runbook for? What is the desired outcome? | Tools | Permissions | Your Name | 2022-09-21 | Escalation Name | ## Steps 1. Step one 2. Step two
-
Si vous ne possédez pas de référentiel de documentation ou de wiki existant, créer un référentiel de contrôle de version dans votre système de contrôle de version.
-
Identifier un processus ne possédant pas de runbook. Le processus idéal doit être réalisé de manière semi-régulière, contenir peu d'étapes et avoir des échecs à faible impact.
-
Dans votre référentiel de documents, créer un brouillon au format Markdown en utilisant le modèle. Remplissez le champ
Runbook Title
et les champs obligatoires sousRunbook Info
. -
En commençant par la première, remplir la partie
Étapes
du runbook. -
Donner le runbook à un membre de l'équipe. Demandez-lui d'utiliser le runbook pour valider les étapes. En cas d'élément manquant ou de besoin de clarification, mettez à jour le runbook.
-
Publier le runbook sur votre référentiel de documentation interne. Une fois publié, partagez l'information avec votre équipe et les autres parties prenantes.
-
Au fil du temps, vous créerez une bibliothèque de runbooks. À mesure que cette bibliothèque s'étoffe, commencez à travailler sur l'automatisation des runbooks.
Niveau d'effort du plan d'implémentation : faible. La norme minimum pour un runbook est un guide texte détaillé. L'automatisation des runbooks peut augmenter l'effort d'implémentation.
Ressources
Bonnes pratiques associées :
-
OPS02-BP02 Les processus et procédures ont des propriétaires identifiés : les runbooks doivent avoir un propriétaire chargé d'en assurer la maintenance.
-
OPS07-BP04 Utiliser des playbooks pour analyser les problèmes : les runbooks et les playbooks sont identiques à une différence près : un runbook a un résultat souhaité. Dans de nombreux cas, les runbooks sont déclenchés suite à l'identification d'une cause profonde par un playbook.
-
OPS10-BP01 Utiliser un processus pour la gestion des événements, des incidents et des problèmes : les runbooks sont une part essentielle de la pratique de la gestion d'un bon déroulement, d'un incident et d'un problème
-
OPS10-BP02 Disposer d'un processus par alerte : les runbooks et les playbooks doivent être utilisés pour répondre aux alertes. Avec le temps, ces réactions doivent être automatisées.
-
OPS11-BP04 Gérer les connaissances : la maintenance des runbooks représente une part essentielle de la gestion des connaissances.
Documents connexes :
Vidéos connexes :
Exemples connexes :
-
AWS Systems Manager : procédure étape par étape pour l'automatisation
-
AWS Systems Manager : restaurer un volume racine à partir du dernier runbook d'instantanés
-
Créer un runbook de réponse d'incident AWS à l'aide des blocs-notes Jupyter et CloudTrail Lake
-
Rubix – Une bibliothèque Python pour créer des runbooks dans les blocs-notes Jupyter
-
Utilisation d'un créateur de documents pour créer un runbook personnalisé
-
Ateliers Well-Architected : automatisation des opérations avec les playbooks et les runbooks
Services associés :