[Tech] DevOps ? C’est pas faux !

Depuis 2008 et la conférence d’Andrew Clay Shafer et Patrick Debois “Agile Infrastructure”, le terme DevOps s’est imposé doucement mais surement au point d’en devenir un buzzword incroyable sur vos réseaux sociaux préférés. Cette contracture entre « développement » et « opérations » est reprise partout et par tous les métiers : les ressources humaines qui cherchent désormais des “DevOps” pour les dernières startups innovantes, des outils qui promettent d’aller toujours plus loin, et la sensation que pour réussir son projet il s’agit de quelque chose à ne pas rater… Même si on ne sait pas toujours comment le définir, nous vous avons, préparé un topo sur sa signification et ses origines.

Le monde du développement a déjà subi une disruption dans ses méthodes de travail par les méthodes Agiles, la rédaction du Manifeste Agile datant de 2001. Nous n’allons pas revenir là-dessus (d’autant que la page Wikipedia sur ce sujet est très intéressante) mais il faut retenir que ces méthodes ont permis d’acquérir un engagement plus fort du client (demandeur) en échange d’une souplesse et de délais de livraisons plus courts et aussi plus incrémentaux. Le but étant de réduire les délais entre l’expression du besoin et une application prête à l’emploi (ce qui n’est pas synonyme de terminée) grâce à une collaboration plus importante entre le développement et l’expression du besoin fonctionnel.

Let’s break the Ops wall.

L‘approche DevOps promet de faire exactement la même chose avec la dernière étape d’un processus permettant d’obtenir une application en production. Autrement dit : supprimer le mur entre les développeurs et les administrateurs systèmes.

Il ne faut pas le nier, les échanges entre développeurs et administrateurs systèmes peuvent être particulièrement tendus :  délais de livraisons courts, livraisons qui ne se passent pas comme prévu, incidents, et enjeux stratégiques… Autant de raisons qui peuvent mettre en danger un projet.

source de l’image

Goals of DevOps.

L’approche DevOps permet de compléter ce processus (cf. ci-dessus) en proposant une approche pro-active permettant de réduire le plus possible ces pain-points afin d’obtenir un Time-to-Market plus court, et un ROI plus élevé tout en conservant un maximum de qualité.

source de l’image

Un tryptique qui conservera certainement une partie d’utopie tant il est rare que ces trois critères soient totalement remplis dans un projet, mais l’approche DevOps doit permettre de s’en approcher petit à petit, à force d’itérations.

Oui mais comment ?

Le modèle est globalement similaire à celui des méthodes Agile. Bien que l’on ne parle pas de méthode DevOps, il existe des tentatives de création d’un Manifeste DevOps depuis 2010, qui en définirait les principes et la philosophie.

It has always been about people, not technology

Le DevOps est en premier lieu une culture. Une culture qui va être portée par des individus, mais qui ne s’impose pas de facto. L’état d’esprit est important et la bienveillance qui est aussi très chère aux méthodes LEAN et SCRUM est une pierre fondamentale à sa mise en place.

Parce que les DevOps  ne sont pas une équipe à part, qui serait en dehors des développeurs ou des admins systèmes. Si vous faites ça: vous êtes perdus. Ce sont généralement des profils qui s’intéressent aux deux activités et qui auront une préférence pour l’un ou l’autre. De ce fait, ils vont devoir analyser le travail des autres, tester, modifier, ou faire des demandes de changement pour obtenir les gains attendus. C’est un travail qui implique d’être critique, et donc de rester ouvert aux idées qui sont apportées, sans pour autant les accepter par défaut. Travail difficile, d’équilibriste même, entre technique et relationnel.

Cela repose aussi sur un engagement et une volonté forte d’améliorer continuellement les choses, au fur et à mesure que de nouveaux besoins ou problématiques apparaissent.

De nombreux outils font leur apparition pour permettre à leurs utilisateurs d’automatiser un certain nombre de tâche récurrentes (lancement de tests unitaires, génération de la doc, etc…). Ces outils permettent d’implémenter la fameuse DevOps feedback loop  et d’améliorer de façon pérenne les échanges et la collaboration entre développeurs et administrateurs systèmes afin de tirer profit au maximum des connaissance et de l’expertise de chacun de ces métiers.

source de l’image

Il existe un certain nombre d’outils DevOps. Nos confrères de chez Xebia Labs proposent un tableau périodique des outils devops, qui recense une bonne partie des produits phares du marché.

Chaque outil à sa propre spécificité et pour un même besoin vous aurez probablement une pléthore de choix Par exemple, l’intégration continue peut être réalisée avec Jenkins, TravisCI, GitLab CI, CodeShip, etc…

D’un projet à l’autre, d’une entreprise à l’autre, ou d’une personne à l’autres les préférences ne seront pas les mêmes. Et c’est absolument normal. Choisissez un outil avec lequel vous êtes à l’aise, qui fait sens pour vos collègues, et qui permet de renforcer votre activité. Le jour où il ne répond plus totalement à votre besoin, n’hésitez pas à en changer.

Les outils sont des moyens pour arriver à vos fins, ils ne doivent en aucun cas devenir des freins.

What’s Next ?

Vous avez sans doute déjà entendu parler du NoOps, comme une évolution du DevOps. L’idée derrière ce terme est de se dire que les Ops et les Devs n’ont pas besoin de communiquer pour faire leur métier. Les développeurs se reposent sur des solutions de déploiement et d’intégration continue, qui leur permettent d’héberger leurs solutions logicielles. Les Ops, eux, interviennent en maintenance, optimization et fine-tuning.

Nous n’en sommes pas encore là ! Le marché est encore loin d’avoir ce niveau de maturité. Mais c’est certainement une tendance qui risque de s’accentuer dans les années qui viennent avec l’arrivée d’acteurs et surtout de solutions logicielles permettant de répondre aux besoins de flexibilité des développeurs et de stabilité des Ops. Comme une sorte de disruption digitale du devops, en fait. Stay tuned !

Laisser un commentaire