Automatisez rapidement et gagnez : 11 tâches d'automatisation pilotées par événements pour les équipes DevOps d'entreprise
L'automatisation pilotée par les événements est une approche puissante de la gestion des environnements informatiques d'entreprise, permettant aux systèmes de réagir automatiquement aux événements de l'entreprise (observabilité / surveillance / sécurité / social / machine) et de réduire ou de supprimer le besoin d'intervention manuelle.
Cet article présente 11 tâches d’automatisation courantes qui sont idéales pour les équipes DevOps d’entreprise qui cherchent à améliorer l’efficacité opérationnelle, à réduire les temps d’arrêt et à assurer la continuité des activités.
Vous ne savez pas par où commencer ? Ces exemples couvrent divers scénarios, de l'application de correctifs de sécurité à l'optimisation des ressources, et sont accompagnés d'exemples de code réels pour vous aider à démarrer.
Tâches d'automatisation
1. Actions des pods Kubernetes
Description: Bien que l'état souhaité soit généralement bien maintenu dans les environnements Kubernetes, il peut parfois être nécessaire de redémarrer les pods pour actualiser l'état de l'application ou appliquer de nouvelles configurations. Cette tâche d'automatisation redémarre les pods afin de garantir leur connexion à l'environnement le plus récent. Des garde-fous peuvent être facilement ajoutés pour éviter toute surdimensionnement accidentel.
Déclenchement: Incident/Événement
Plugin/Technologie : Plugin Kubernetes

Avantage: Empêche les pannes d'application et la dégradation des performances en automatisant la gestion de l'espace disque, en améliorant la stabilité du système et en réduisant les coûts d'intervention manuelle.
Explication: Ce plugin redémarre les pods Kubernetes pour un déploiement spécifique dans un espace de noms donné, garantissant ainsi l'exécution de l'application avec les configurations ou correctifs les plus récents. Des données telles que le nom ou l'espace de noms du déploiement peuvent être transmises dynamiquement depuis l'événement déclencheur, et Runbook Automation inclut une sélection de plugins pour simplifier ce processus.
Cela peut facilement être étendu à n'importe quelle activité au sein de l'écosystème Kubernetes, et 23 plugins sont disponibles pour des tâches telles que la maintenance des PV, le déploiement de services, la récupération de journaux ou l'exécution de tâches internes.
Avantage: Assure la disponibilité et la fiabilité des applications en maintenant les pods en fonctionnement avec les dernières configurations et correctifs, réduisant ainsi les temps d'arrêt dus aux erreurs de configuration.
—
2. Optimiser les ressources du disque
Description: Le manque d'espace disque peut entraîner des plantages d'applications, une dégradation des performances et une instabilité du système. La surveillance et le nettoyage manuels de l'espace disque peuvent être chronophages et source d'erreurs. Le nettoyage automatique du disque garantit la stabilité du système en supprimant les fichiers inutiles.
Déclenchement: Incident/Événement/Initié par l'homme
Plugin/Technologie : Script en ligne Bash

Explication: Ce script vérifie l'utilisation du disque de la partition racine et lance des actions de nettoyage telles que la suppression des anciens fichiers journaux et l'effacement des caches de packages lorsque l'utilisation du disque dépasse 80 %.
—
3. Déploiement des correctifs
Description: Les vulnérabilités des systèmes Linux doivent être corrigées rapidement pour éviter toute exploitation. Cette tâche d'automatisation applique automatiquement les correctifs de sécurité dès qu'une vulnérabilité est détectée.
Déclenchement: Programmé/piloté par un événement/initié par l'homme
Plugin/Technologie : Ansible en ligne

Explication: Ce manuel met à jour tous les paquets des systèmes Linux. Il peut être déclenché lorsqu'une vulnérabilité est détectée ou programmé pour s'exécuter périodiquement.
Avantage : Améliore la posture de sécurité en appliquant rapidement les correctifs de sécurité, en minimisant les fenêtres de vulnérabilité et en protégeant contre les exploits potentiels.
—
4. Mise à l'échelle de Kubernetes
Description: Dans les environnements Kubernetes, l'augmentation ou la réduction d'un déploiement peut être cruciale pour gérer efficacement la charge de travail, notamment lors des pics d'utilisation ou des baisses d'utilisation des ressources. Cette tâche d'automatisation permet d'adapter un déploiement à la demande actuelle avec un nombre maximal d'instances défini afin de garantir une utilisation optimale des ressources.
Déclenchement: Piloté par l'humain/piloté par les événements
Plugin/Technologie : Plugin Kubernetes

Explication: Ce script vérifie le nombre actuel de répliques d'un déploiement et l'augmente jusqu'au nombre maximal défini si davantage de ressources sont nécessaires ou le réduit pendant les périodes de faible demande.
Avantage: Optimise l'utilisation des ressources en adaptant dynamiquement les déploiements en fonction de la demande, réduisant ainsi les coûts d'infrastructure tout en maintenant les performances pendant les heures de pointe.
—
5. Réponse aux incidents de sécurité
Description: Les incidents de sécurité tels que les tentatives d'accès non autorisées nécessitent une action immédiate. Automatisez la réponse aux incidents détectés pour améliorer votre sécurité. Il existe des outils SIEM dédiés à ces fins, mais Runbook Automation peut être utilisé pour améliorer le processus de blocage ou de quarantaine.
Déclenchement: Incident/Événement
Plugin/Technologie : Appel Lambda

Explication: Cette fonction Lambda prend une adresse IP malveillante en entrée et ajoute une règle de groupe de sécurité pour bloquer l'adresse IP.
Avantage: Améliore les temps de réponse en matière de sécurité en automatisant la gestion des incidents, en réduisant le risque de violations et en limitant les dommages potentiels causés par des activités malveillantes.
—
6. Maintenance de la base de données
Description: Pour préserver l'intégrité de la base de données, PostgreSQL nécessite un nettoyage régulier pour éliminer les données inutiles et libérer de l'espace. Cela permet de maintenir des performances optimales.
Déclenchement: Initié par l'homme/piloté par un événement/programmé
Plugin/Technologie : Plugin SQL Run Step

Explication: Ce script effectue une opération de vide sur une base de données PostgreSQL pour optimiser les performances en récupérant du stockage et en nettoyant les données inutiles.
Avantage: Assure des performances et une longévité optimales de la base de données en automatisant les tâches de maintenance de routine, en réduisant les efforts manuels et en prévenant les problèmes de performances.
—
7. Remédiation de la dérive IAC avec Terraform
Description: Les environnements cloud natifs nécessitent une configuration cohérente pour garantir leur stabilité. Cette tâche d'automatisation permet d'appliquer des mesures correctives lorsque la configuration s'écarte de l'état souhaité.
Déclenchement: Axé sur les incidents/événements
Plugin/Technologie : Terraform

Explication: Ce script Terraform définit une instance AWS EC2. Toute dérive de cette configuration peut être corrigée en réappliquant le plan Terraform.
Avantage: Maintient la cohérence de l'infrastructure cloud, minimisant ainsi le risque de dérive de configuration, qui peut entraîner des pannes inattendues ou des vulnérabilités de sécurité.
—
8. Sauvegarde et récupération automatisées
Description: Des sauvegardes régulières sont essentielles à la continuité des activités. Les sauvegardes automatisées garantissent la récupération permanente des données.
Déclenchement: Programmé
Plugin/Technologie : Étape de commande

Explication: Ce script crée un instantané quotidien d'une instance RDS, garantissant ainsi la récupération des données en cas de besoin. Les identifiants peuvent utiliser IAM ou être transmis de manière sécurisée depuis un magasin de clés.
Il réduit le risque de perte de données en garantissant des sauvegardes régulières, en améliorant les capacités de reprise après sinistre et en minimisant les perturbations potentielles de l’activité.
Avantage: Réduit les coûts du cloud en arrêtant automatiquement les ressources inutilisées, garantissant ainsi que les dépenses inutiles sont minimisées et que l'utilisation des ressources est optimisée.
—
9. Optimisation des ressources et gestion des coûts
Description: Des ressources inefficaces entraînent des coûts inutiles. L'optimisation automatisée permet de réduire les coûts.
Déclenchement: Programmé/piloté par un événement/initié par l'homme
Plugin/Technologie : script Python

Explication: Ce code Python arrête les instances EC2 qui fonctionnent depuis plus de 24 heures et sont marquées pour un arrêt automatique, optimisant ainsi l'utilisation des ressources.
Avantage: Assure une communication ininterrompue et sécurisée et empêche les interruptions de service dues à des certificats SSL expirés, préservant ainsi la confiance des clients et la fiabilité du service.
—
10. Vérifiez l'expiration du certificat SSL
Description: La mise à jour des certificats SSL est essentielle pour garantir la sécurité des communications entre les utilisateurs et les services. Cette tâche d'automatisation vérifie la date d'expiration d'un certificat SSL pour une URL donnée et génère un avertissement si son expiration approche dans un délai défini.
Déclenchement: Programmé/piloté par un événement/initié par l'homme
Plugin/Technologie : Plugin de script Bash

Explication: Ce script vérifie la date d'expiration du certificat SSL pour une URL donnée. Si le certificat expire avant la date d'expiration configurée, un message d'avertissement s'affiche.
—
11. Correction du redémarrage de Windows Server
Description: Le redémarrage d'un serveur Windows peut être nécessaire pour appliquer des correctifs, résoudre des problèmes de performances ou implémenter des modifications de configuration. Cette tâche d'automatisation utilise PowerShell pour redémarrer un serveur Windows à distance, en fonction des événements.
Déclenchement: Axé sur les incidents/événements
Plugin/Technologie : script Powershell

Explication: Ce script PowerShell redémarre à distance un serveur Windows spécifié par $ServerName . Le -Forcer Le drapeau garantit que le redémarrage se poursuit même si les utilisateurs sont connectés, et -Attendez permet de surveiller le processus de redémarrage avec un timeout de 300 secondes.
Avantage: Améliore la disponibilité du système en automatisant les redémarrages du serveur pour les correctifs ou les améliorations des performances, minimisant ainsi les temps d'arrêt et les efforts de maintenance manuelle.
—
Conclusion
L'automatisation pilotée par les événements transforme la gestion des environnements informatiques des organisations, permettant une correction proactive et efficace. Grâce à ces tâches d'automatisation, les entreprises peuvent améliorer leur résilience opérationnelle, leur sécurité et leur rentabilité, permettant ainsi aux équipes de se concentrer davantage sur les initiatives stratégiques.
PagerDuty Runbook Automation aide les organisations à standardiser une approche commune pour l'automatisation des états existants et futurs sur les plates-formes cloud/hybrides et auto-hébergées, avec des plugins pour les architectures contemporaines et traditionnelles.
Bibliothèque de contenu d'automatisation
Pour faciliter la tâche de ceux qui débutent, une bibliothèque de contenu d'automatisation est lancée à https://www.pagerduty.com/use-case-library/ .
La bibliothèque permet plusieurs approches de normalisation de l'automatisation, notamment :
- Apportez votre propre code
- Construire à partir du contenu existant
- Automatisez la création de tâches GenAI dans Runbook Automation
À propos de l'auteur
Justyn est membre de l'équipe de conseil en solutions chez PagerDuty. Passionné par l'automatisation et l'infrastructure en tant que code, Justyn aide les clients de PagerDuty à rationaliser leurs opérations et à adopter les technologies modernes pour gagner en évolutivité et en efficacité, et à éliminer les tâches à faible valeur ajoutée.