Fermer

décembre 3, 2024

Approche stratégique de l’automatisation dans DevOps : savoir quand et quoi automatiser

Approche stratégique de l’automatisation dans DevOps : savoir quand et quoi automatiser


L’automatisation est l’épine dorsale de DevOps car cela rationalise notre travail, réduit les tâches répétitives et nous aide à évoluer. Cependant, automatiser chaque tâche sans discernement peut s’avérer plus coûteux que bénéfique.

La clé réside dans la compréhension de ce qu’il faut automatiser et quand ne pas le faire, ainsi que dans la compréhension que parfois, la méthode manuelle est en fait la meilleure. Toutes les tâches ne nécessitent pas d’automatisation, et toutes les automatisations ne génèrent pas un retour sur investissement intéressant.

Des facteurs d’équilibrage tels que la fréquence des tâches, la complexité, la criticité et la réutilisabilité déterminent si l’automatisation en vaut la peine.

Dans cet article, je partage quelques principes directeurs pour décider quand l’automatisation vous donnera le meilleur résultat de vos efforts, ainsi que des exemples concrets pour illustrer le point où l’automatisation ajoute réellement de la valeur et où l’intervention manuelle est plus pratique.

L’équation de valeur de l’automatisation

Imaginez une tâche quotidienne de 10 minutes. Passer une demi-journée, voire deux jours, à l’automatiser peut sembler un gros investissement initial, mais à long terme, cela permet de gagner du temps. Faisons le calcul : 10 minutes économisées chaque jour totalisent 300 minutes par mois, soit environ 36 000 minutes par an. Pas mal, non ?

D’un autre côté, imaginez une tâche complexe et ponctuelle. Investir des jours pour automatiser quelque chose que vous ne ferez qu’une seule fois est un moyen rapide de perdre du temps et des efforts. Tout se résume à comprendre la valeur de l’automatisation par rapport à une tâche spécifique.

Vérification rapide : quand devriez-vous automatiser ?

Voici quelques questions que j’aime me poser avant de décider d’automatiser :

  • Cette tâche est-elle répétitive ? Si c’est quelque chose que je fais fréquemment, l’automatisation sera probablement payante.
  • Peut-il être réutilisé ? Cette automatisation fonctionnera-t-elle sur des tâches ou des environnements similaires ? Si oui, la réutilisabilité ajoute à sa valeur.
  • Est-ce critique et sujet aux erreurs ? Si des erreurs peuvent entraîner de graves problèmes, l’automatisation peut contribuer à maintenir la cohérence des choses.
  • Est-ce que cela fait gagner plus de temps qu’il n’en coûte ? L’automatisation a des coûts d’installation. Le temps que vous gagnerez en fin de compte vaut-il cet investissement initial ?
  • Est-ce simple ou complexe ? Si une tâche présente beaucoup de variabilité ou d’exceptions, l’automatisation peut poser plus de problèmes qu’elle n’en vaut la peine.

L’utilisation de ces questions comme liste de contrôle mentale permet de clarifier sur quoi concentrer nos efforts d’automatisation.

Cas d’utilisation réels

Cas d’utilisation 1 : Quand ne pas automatiser

Scénario

Un client avait besoin de mettre à niveau le moteur sur environ 1 000 instances Amazon RDS, chacune prenant en charge différents microservices. Ces instances ont été construites au fil du temps et avaient des configurations diverses avec des plugins et des paramètres uniques. Bien qu’ils puissent être classés par catégories, la configuration et le test de l’automatisation pour chaque configuration unique prendraient un temps considérable. De plus, il s’agissait d’une mise à niveau ponctuelle – une tâche que nous ne répéterions pas de si tôt.

Décision

Nous avons choisi de faire cette mise à jour manuellement. C’était fastidieux, bien sûr, mais passer des jours (voire des semaines) à créer et à tester une automatisation ponctuelle aurait été exagéré. La tâche était spécifique et peu susceptible d’être répétée, et nous savions que nous pouvions la réaliser plus rapidement sans automatisation.

Clé à retenir

Pour les tâches uniques exigeant beaucoup d’efforts qui ne se reproduiront probablement pas, le mode manuel peut être l’option la plus intelligente, surtout si la tâche est simple et pas trop risquée.

Cas d’utilisation 2 : Quand l’automatisation a du sens

Scénario

Pour un autre client, publiant chaque déploiement déclenché, l’équipe d’assurance qualité avait un processus manuel impliquant des notes de version et une série de tests (tous les précédents + les nouveaux ajoutés pour chaque déploiement). Au fil du temps, ces tests se sont accumulés à mesure que de nouveaux cas étaient ajoutés, créant un goulot d’étranglement qui consommait des heures de l’équipe d’assurance qualité après chaque déploiement. De plus, les contrôles de qualité du code n’étaient effectués qu’après le déploiement, ce qui signifiait que si quelque chose ne semblait pas correct, nous aurions besoin d’un retour en arrière – un retard frustrant avec l’ensemble du processus devant être répété pour toutes les personnes impliquées.

Solution

Automatiser le tout avait du sens ici. Nous avons intégré des contrôles de qualité du code et des cas de test directement dans le pipeline de déploiement. De cette façon, si le code ne passait pas, un ticket s’ouvrirait automatiquement et s’attribuerait au développeur avant même le déploiement. Les tests automatisés ont couvert tous les cas nécessaires, réduisant ainsi les risques de retour en arrière et donnant à l’équipe d’assurance qualité plus de temps pour se concentrer sur de nouveaux défis.

Impact

L’automatisation a permis d’économiser environ 40 heures par mois ou 480 heures par an. En réduisant les tests manuels redondants, nous avons libéré l’équipe d’assurance qualité pour un travail plus créatif et plus impactant, sans parler de la minimisation du risque d’erreurs.

Clé à retenir

Lorsque les tâches sont fréquentes, répétitives et prennent beaucoup de temps, l’automatisation peut être un énorme gain. Cela permet non seulement de gagner du temps, mais également de réduire les erreurs, en particulier dans les environnements à enjeux élevés.

Pensées finales

Considérez l’automatisation comme un outil et non comme une solution à tous les problèmes. Avant de vous lancer dans une tâche, prenez un moment pour vous poser certaines des questions ci-dessus

Si la tâche remplit quelques-unes de ces cases (elle est répétitive, sujette aux erreurs et vaut l’investissement), l’automatisation sera probablement payante. Dans DevOps, une approche équilibrée de l’automatisation nous permet de travailler plus efficacement tout en gardant les choses nouvelles et stimulantes. L’objectif est de réduire le travail répétitif afin que nous puissions nous concentrer sur la résolution de nouveaux problèmes et la recherche de nouvelles solutions. C’est là que se produit le véritable impact.

TO THE NEW aide à atténuer les risques de déploiement et à améliorer la productivité en utilisant notre solide écosystème d’outils open source et sous licence lors de la configuration et de la mise en place. automatisez votre pipeline de livraison continue suite à l’évaluation. Contactez-nous pour automatiser le pipeline de livraison de votre projet dès aujourd’hui !

VOUS TROUVEZ CECI UTILE ? PARTAGEZ-LE






Source link