Les 5 piliers CALMS représente le point de départ pour combiner la philosophie de DevOps avec l’automatisation, afin mettre en place une culture DevOps dans votre organisation. Quels sont-ils ? Pourquoi parle-t-on de 5 CALMS dans DevOps ?
DevOps est une méthodologie qui combine des pratiques capables de structurer la collaboration entre les équipes de développement et d’exploitation au sein d’une organisation. Le terme « DevOps » lui-même est une combinaison de développement et d’opérations, entendu comme une approche collaborative ou partagée des activités menées par ces équipes.
Qu’est-ce que l’acronyme CALMS ?
CALMS est un cadre qui évalue la capacité d’une entreprise à adopter des processus DevOps et un moyen de mesurer le succès lors d’une transformation DevOps. L’acronyme a été créé par Jez Humble, co-auteur de « The DevOps Handbook », et signifie Culture, Automation, Lean, Measurement and Sharing.
Comment les 5 CALMS sont-ils liés à Devops ?
DevOps est une méthodologie visant à améliorer le travail pendant le cycle de vie du développement logiciel. Il est possible d’imaginer un processus DevOps comme un cycle infini, comprenant les phases suivantes : planifier, coder, construire, tester, publier, déployer, exploiter et surveiller.
Le cadre CALMS couvre toutes les parties prenantes au sein de DevOps, y compris les entreprises, les opérations informatiques, l’évaluation de la qualité, la sécurité de l’information et les équipes de développement. Le cadre examine comment ils fournissent, déploient et intègrent collectivement des processus automatisés qui ont du sens pour l’entreprise.
Le modèle CALMS fournit un bon cadre pour comparer la maturité d’une équipe DevOps et est précieux pour évaluer l’état des équipes compte tenu du changement transformationnel qui s’ensuit. CALMS est un cadre conceptuel pour l’intégration des équipes, des fonctions et des systèmes de développement et opérationnels (DevOps) au sein d’une organisation. Le cadre CALMS est souvent utilisé comme modèle de maturité pour aider les responsables à évaluer si leur organisation est prête pour DevOps et, si ce n’est pas le cas, ce qui doit changer.
Quels sont les 5 CALMS dans DevOps ?
John Willis et Damon Edwards ont inventé l’acronyme CAMS en 2010, plus tard étendu à CALMS par Jez Humble.
CALMS signifie :
- Culture
- Automation
- Lean
- Measurement
- Sharing
Chaque pièce du puzzle contribue au succès d’un changement culturel véritablement orienté DevOps. Voyons ensemble les principaux aspects des 5 CALMS.
Culture
C signifie Culture, car le changement culturel peut être considéré comme le cœur de toute transformation DevOps. Le changement doit être adopté par la haute direction et mis en pratique avec un leadership cohérent qui donne le bon exemple.
DevOps n’est pas simplement un processus ou une approche différente du développement, mais un véritable changement culturel. La collaboration est un élément fondamental de la culture DevOps. Tout outil ou automatisation est inutile si les professionnels du développement et de l’IT/Ops ne travaillent pas ensemble : DevOps ne résout pas les problèmes liés aux outils mais résout les problèmes liés aux professionnels, à l’aspect humain d’un travail.
Partager un objectif commun et un plan pour l’atteindre ensemble sont deux facteurs clés pour favoriser la collaboration au sein et entre les équipes ; le but même de la méthodologie DevOps. Les entreprises les plus performantes sont favorables à l’application de la culture DevOps dans tous les départements et à tous les niveaux de l’entreprise, car DevOps n’est pas le travail d’une équipe, mais le résultat de la collaboration de toutes les équipes impliquées.
Automatisation
Outre l’augmentation de la vitesse et de la qualité de livraison, l’automatisation est la partie la plus importante de DevOps : elle permet de fournir de la valeur plus rapidement et avec une meilleure qualité, ce qui est l’objectif principal de la méthodologie.
L’automatisation est fondamentale et doit être exploitée au maximum pour plusieurs raisons :
- elle aide à éliminer les tâches manuelles et répétitives et à créer des systèmes fiables pour les exécuter : les ordinateurs, en effet, effectuent des tests plus rigoureux et plus fiables que les humains, ce qui leur permet de détecter les bugs et problèmes de sécurité plus rapidement
- l’automatisation permet d’effectuer automatiquement des tâches plus simples, ce qui laisse du temps pour un travail de plus grande valeur pour lequel l’intervention humaine est indispensable
Lean
Lorsque nous parlons de Lean, nous faisons référence à deux aspects très différents : la culture et l’automatisation.
Si d’un côté il y a l’aspect abstrait de DevOps, la philosophie qui le sous-tend, de l’autre nous avons son aspect plus pratique, celui de l’automatisation.
Un état d’esprit DevOps reconnaît les opportunités d’amélioration continue partout.
Certaines sont évidentes, comme la tenue de rétrospectives régulières pour améliorer les processus d’équipe, tandis que d’autres sont plus subtiles, comme les tests A/B de différentes approches d’intégration pour les nouveaux utilisateurs de produits.
Les membres de l’équipe peuvent visualiser les travaux en cours (WIP), limiter la taille des lots et gérer la longueur des files d’attente.
Mesure
La mesure des données est généralement un aspect clé pour faire des choix, et en ce qui concerne DevOps, l’accent est mis exclusivement sur certaines métriques.
L’itération rapide ne fonctionne que si vous savez où vous allez, et il est donc nécessaire d’être conscient des données : mesurer et suivre ce qui se fait dans le processus de développement logiciel est une condition préalable non négociable pour prendre des décisions fondées sur des faits.
Pour cette raison, des organisations disciplinées et bien organisées collectent des données sur tout.
Avoir une grande quantité de données aidera votre équipe à prendre des décisions, mais ces données s’avéreront encore plus utiles si elles sont également partagées en externe avec d’autres équipes de l’organisation pour créer des feuilles de route claires et recevoir le soutien de toutes les équipes impliquées dans le processus et, si nécessaire, de toutes les parties prenantes en général.
Partage
Enfin, on retrouve le S de Sharing (partage) :
Le partage des connaissances et des meilleures pratiques acquises tout au long du processus est un aspect clé pour mener à bien un projet car il permet un travail collaboratif.
La collaboration entre les différentes parties entraîne une augmentation globale des performances de l’entreprise.
Une culture qui soutient le partage constant favorise l’apprentissage continu.
Conclusion
De ce système de CALMS découle un nouveau concept de collaboration entre programmeur et ingénieur système dans une entreprise. Travailler ensemble tout au long du cycle de production d’une application crée un environnement dans lequel la production peut être auto-organisée.
Le concept répandu de travail par départements peut convenir à certains, mais pas à tous.
En résumé, DevOps consiste à transformer la culture de l’organisation, afin que vous puissiez :
- Aller plus vite
- Etre plus efficace
- Collaborer plus efficacement
Elle se traduit par les cinq principes (culture, automatisation, lean, mesure, partage).
Le travail d’un développeur est basé sur un apprentissage constant, compte tenu des nombreux défis qu’un environnement collaboratif facilite en réduisant le temps entre la production et la livraison finale. Si l’on décide d’utiliser les cinq piliers CALMS DevOps, la collaboration tout au long du cycle de production conduira inévitablement à de meilleurs résultats tangibles.
Si vous souhaitez évaluer si votre entreprise peut adopter DevOps, lisez notre infographie « 5 CALMS dans DevOps ». Téléchargez-la ici !
Vous souhaitez suivre une formation DevOps ? Nous nous ferons un plaisir de vous fournir plus d’information, contactez-nous !
A lire également :