Ressources

Qu’est-ce que le DevOps ?

D’où sort le mot, ce qu’il veut dire quand on arrête de le vendre, les pratiques qui se cachent derrière, et pourquoi quinze ans plus tard personne ne s’accorde encore sur sa définition.

DevOps, c’est quoi ?

Le DevOps est une façon d’organiser la fabrication et l’exploitation du logiciel qui supprime la frontière entre ceux qui écrivent le code et ceux qui le font tourner, en confiant aux mêmes équipes la vie entière d’un service, de la première ligne écrite jusqu’à l’astreinte de trois heures du matin, avec assez d’automatisation et de mesure pour que livrer souvent finisse par devenir moins risqué que livrer rarement.

Le mot est la contraction de development et operations, il ne désigne ni un logiciel, ni un poste, ni une méthode certifiable, et voilà déjà la moitié des malentendus réglée ; ce qu’il désigne est une hypothèse assez inconfortable pour qu’on préfère souvent l’ignorer poliment, à savoir que la lenteur et l’instabilité de ton système d’information viennent beaucoup moins de l’incompétence des gens que de la manière dont on a découpé leur travail.

Et si le problème est le découpage, alors ajouter des procédures de contrôle entre les silos ne répare rien du tout, ça empile ; c’est très exactement ce qu’on observe dans les organisations où chaque mise en production réclame trois validations, parce qu’elles déploient rarement, donc chaque déploiement est énorme, donc il casse, donc on ajoute une quatrième validation, et parce que personne dans toute la chaîne n’a jamais eu tort individuellement.

D’où vient le DevOps

Le mot DevOps donne aujourd’hui l’impression d’avoir toujours existé, comme s’il désignait naturellement la manière moderne de fabriquer et d’exploiter le logiciel. En réalité, son apparition est récente, presque accidentelle, et profondément liée à une crise organisationnelle devenue visible à la fin des années 2000 : l’incapacité croissante des entreprises à livrer rapidement des changements tout en maintenant la stabilité de leurs systèmes.

Le terme lui-même émerge en 2009, lors des premiers échanges entre praticiens cherchant à rapprocher développement et exploitation. Il est popularisé par Patrick Debois, souvent considéré comme l’un des initiateurs du mouvement, à l’occasion des premières conférences DevOpsDays organisées en Belgique la même année. L’intuition fondatrice est simple mais radicale : les silos entre équipes ne sont pas seulement un problème humain, ils constituent un défaut de conception du système de production logiciel. DevOps naît donc moins comme une méthode que comme une tentative de réparation systémique.

Chronologie

2009
DevOpsDays
Patrick Debois organise la première conférence DevOpsDays à Gand, Belgique. Le terme DevOps est né.
2010
Le modèle CAMS
John Willis et Damon Edwards proposent Culture, Automation, Measurement, Sharing pour nommer les valeurs du mouvement.
2013
The Phoenix Project
Gene Kim, Kevin Behr et George Spafford publient le roman fondateur et formalisent les Three Ways.
2016
The DevOps Handbook
Systématisation des pratiques concrètes d'automatisation, de mesure et de collaboration à grande échelle.
2018
Accelerate
Forsgren, Humble et Kim apportent la validation empirique : les organisations DevOps surperforment.

Les racines intellectuelles

Cette intuition s’inscrit dans une histoire plus longue. Elle prolonge les principes du Lean manufacturing, de la théorie des contraintes et du mouvement Agile, en les appliquant non plus seulement au développement, mais à l’ensemble du flux de valeur jusqu’à la production. Lorsque Gene Kim, Kevin Behr et George Spafford publient The Phoenix Project en 2013, ils donnent à cette transformation un récit fondateur et formalisent les « Three Ways » - flux, feedback, apprentissage continu - comme principes structurants. L’année suivante, The DevOps Handbook systématise ces idées et les relie à des pratiques concrètes d’automatisation, de mesure et de collaboration à grande échelle.

Du Lean au DevOps

Lean
Théorie des contraintes
Agile
DevOps

Les travaux de recherche présentés plus tard dans Accelerate apportent une validation empirique : les organisations qui adoptent ces principes livrent plus fréquemment, échouent moins souvent et restaurent plus vite leurs services, tout en obtenant de meilleures performances économiques. DevOps cesse alors d’être perçu comme une culture alternative pour devenir un modèle opérationnel crédible.

Les Three Ways - les principes structurants

1
Flow
Accélérer le flux du travail de Dev vers Ops vers le client
2
Feedback
Amplifier les boucles de retour d’information
3
Apprentissage continu
Expérimentation, prise de risques et amélioration permanente

Les Three Ways en détail

Ce que le DevOps n’est pas

Comprendre cette origine permet de mieux saisir ce qu’est réellement DevOps. Ce n’est pas un rôle, ni un outil, ni même une simple culture d’équipe. C’est l’évolution historique d’une discipline confrontée à sa propre complexité : comment changer vite sans casser, comment apprendre en continu, comment aligner technologie et organisation.

DevOps n’est pas
  • ✕Un rôle ou un titre de poste
  • ✕Un outil ou une stack technologique
  • ✕Un département
  • ✕Une certification
DevOps est
  • ▸Une réparation systémique
  • ▸Un alignement technologie / organisation
  • ▸Un modèle opérationnel
  • ▸Une discipline d’apprentissage continu

Et c’est peut-être pour cela que le mot reste difficile à définir. DevOps n’est pas né d’une théorie abstraite, mais d’un problème concret. Comme souvent en ingénierie, le terme importe finalement moins que la contrainte qu’il cherche à résoudre : rendre le changement sûr dans des systèmes qui ne cessent d’évoluer.

Les pratiques concrètes

Aucune de ces pratiques ne définit le DevOps à elle seule, et tu peux d’ailleurs toutes les appliquer sans rien changer à ton organisation, ce qui arrive bien plus souvent qu’on ne l’admet en conférence ; ce qui les relie, c’est qu’elles réduisent la taille de ce que tu livres d’un coup et raccourcissent le délai entre une décision et le moment où tu vois enfin ce qu’elle a produit.

Intégration continue

Chaque modification part sur une branche courte, déclenche la compilation et les tests, et se fond dans le tronc commun plusieurs fois par jour, ce qui n'a rien à voir avec le fait de posséder un serveur de build ; l'objectif est de ne jamais laisser deux versions du code diverger assez longtemps pour que leur réconciliation devienne un projet à part entière.

Livraison et déploiement continus

Le tronc commun reste en permanence déployable, et toute la différence entre les deux tient dans un bouton, la livraison continue s'arrêtant juste devant tandis que le déploiement continu appuie dessus tout seul dès que les tests passent ; le jour où tu hésites à appuyer, ce n'est pas le bouton le problème.

Infrastructure as Code

Les serveurs, le réseau et les droits sont décrits dans des fichiers versionnés plutôt que cliqués dans une console un vendredi soir, ce qui rend un environnement reproductible, relisable en revue par quelqu'un d'autre, et surtout jetable, cette dernière propriété étant de loin la plus précieuse et la plus rarement atteinte.

Observabilité

Des journaux, des métriques et des traces, avec des tableaux de bord que les développeurs regardent vraiment plutôt que des écrans allumés dans un couloir pour rassurer les visiteurs ; superviser répond à la question « est-ce que ça tourne », observer répond à la seule qui compte à trois heures du matin, « pourquoi ça ne tourne pas ».

Déploiements progressifs

Bascule bleu-vert, déploiement canari, drapeaux de fonctionnalités, autant de manières de séparer la mise en production d'une version de son activation pour les utilisateurs, ce qui transforme le retour arrière d'une opération héroïque en une case qu'on décoche.

Post-mortems sans blâme

Après un incident, on cherche ce que le système a rendu possible et non qui a tapé la commande, parce qu'un post-mortem qui désigne un coupable produit exactement un résultat, garanti et reproductible, celui de faire taire tout le monde au prochain incident.

Astreinte partagée

« You build it, you run it », la formule de Werner Vogels chez Amazon, et derrière la citation devenue slogan il y a une mécanique assez simple, à savoir que le jour où l'équipe qui écrit le code porte aussi le bipeur, la qualité de l'exploitation cesse d'être le problème de quelqu'un d'autre pour devenir une question de sommeil.

Tests automatisés

Sans filet de tests, tout le reste s'écroule, parce que personne ne déploie dix fois par jour sur une base de code où seul un passage manuel du mercredi permet de dire si ça marche encore, et c'est généralement là que les transformations DevOps s'arrêtent sans que personne ose le dire.

Comment on mesure : les métriques DORA

Le programme de recherche DORA, dont les travaux sont synthétisés dans Accelerate, a dégagé quatre indicateurs qui séparent assez nettement les organisations performantes des autres, et leur intérêt tient autant à ce qu’ils mesurent qu’à ce qu’ils refusent obstinément de récompenser, puisqu’on ne les améliore pas en ajoutant des tableaux de bord mais uniquement en changeant la façon dont le travail circule.

Les deux premiers décrivent la vitesse et les deux suivants la stabilité, ce qui laisse croire à un arbitrage alors que le résultat le plus contre-intuitif de ces recherches est justement qu’il n’y en a pas, les équipes qui déploient le plus souvent étant aussi celles qui cassent le moins, au grand dam de tous les comités de validation du pays.

1

Fréquence de déploiement

À quel rythme tu mets réellement en production, les équipes les plus performantes déployant à la demande et plusieurs fois par jour, ce qui déplace la conversation d'un « on livre chaque trimestre » à un « on livre quand c'est prêt ».

2

Délai de livraison des changements

Le temps qui sépare un commit de son arrivée en production, et probablement la mesure la plus honnête dont tu disposes, parce qu'elle intègre sans négociation possible toutes les attentes que personne ne compte jamais.

3

Taux d’échec des changements

La part des déploiements qui dégradent le service au point d'exiger un correctif immédiat ou un retour arrière, à ne pas confondre avec le nombre d'incidents, qui mesure surtout ta capacité à en déclarer.

4

Délai de restauration du service

Le temps qu'il te faut pour revenir à la normale, la panne étant de toute façon inévitable alors que la lenteur à en sortir, elle, est un choix d'architecture et d'organisation que tu as fait des mois plus tôt.

SRE, GitOps, Platform Engineering

Une quinzaine d’années après 2009, le mot DevOps se retrouve entouré d’un vocabulaire qui prétend régulièrement le remplacer, et à chaque fois quelqu’un annonce sa mort dans un billet ; aucun de ces termes ne l’annule pourtant, ils se contentent de préciser les morceaux du problème que le mot d’origine laissait commodément dans le flou.

SRE

Site Reliability Engineering, né chez Google, et là où le DevOps se contente d'indiquer une direction le SRE apporte une méthode chiffrée avec ses indicateurs et ses objectifs de niveau de service, plus un budget d'erreur qui a le mérite rare de trancher à l'avance l'arbitrage entre livrer vite et tenir la fiabilité promise, au lieu de le rejouer en réunion à chaque incident.

GitOps

Le dépôt Git devient la source de vérité de l'infrastructure et un agent réconcilie en continu l'état réel avec l'état déclaré, ce qui n'est jamais que de l'Infrastructure as Code poussée jusqu'à sa conclusion logique, avec cet effet secondaire appréciable que la dérive de configuration cesse d'être une découverte pour devenir une alerte.

Platform Engineering

La réponse au DevOps mal digéré, celui qui a rendu chaque équipe responsable de tout et donc noyée sous des sujets qu'elle n'a jamais choisis ; une équipe plateforme construit des chemins pavés que les autres empruntent librement, et toute la difficulté du métier tient à construire ces chemins sans redevenir le guichet à tickets qu'on venait précisément de supprimer.

DevSecOps

Le rappel que la sécurité entre dans la chaîne dès le début plutôt qu'en audit final trois jours avant la mise en production, et si le terme a dû être inventé alors qu'il ne dit rien que le DevOps ne disait déjà, c'est bien parce que le mouvement l'avait oubliée en route.

Le modèle CAMS reste la grille de lecture la plus commode pour ranger tout ça, avec ses quatre mots que sont Culture, Automation, Measurement et Sharing, et auxquels Jez Humble a ajouté plus tard un L pour Lean, donnant CALMS.

Questions fréquentes

Le DevOps, c'est quoi en une phrase ?

Une manière d'organiser la fabrication et l'exploitation du logiciel où les mêmes personnes portent le code de la première ligne jusqu'à la production, avec assez d'automatisation et de mesure pour que livrer souvent finisse par devenir moins risqué que livrer rarement.

Le DevOps est-il un métier ?

Non, et c'est le contresens le plus répandu du secteur. Les offres qui cherchent un « ingénieur DevOps » décrivent presque toujours un poste d'ingénieur plateforme ou d'automatisation, ce qui est parfaitement respectable, mais recruter un DevOps pour faire du DevOps revient à recréer méthodiquement le silo que la démarche entière cherchait à supprimer.

Quelle différence entre DevOps et Agile ?

L'Agile a réglé la relation entre le métier et le développement puis s'est arrêté poliment à la porte de la production, tandis que le DevOps prolonge la même logique de boucle courte jusqu'au déploiement et à l'exploitation. Un sprint qui se termine sur du code non déployé n'a rien livré du tout, il a seulement déplacé du stock.

Quelle différence entre DevOps et SRE ?

Le DevOps décrit une direction et le SRE en propose une mise en œuvre chiffrée, si bien que les deux ne s'opposent nulle part. Ben Treynor Sloss, qui a fondé l'équipe chez Google, le résume mieux que personne : le SRE, c'est ce qui arrive quand on demande à un ingénieur logiciel de concevoir une équipe d'exploitation.

Faut-il monter une équipe DevOps ?

Une équipe baptisée « DevOps » et placée entre les développeurs et la production est simplement l'ancienne exploitation repeinte, avec les mêmes files d'attente et un nom plus vendeur. Ce qui fonctionne est une équipe plateforme qui outille les autres sans jamais se placer sur leur chemin critique, nuance qui a l'air cosmétique et qui décide de tout.

Quels outils faut-il pour faire du DevOps ?

Aucun en particulier, et c'est bien ce qui désespère les commerciaux. Git, une chaîne d'intégration continue, un outil d'infrastructure déclarative et de quoi observer la production couvrent l'essentiel, parce qu'aucun achat n'a jamais produit de DevOps et que deux équipes qui ne se parlent pas avec Kubernetes restent exactement deux équipes qui ne se parlent pas.

Comment savoir si ça marche ?

Par les quatre métriques DORA, à savoir la fréquence de déploiement, le délai de livraison, le taux d'échec des changements et le délai de restauration, dont l'immense avantage est d'être pénibles à maquiller, contrairement au nombre de pipelines créés ou au pourcentage d'adoption d'un outil.

Par où commencer ?

Par mesurer le temps entre un commit et sa mise en production, puis par chercher où ce temps se perd, sachant que la réponse est presque toujours une attente entre deux équipes et presque jamais une étape technique lente. Attaquer l'outillage avant d'avoir ce chiffre revient à optimiser au hasard, avec beaucoup de conviction.

Une certification DevOps a-t-elle un intérêt ?

Pour un outil précis, oui, elle atteste d'une compétence vérifiable et ça n'a rien de honteux. Pour le DevOps lui-même, non, puisqu'il n'existe aucune autorité qui le normalise et qu'aucun examen n'a jamais mesuré la capacité d'une organisation à réparer ses propres silos.

Le DevOps convient-il aux petites structures ?

C'est même là qu'il coûte le moins cher, pour la raison assez simple qu'il n'y a aucun silo à démonter. Une équipe de cinq personnes qui automatise ses déploiements et regarde ses métriques fait du DevOps sans avoir besoin de le nommer, ni d'un programme de transformation, ni d'un cabinet.

Sources

Ouvrages

  • Patrick Debois - origines des DevOpsDays (2009)
  • Gene Kim, Kevin Behr, George Spafford - The Phoenix Project
  • Gene Kim, Jez Humble, Patrick Debois, John Willis - The DevOps Handbook
  • Nicole Forsgren, Jez Humble, Gene Kim - Accelerate

Ces trois ouvrages font partie de la sélection de livres, avec cinq autres.

Historique

Définition & principes