Alexandre Petit

DevOps 101

Temps de lecture : 5 min.

Hello !

C'est dernier mois, je me suis demandé, c'est quoi le DevOps ?

Est-ce

Avant de m'immerger dans la discipline, je percevais avant tout sa dimension outillage : les technologies de virtualisation comme Docker et Kubernetes, les plateformes de déploiement continu comme GitLab, les outils quoi.

Mais comme le dit bien Christopher Little :

DevOps isn’t about automation, just as astronomy isn’t about telescopes.

Nous avons tendance à réduire les choses à une partie de leur manifestation.

C'est réducteur.

Mais alors, c'est quoi le DevOps ?

Le contexte

Le cœur du système

Aujourd'hui, l'IT est au cœur de toutes les entreprises. Que ce soit dans la tech, les assurances, l'automobile, le voyage ou le prêt-à-porter, les capacités d'une entreprise à proposer de nouveaux services, améliorer l'expérience utilisateur ou encore cibler son marché reposent sur la technologie. Aussi, lorsque l'IT échoue, c'est toute l'entreprise qui est mise à mal.

La spirale infernale

Dans beaucoup d'organisations, un cercle vicieux s'est mis en place.

L'entreprise a bâti sa richesse sur du code. Au fil des ajouts, ce code est devenu de plus en plus complexe. Par entropie, par manque de connaissances et par absence de priorisation, la qualité tend à diminuer. Au début, cela ne pose pas de problème. Mais par accumulation, la situation se complique. La complexité du projet ne cesse de croître en même temps que sa qualité décroît. On ajoute plus de personnes sur le projet. Cela complique la communication et la coordination. Les équipes subissent du turnover. L'information se perd. Les modifications apportées à ce code hérité tendent à échouer en production et créent des interruptions de service qui impactent les utilisateurs.

Pour compenser les déconvenues, les équipes promettent davantage. La pression s'accroît pour livrer plus, plus rapidement, et le temps disponible pour rembourser la dette technique se réduit encore.

Enfin, la situation s'enlise complètement. Alors que le temps nécessaire à intégrer des évolutions s'envole, le temps qui s'écoule entre une idée et sa réalisation (Lead Time) s'effondre. Rapidement, plus personne n'ose faire de modifications sur la codebase. On touche un minimum de choses pour éviter de tout casser (ce qui implique qu'on ne range plus, et que le désordre grandit). La communication devient compliquée. On passe en mode pompier. C'est-à-dire qu’on passe plus de temps à réagir aux problèmes de production que de répondre au changement attendu par le marché.

Cette spirale a des coûts humains et économiques importants :

Cette spirale prend sa source dans un conflit bien connu.

Le conflit central

Le conflit à l'origine de la spirale infernale de l'IT (The Downward Spiral) est celui qui oppose les développeurs aux opérationnels. Il repose sur la tension entre le besoin de stabilité qui est porté par les équipes opérationnelles (les ops) et le besoin de répondre au changement en livrant de nouvelles fonctionnalités qui est porté par les développeurs (les devs).

Les premiers sont accusés de tout casser et de déployer du code bogué sans réfléchir aux conséquences (YOLO).

Les deuxièmes, de ne pas être assez réactifs, de traîner à livrer les infrastructures et de ralentir le rythme des livraisons.

Lorsque le travail est organisé en série, ce deux responsabilités sont isolées dans deux départements distincts. Cette séparation est une source de frictions, de désalignement. Le DevOps vise à faire tomber le mur de la confusion qui les sépare et à recréer de la collaboration entre les deux rôles.

Transformation DevOps : du conflit à la connexion.

Dans les années 2010, les géants de la tech comme Meta, Netflix, Etsy, American Airlines, ont entrepris une Transformation Devops et ont inspiré de nombreux départements tech.

Les principes et les techniques qu'ils ont mis en œuvre sont les suivants.

La carte mentale du DevOps

Comme modélisé par Gene Kim dans son article de 2012, les principes et techniques du DevOps peuvent être classés selon trois axes : le flow, le feedback et l'amélioration.

Ces axes sont présentés sous une forme narrative dans The Phoenix Project puis développés plus en détails dans The DevOps Handbook.

Voici la cartographie que j'ai tirée de ces lectures :

Carte mentale du DevOps

Chaque point pourrait faire l'objet d'un article, aussi, je ne vais pas tout détailler ici. Mais je trouve que cette carte permet déjà de se donner un bon aperçu de ce qu'est le devops, de ses principes et de ses valeurs.

Et donc, c'est quoi le DevOps ?

La définition que je retiens est la suivante.

Le DevOps est un ensemble de principes et de techniques qui permettent de réconcilier le développement avec les opérations, en transformant les conflits en rapports de collaboration, afin d’aligner tout le monde sur les objectifs de l’entreprise. Enfant du lean manufacturing et du mouvement agile, il fournit des outils pour travailler de façon confortable et sûre dans un système technologique complexe.

Dans la prochaine édition, je vous présenterai en détail les concepts qui m'ont le plus marqué ainsi que ceux qui m'ont le plus amusé.

D’ici là, portez-vous bien :)

Alex

Publié le

Une remarque ? Dis-moi 💙