La tyrannie de l’outillage DevOps

par octobre 18, 2018

 Dans le monde du développement de logiciels, l’adage « les bons outils pour les bons ouvriers » est répandu. En ce qui me concerne, le choix des outils (et ici, celui de l’outillage DevOps)  est souvent l’étape la plus importante du processus (aussi importante que la façon dont vous l’utilisez), car les implications sont à long terme et peuvent s’avérer coûteuses à annuler si par malheur vous faites le mauvais choix.

Lorsqu’il s’agit de langages de programmation, certains sont mieux adaptés à des cas d’utilisation spécifiques que d’autres. Dans d’autres cas, la décision est moins tranchée. Par exemple, aujourd’hui, si je devais développer une application multithread, je sélectionnerais Go ou peut-être même Node.js dans un cluster Kubernetes. Je ne choisirais pas Java pour un tel projet. Il ne fait aucun doute que certains lecteurs ne sont pas d’accord avec mon exemple, ce qui illustre mon point de vue. Il peut être difficile de déterminer quel langage est mieux adapté pour un projet particulier ; de nombreux facteurs doivent en effet être pesés et considérés.

Au début de ma carrière, j’ai compris que le succès de l’ensemble d’un projet était prioritaire par rapport aux avantages d’un langage spécifique. J’ai posé des questions telles que : « Est-ce que quelqu’un dans mon équipe connaît le langage, est-ce qu’il est voué à durer ou est-ce qu’il est simplement en vogue et destiné à se démoder, est-ce que l’apprentissage de ce langage est juste une lubie du développeur et est-ce qu’il partira quand il aura fini et qu’il s’ennuie ? » « Ai-je les compétences nécessaires pour maintenir ce projet ou serai pris dans un cycle continu de réécriture ? »

Bien que j’aie appris que la normalisation des langages confère de la stabilité et, ironie du sort, de la souplesse, le rapport 2017 State of DevOps report suggère le contraire en ce qui concerne CI/CD et les outils DevOps. Il souligne que le fait de permettre aux équipes individuelles d’utiliser l’outil DevOps de leur choix se traduit par des équipes de livraison continue plus productives. Bien sûr, la mise en garde est que ces équipes sont comparées à des équipes dont le choix des outils est dicté par un groupe central. Quand un groupe central éloigné a-t-il déjà pris des décisions efficaces pour des groupes individuels ? Si la centralisation de la prise de décision est ridicule, la prise de décisions à court terme l’est tout autant.

Malheureusement, l’étude la plus récente n’a pas abordé de nouveau ce sujet. Lorsqu’il s’agit d’adapter la livraison continue à l’échelle de l’entreprise, je pense qu’il faut trouver un équilibre. À mon avis, chaque équipe de livraison continue doit être à même de choisir l’outillage qui correspond le mieux à ce qu’elle sait faire. Cependant, je crois également que pour assurer une livraison continue à l’échelle d’équipes et de déploiements multiples et d’une stratégie de Cloud, il est essentiel qu’une grande entreprise standardise ses mécanismes d’automatisation omniprésents, qui peuvent agir comme une courroie de transport numérique.

De cette façon, chaque équipe utilise l’outil de son choix, jusqu’à un certain point.

Optimisation de votre processus

Vous avez besoin d’une solution qui facilite la mise en place d’un processus entièrement automatisé et optimisé et qui garantisse des déploiements rapides et cohérents dans tous les environnements, y compris la production.

Une solution de ce genre doit également être ouverte, car les intégrations sont essentielles à la gestion du flux de livraison. En d’autres termes, il est essentiel pour la productivité de l’ensemble de l’équipe que les différents outils s’intègrent de manière fluide et transparente dans la chaîne de valeur. Cela encourage également l’innovation et les méthodologies expérimentales telles que les déploiements Canary sans pour autant perdre du temps en interventions manuelles.

En fin de compte, une chaîne d’outils ouverte rassemble les équipes, exploite la technologie et encourage l’innovation. Alors, pourquoi ne pas explorer comment cette solution pourrait vous aider ? Testez CA Continuous Delivery Automation.