DevOps
DevOps https://samiadrici.com/wp-content/uploads/2022/05/samiadrici-cloud-devops.jpg 800 400 Samia Drici Samia Drici https://samiadrici.com/wp-content/uploads/2022/05/samiadrici-cloud-devops.jpgHome >> Cloud Computing >> DevOps
Le DevOps est un mouvement en ingénierie informatique visant à l’unification du développement logiciel (dev) et de l’administration des infrastructures informatiques (ops). L’idée du DevOps est d’étendre la mise en œuvre des principes agiles sur tout le cycle de vie du logiciel afin de réduire le time to market et de recueillir au plus tôt les feedbacks client.
CALMS, les 5 piliers du DevOps
L’essentiel de l’adoption du DevOps n’est pas d’ordre technique mais d’ordre humain. Il est avant tout nécessaire de faire renaître une véritable confiance entre les différents intervenants de la chaîne de livraison applicative. Il n’existe pas de cadre méthodologique du DevOps, mais 5 piliers, CALMS, qui donnent la direction à suivre :
Culture
Privilégier les personnes et les interactions plutôt que les processus ou les outils
Automation
Automatiser les activités (tests, déploiements, passage d’un environnement à un autre) pour réduire les temps de traitement et d’attente
Lean
Utiliser les principes Lean afin de rationaliser l’ensemble du processus de production, en réduisant les pertes et maximisant la valeur du client
Mesure
Mesurer un maximum afin de prendre des décisions éclairées et d’éviter les gaspillages permettant ainsi un feedback partagé vers toutes les équipes
Share
Créer une culture, animer des communautés, où les collaborateurs partagent des idées, des outils, des retours d’expérience…
Efficacité et limites
L’organisation dans laquelle ce sont les mêmes personnes qui développent et opèrent l’application est l’une des implémentations du mouvement DevOps. L’implémentation “extrême” dans laquelle plus aucune barrière humaine n’existe entre ‘Build’ et ‘Run’ puisque ce sont les mêmes personnes qui assurent ces deux fonctions.
Cette implémentation est très efficace pour garantir une excellente qualité du code et une boucle de feedback immédiate car en cas d’incident ce sont ceux qui ont conçu le code qui sont sollicités en direct pour corriger le problème.
Toutefois, cette organisation fonctionne bien pour des petites équipes. Elle touche ses limites lorsque la taille de l’équipe atteint une dizaine de personnes. En effet, la communication et l’échange qui sont des clés essentielles au DevOps deviennent moins fluides lorsque la taille de l’équipe prend trop d’ampleur.
L’anti-pattern organisationnel
Avec le souhait de mettre en place une organisation DevOps, beaucoup d’entreprises ont fait le choix de recruter de nouveaux profils “Ingénieurs DevOps” pour constituer une équipe qui ferait l’intermédiaire entre les Dev et les Ops. Si cette démarche semble judicieuse, voire même évidente sur le papier, elle est en général infructueuse dans la réalité.
La raison est simple : au lieu de fluidifier les échanges et de supprimer les silos, la mise en place d’une nouvelle équipe en créé un nouveau. Plutôt que d’ajouter une couche supplémentaire, il faut faciliter le passage du livrable d’une couche à une autre.