Blogue

Technologie
Adopter DevOps: D’où ca vient tout ca?
12 octobre 2023
par Jean-Paul Lizotte

La naissance du DevOps : un mariage de praticité et de principes de fabrication

En tant que responsable d’une pratique DevOps, on m’a souvent demandé : « Qu’est-ce que DevOps exactement, et comment cela s’est-il produit ? » La réponse n’est pas aussi simple qu’on pourrait le penser, mais c’est un voyage fascinant qui plonge dans les subtilités des problèmes pratiques et l’adoption de concepts de fabrication.

Les questions pratiques qui ont donné lieu au DevOps

DevOps n’est pas seulement apparu à partir de rien; il est né d’un besoin, d’une lacune que les équipes traditionnelles de développement de logiciels et d’opérations informatiques ne pouvaient pas combler efficacement. Je me souviens très bien de l’époque où le développement et les opérations vivaient en silos, ne communiquant que lorsque c’était absolument nécessaire. C’était les temps sombres : des délais manqués, des coûts d’exploitation en flèche et des versions logicielles de mauvaise qualité.

Les questions pratiques étaient nombreuses :

  1. Manque de collaboration : Les équipes de développement et d’exploitation se parlaient à peine. Alors que les développeurs se concentraient sur l’ajout de fonctionnalités et la correction de bogues, l’équipe des opérations devait déterminer comment déployer et maintenir le logiciel.
  2. Processus inefficaces : Le déploiement était souvent un processus manuel et sujet aux erreurs. Je me souviens de déploiements tard dans la nuit qui ont échoué, provoquant des temps d’arrêt et l’insatisfaction des clients.
  3. Temps de mise sur le marché lent : L’écart entre l’écriture de code et son déploiement en production pouvait être de semaines, voire de mois, en raison de ces inefficacités.
  4. Réactif, non proactif : Les opérations étaient souvent réactives. Quand quelque chose brisait, c’était « mobilisation générale » ou « tout le monde sur le pont » pour le réparer, avec peu de temps pour les mesures préventives.

Leçons tirées de la fabrication

Fait intéressant, la solution à ces problèmes est venue d’un domaine apparemment sans rapport : la fabrication. Le lean manufacturing, en particulier, a eu une influence significative sur le DevOps. Des principes lean tels que « éliminer le gaspillage », « amplifier l’apprentissage » et « livrer aussi vite que possible » ont trouvé une nouvelle maison dans le monde DevOps [1].

J’ai commencé à examiner les pratiques de fabrication, en particulier le système de production Toyota, qui a inspiré la fabrication lean. Les parallèles étaient étranges. Tout comme une chaîne de montage, le développement logiciel est une séquence d’étapes, chacune dépendant de la précédente. Tout goulot d’étranglement ralentit l’ensemble du processus. Le concept de « Kanban » pour gérer le travail en cours était un autre principe qui est bien passé au DevOps[2].

Et tout doit se subordonner aux goulots d’étranglement le plus contraignant.

Mise en œuvre du DevOps : un mélange de technologie et de culture

La première étape a été l’automatisation. L’automatisation est à DevOps ce que les machines sont à la fabrication – essentiel.

Cela force une cadence, connue et attendue. Tout changement affectera cette mesure et nous indiquera si ce qu’on fait est bon ou mauvais.

Vient ensuite l’intégration continue et le déploiement continu (CI/CD), l’épine dorsale de toute pratique DevOps. Nous avons d’abord utilisé Jenkins, avant de passer à des solutions plus robustes comme Azure DevOps.

Mais la technologie seule ne suffisait pas. Il était tout aussi important de changer la culture. Nous avons adopté le concept de « Kaizen », ou amélioration continue, encourageant les membres de l’équipe à apporter des idées pour rendre les processus plus efficaces[3].

Docker et au-delà

Docker a changé aussi la donne. Il a simplifié le processus d’emballage d’une application et ses dépendances dans un seul « conteneur », ce qui le rend plus facile à gérer et à déployer.

Conclusion

DevOps est une solution pratique à des problèmes pratiques, fortement influencée par les principes de fabrication. Ce n’est pas seulement un mot à la mode; c’est une nécessité dans le monde du développement de logiciels en évolution rapide d’aujourd’hui. La mise en œuvre du DevOps ne consiste pas seulement à utiliser les bons outils; il s’agit de changer la culture et l’état d’esprit de vos équipes. C’est un voyage continu, mais qui en vaut la peine.

[1] : Kim, Gene, et al. « The Phoenix Project : A Novel about IT, DevOps, and Helping Your Business Win. » Révolution informatique, 2013.

[2] : Anderson, David J. « Kanban : Successful Evolutionary Change for Your Technology Business. » Blue Hole Press, 2010.

[3] : Liker, Jeffrey K. « The Toyota Way : 14 Principes de gestion du plus grand fabricant du monde. » McGraw-Hill, 2004.