Nous contacter

Votre message a bien été envoyé !

Mince, visiblement quelque chose est cassé de notre côté. Que diriez vous de nous envoyer un email directement sur contact@plunge.cloud ?

Retour vers les articles

Les grands principes de la démarche DevOps

Martin Catty
Martin Catty
Publié le 7 janvier 2020 08:00:00 CET

Pour comprendre la mouvance devops, on peut la comparer à l'agilité : comme elle, elle s'assimile à une culture, qui s'organise autour de process et d'outils.

Mais l'inverse n'est pas vrai : mettre en place quelques outils ne vous permettra pas d'affirmer que vous avez une culture devops.

Ce qui définit la culture devops en tant que telle, ce sont les piliers sur lesquels elle est bâtie, et qui s'apparentent largement à ceux de l'agilité.

1- Apporter de la valeur au client final

Derrière le mot valeur peut se cacher plusieurs choses.

Des fonctionnalités bien sûr, mais on sait que les meilleurs logiciels ne sont pas ceux qui empilent le plus de fonctionnalités.

Comme il n'existe pas de recette miracle, il faut être en mesure de mettre à disposition rapidement des fonctionnalités, les éprouver, voire les retirer.

L'apport de valeur, même si transparent, peut également se faire au travers de l'amélioration de la sécurité de l'application. On l'a vu récemment avec l'avènement du RGPD, maîtriser le flux des données collectées et pouvoir le restituer de façon claire et précise devient un facteur différenciant.

L'ajout de valeur peut aussi se trouver dans la résilience de l'application. Netflix par exemple investit énormément dans sa stratégie de chaos monkey, qui vise à générer des pannes aléatoires pour éprouver et améliorer la robustesse de ses solutions.

On le comprend aisément, le simple fait que la lecture d'une vidéo fonctionne de bout en bout fait partie prenante de la valeur offerte par Netflix.

Selon votre domaine d'activité, vos applications et vos projets, la valeur que vous apportez à votre client n'est donc pas la même.

2 - Itérer rapidement

"Une seule chose est constante, permanente, c’est le changement."

Héraclite en son temps énonçait déjà ce principe. Aujourd'hui, on pourrait lui ajouter qu'en plus d'être permanent, le changement s'accélère. Pour y répondre, il faut donc être capable de s'y adapter à la même vitesse.

Mettre en place une culture devops permet de fluidifier les livraisons logicielles. En allant vite, on s'offre la possibilité d'expérimenter par essai / erreur. Plus vos cycles de livraison de logiciel sont longs, plus vous créez des attentes fortes, qui sont à même de créer des déceptions qui le seront tout autant.

Si vous livrez une version qui comprend quelques bugs mais que vos utilisateurs savent que vous aurez corrigé le tir en quelques jours, vous bénéficierez de bien plus d'indulgence.

Il est également plus simple d'identifier des régressions quand on limite le périmètre de ce qui change. Plus un logiciel devient complexe, plus il interagit avec un grand nombre d'éléments. Les risques de régression augmentent alors et deviennent difficiles à identifier.

3 - Renforcer la collaboration

Là ou l'agilité met l'accent sur la collaboration avec le client ou l'utilisateur final (boucle de feedback…), dans le contexte du devops, il s'agit de renforcer la collaboration entre les équipes de développement et celles en charge de l'exploitation.

En rapprochant ces deux métiers, on fluidifie le processus qui va du développement à la mise en ligne et on décloisonne les équipes, ce qui permet à tout le monde de se sentir impliqué dans la livraison de valeur.

L'équipe de développement ne doit pas considérer que son travail s'arrête à son poste de travail. Un logiciel qui n'est pas en production est un logiciel inutile.

plunge-devops-collaboration

Hack Capital

Les équipes opérationnelles ne doivent pas non plus considérer qu'elles mettent en production des boîtes noires auxquelles elles ne comprennent rien.

En faisant chacun un pas vers l'autre, on démultiplie les compétences. Qui plus est, on donne aussi l'opportunité à des vocations de naître. Si certains développeurs sont effrayés à l'idée d'aller toucher à de l'administration système, il n'en est pas de même pour tous.

Dans l'autre sens, les administrateurs systèmes sont déjà bien souvent amenés à réaliser des scripts ou des programmes plus complexes : une meilleure compréhension du monde du développement sera également un atout pour eux.

Et quand la collaboration se passe bien, finalement, c'est le client qui y gagne.

Pour faire tomber la frontière entre ces deux mondes, un certain nombre d'outils ont émergé. Par exemple, les machines virtuelles, et plus récemment les conteneurs dont nous aurons l'occasion de parler dans une série plus technique.

4 - Mesurer, décider, réaliser, recommencer

La notion de mesure et d'automatisation est au cœur de la culture devops.

Il faut à tout prix éviter de faire des choses manuellement, qu'il s'agisse de déploiements, de configuration ou de provisioning par exemple, car les opérations manuelles sont faiblement reproductibles, peu fiables, et souvent mal documentées.

On préfèrera les choses automatisées, qui, contrairement à une documentation, sont utilisées très régulièrement et donc tenues à jour.

Il ne s'agit pas de promouvoir une absence complète de documentation. On sait tous qu'établir une documentation exhaustive n'est pas un exercice facile : il faut faire preuve de beaucoup de recul pour prendre le temps de documenter un processus que l'on maîtrise, tout en se mettant dans la peau de quelqu'un qui ne le maîtrise pas. Qui plus est, la valeur immédiate pour celui qui la rédige est faible.

L'autre pendant d'une logique d'itération rapide est d'être à même de mesurer les impacts pour en tirer des conclusions : amélioration ou détérioration de la performance, nombre d'erreurs, pannes, etc. Il faut collecter les bonnes informations pour être en mesure de les exploiter correctement.

Mesurer et même monitorer permet de réagir vite, prendre des décisions et s'ajuster en permanence. Lorsqu'on parle d'incident de production, on aime à dire qu'il ne faut pas poser la question du « si » ça va arriver, mais plutôt « quand ».

Finalement, au lieu de se mettre la tête dans le sable, on privilégie donc la mesure, qui permettra l'anticipation des problèmes. Idéalement, on pousse même les curseurs en simulant d'éventuels problèmes (comme avec le chaos monkey), afin d'anticiper autant que possible les éventuelles difficultés à venir et les résoudre avant qu'elles ne surviennent réellement.


La démarche devops s’articule donc autour d'un certain nombre de piliers. Mais avant de penser à comment mettre en place cette culture et déployer une réelle stratégie devops, il est important de comprendre le pourquoi, et de se poser les bonnes questions.

Une première étape par laquelle passer peut être par exemple la réalisation d'un audit, qui vous permettra de faire un état des lieux de l'existant et de dégager les actions prioritaires à mettre en oeuvre.

 

Télécharger notre Glossaire du Devops

Partager l'article sur

Laisser un commentaire