Aller au contenu
Culture DevOps high
🚧 Section en cours de réécriture — Le contenu est en cours de restructuration et peut évoluer.

Anti-patterns DevOps : les pièges à éviter

14 min de lecture

L’adoption du DevOps est semée d’embûches. Beaucoup d’organisations tombent dans les mêmes pièges, transformant une initiative prometteuse en échec coûteux. Ce guide recense les anti-patterns les plus courants et comment les éviter.

Les anti-patterns DevOps les plus courants et comment les éviter

1. Le “DevOps Engineer” comme solution magique

Section intitulée « 1. Le “DevOps Engineer” comme solution magique »

“On a besoin de DevOps. Recrutons un DevOps Engineer !”

L’organisation pense qu’en recrutant une personne avec “DevOps” dans son titre, elle va magiquement devenir DevOps.

Le DevOps est une culture, pas un poste. Créer un rôle “DevOps Engineer” isolé recrée souvent… un nouveau silo.

Ce qui se passe en réalité :

  • Le “DevOps Engineer” devient un intermédiaire entre Dev et Ops
  • Les développeurs continuent à “jeter le code par-dessus le mur”
  • Maintenant il y a trois silos au lieu de deux
  • La personne est surchargée, point unique de défaillance

Intégrer les compétences DevOps dans les équipes existantes plutôt que créer un rôle à part.

┌─────────┐ ┌─────────────────┐ ┌─────────┐
│ Dev │ ──► │ DevOps Engineer │ ──► │ Ops │
│ Team │ │ (nouveau silo)│ │ Team │
└─────────┘ └─────────────────┘ └─────────┘

Si vous avez des “DevOps Engineers”, assurez-vous qu’ils travaillent avec les équipes, pas pour elles. Leur rôle devrait être de :

  • Former et accompagner les équipes
  • Construire des outils partagés (Platform Engineering)
  • Diffuser les bonnes pratiques
  • Se rendre progressivement inutiles en rendant les équipes autonomes

“On a acheté Kubernetes, Jenkins, Terraform et Datadog. On est DevOps maintenant !”

L’organisation investit massivement dans les outils, pensant que la technologie résoudra tout.

Les outils sans changement culturel ne résolvent rien.

Vous pouvez avoir :

  • Une CI/CD parfaite
  • Kubernetes en production
  • Des dashboards impressionnants

Et toujours avoir :

  • Des silos entre équipes
  • Une culture du blâme
  • Des déploiements stressants
  • Des incidents répétés sans amélioration

Commencer par la culture, les outils suivront naturellement.

Ordre incorrectOrdre correct
1. Acheter des outils1. Identifier les problèmes culturels
2. Espérer que ça change les comportements2. Travailler sur la collaboration
3. S’étonner que rien ne change3. Choisir les outils qui supportent la culture
4. Acheter plus d’outils4. Itérer et améliorer continuellement

Questions à se poser avant d’acheter un outil :

  • Quel problème humain/culturel cet outil résout-il ?
  • Les équipes sont-elles prêtes à l’utiliser ?
  • Qui va le maintenir ?
  • Comment mesure-t-on son succès ?

Créer des pipelines complexes par copier-coller de Stack Overflow, de ChatGPT ou de tutoriels.

“Ça marche, je ne sais pas trop comment, mais ça marche.”

Quand le pipeline casse (et il cassera), personne ne sait le réparer.

Conséquences :

  • Temps de résolution très long lors d’incidents
  • Peur de toucher au pipeline (“on ne sait pas ce que ça fait”)
  • Accumulation de dette technique invisible
  • Dépendance à des personnes spécifiques (“seul Jean sait comment ça marche”)
  • Comprendre chaque ligne de configuration
  • Documenter le pourquoi, pas seulement le comment
  • Simplifier : si personne ne comprend, c’est trop complexe
  • Former plusieurs personnes sur chaque partie
  • Refactorer régulièrement pour garder la compréhension

Règle pratique : Si vous ne pouvez pas expliquer votre pipeline à un nouveau membre de l’équipe en 30 minutes, il est trop complexe.

Des dashboards partout, des métriques impressionnantes, mais aucune action.

“Notre lead time est de 3 semaines.” “Et qu’est-ce qu’on fait pour le réduire ?” ”… On le mesure.”

Les métriques ne sont pas une fin en soi. Mesurer sans agir, c’est du théâtre de la performance.

Symptômes :

  • Dashboards que personne ne regarde après la première semaine
  • Réunions de “revue des métriques” sans décisions
  • Métriques choisies parce qu’elles sont faciles à collecter
  • “Vanity metrics” flatteuses mais inutiles

Pour chaque métrique, définir :

  1. L’objectif : Quelle est la cible ?
  2. Le seuil d’alerte : À partir de quand agit-on ?
  3. L’action : Que fait-on si le seuil est dépassé ?
  4. Le responsable : Qui décide ?
MétriqueObjectifSeuilActionResponsable
Lead time< 1 jour> 3 joursAnalyse des blocagesTech Lead
Deployment frequency1/jour< 1/semaineReview du pipelineÉquipe
Change failure rate< 15%> 30%Renforcer les testsQA Lead
MTTR< 1h> 4hPost-mortem obligatoireSRE

“Qui a fait cette erreur ?” après chaque incident.

L’organisation cherche un coupable plutôt que de comprendre le système.

  • Les gens cachent leurs erreurs par peur des conséquences
  • Les vrais problèmes systémiques ne sont jamais adressés
  • L’innovation est tuée : qui prend des risques si l’échec est puni ?
  • Les mêmes erreurs se répètent : on punit l’individu, pas le système

Post-mortems sans blâme (blameless post-mortems).

Culture du blâmeCulture d’apprentissage
”Qui a fait ça ?""Comment le système a-t-il permis ça ?”
Chercher un coupableChercher les causes systémiques
Punir l’erreurCorriger le processus
Cacher les problèmesSignaler rapidement
Éviter les risquesExpérimenter avec des garde-fous

Structure d’un post-mortem sans blâme :

  1. Timeline : Que s’est-il passé ? (faits, pas jugements)
  2. Impact : Quelles ont été les conséquences ?
  3. Causes : Pourquoi c’est arrivé ? (technique, processus, communication)
  4. Actions : Comment éviter que ça se reproduise ?
  5. Suivi : Qui fait quoi, pour quand ?

“On va tout transformer en 6 mois. Nouvelle CI/CD, Kubernetes, microservices, tout !”

L’organisation veut tout changer d’un coup.

  • Trop de changements = trop de risques
  • Courbe d’apprentissage insurmontable
  • Pas de feedback rapide sur ce qui marche
  • Échec global si une partie échoue
  • Résistance au changement maximale

Transformation incrémentale avec des quick wins.

Mois 1-6 : Tout transformer
Échec global

Stratégie recommandée :

  1. Choisir un projet pilote à faible risque
  2. Implémenter une amélioration à la fois
  3. Mesurer le résultat avant de continuer
  4. Documenter les apprentissages
  5. Étendre progressivement aux autres projets

“On fera du refactoring plus tard. Pour l’instant, livrons les features.”

La dette technique s’accumule jusqu’à devenir insurmontable.

La dette technique :

  • Ralentit chaque nouvelle fonctionnalité
  • Fragilise le système (plus de bugs)
  • Frustre les développeurs (code difficile à modifier)
  • Augmente le risque d’incidents
  • Est exponentiellement plus chère à rembourser plus tard

Intégrer le remboursement de dette dans le travail quotidien.

ApprocheProblèmeAlternative
”Sprint de dette”Jamais prioriséAllouer 20% du temps en continu
”On verra après”AccumulationRègle du Boy Scout : laisser le code plus propre
”Pas le temps”Ralentissement progressifMesurer le coût de la dette

Renommer l’équipe Ops en “équipe DevOps” sans changer les interactions.

“On a fusionné Dev et Ops… en créant une équipe DevOps séparée.”

Le silo existe toujours, il a juste un nouveau nom.

Signes d’un silo déguisé :

  • L’équipe “DevOps” reçoit des tickets des développeurs
  • Les développeurs ne voient jamais la production
  • “Ce n’est pas mon job” reste courant
  • Les objectifs des équipes restent contradictoires
Silo déguiséDevOps réel
Équipe “DevOps” séparéeCompétences intégrées dans chaque équipe
Tickets entre équipesCollaboration directe
Responsabilités séparéesResponsabilité partagée
Objectifs contradictoiresObjectifs alignés (valeur client)

Répondez honnêtement à ces questions :

QuestionOui = Warning
Avez-vous une “équipe DevOps” séparée ?⚠️ Anti-pattern #1
Les outils ont-ils été choisis avant de définir les problèmes ?⚠️ Anti-pattern #2
Y a-t-il du code/config que personne ne comprend ?⚠️ Anti-pattern #3
Avez-vous des dashboards que personne ne regarde ?⚠️ Anti-pattern #4
Cherche-t-on un coupable après les incidents ?⚠️ Anti-pattern #5
Prévoyez-vous une transformation “Big Bang” ?⚠️ Anti-pattern #6
La dette technique est-elle ignorée ?⚠️ Anti-pattern #7
Les équipes se passent-elles des tickets ?⚠️ Anti-pattern #8

Score :

  • 0-2 : Bonne voie
  • 3-5 : Attention requise
  • 6+ : Transformation à revoir
  1. DevOps est une culture, pas un poste : Recruter un “DevOps Engineer” ne rend pas DevOps

  2. Les outils suivent la culture : Pas l’inverse

  3. Comprendre avant d’automatiser : Le copier-coller crée de la dette invisible

  4. Mesurer pour agir : Une métrique sans action est inutile

  5. Pas de blâme : Les erreurs sont des opportunités d’apprentissage système

  6. Progressif plutôt que Big Bang : Petites améliorations, feedback rapide

  7. La dette technique est une dette réelle : Elle doit être remboursée

  8. Les silos se cachent : Attention aux renommages cosmétiques

Voilà les bases du DevSecOps sont posés. Vous pouvez passer au module suivant.