Opinions

DevOps, la méthode agile pour réconcilier développement et exploitation

Par La rédaction, publié le 27 avril 2015

Emmanuel Favreau, Responsable du pôle BI, Axones  

Les entreprises se trouvent aujourd’hui confrontées à la nécessité de délivrer de plus en plus rapidement des applications de meilleure qualité, pour répondre aux demandes toujours plus pressantes des utilisateurs soucieux de diminuer le « Time to Market » .

Le goulot d’étranglement du processus ? La mise en production ! Le nombre toujours grandissant des applications livrées se voyant ralenti par les exploitants… Les directions des études s’opposent aux directions de l’exploitation, leur reprochant de ne pas être assez réactives. Quant à ces dernières, elles reprochent aux études de ne pas tenir compte de leurs problématiques et de ne pas comprendre que le système d’information est un environnement contraint, dans lequel toutes les briques sont interdépendantes les unes des autres, et dont la stabilité et la sécurité doivent être garanties.

DES EXEMPLES CONCRETS ET LEURS TRAVERS

Deux exemples s’avèrent représentatifs de ce qui se passe actuellement dans les entreprises. Dans le premier, un développeur ayant développé un contact de proximité avec une personne de la production « bypasse »  le processus mis en place et, grâce à cette complicité, délivre plus vite son projet, au bénéfice de l’utilisateur. Dans le second, l’environnement de développement est transformé en environnement de production géré uniquement par la MOE, sans que la production n’en ait connaissance. L’utilisateur bénéficiera là aussi d’une meilleure réactivité.

Dans ces deux exemples, la rapidité de livraison est favorisée. Nous serions donc enclins à dire que les utilisateurs seront satisfaits et, par conséquent, que le modèle serait de laisser les services de développement gérer les environnements … Jusqu’au moment où l’environnement de développement « tombera » et que la production ne pourra intervenir que plusieurs heures après, en restaurant un ancien backup, puisque le serveur n’aura pas été étiqueté comme critique ! Conséquence : une perte de temps, d’efficacité, de réactivité, de savoir-faire…

RAPPROCHER DÉVELOPPEMENT ET PRODUCTION

Le climat de défiance entre développement et production est dû à la différence sémantique de deux métiers aux intérêts divergents. Les développeurs, s’appuyant sur les méthodes agiles, cherchent à répondre rapidement aux besoins et demandes d’évolutions du métier. Ce qui se traduit par des livraisons et des demandes de mise en production beaucoup plus rapprochées, augmentant par contre le risque d’instabilité. De l’autre côté, l’équipe d’exploitation doit s’assurer que le système d’information de l’entreprise est un environnement stable, sécurisé et pérenne dans le temps selon les recommandations ITIL, le tout dans un contexte de réduction des coûts et de mutualisation.

Né de cette opposition, le mouvement DevOps (contraction de Development  et Operations ) vise à rapprocher les deux équipes et à aligner leurs objectifs sur les besoins de l’entreprise. Encore récent, il commence à émerger et se trouve actuellement dans la liste des « dossiers chauds » des DSI. Mais pour porter ses fruits, il doit impérativement s’appuyer sur une nouvelle forme d’organisation des équipes favorisant la communication, des processus partagés et des outils.

UNE MEILLEURE COMMUNICATION

Historiquement, les équipes de développement et d’exploitation sont séparées, tant d’un point de vue géographique que des objectifs. Le premier chantier sera donc de rapprocher ces équipes pour permettre une meilleure compréhension des contraintes de chacun, en organisant par exemple des ateliers destinés à faire travailler ces équipes ensemble. Autre point important : définir des objectifs communs. Car c’est en partageant un même but et, ensuite, la réussite d’un projet que les collaborateurs pourront se rapprocher et se comprendre.

DES PROCESSUS PARTAGÉS

La mise en place de processus adaptés et surtout efficaces car suivis par tous, ne peut se faire qu’après DR avoir identifié et intégré l’ensemble des contraintes. Le curseur devra être mis de manière à respecter des temps et fréquences de livraison attendus par l’entreprise, tout en garantissant la qualité et la fiabilité des systèmes. C’est au niveau de l’équilibre de cette équation que résidera la capacité du « Dev » à adhérer au « Ops » !

UN OUTILLAGE ADÉQUAT

Des processus non outillés ne pourront clairement pas répondre aux exigences de communication, de qualité, de standardisation et de fluidité. Mais cela nécessite un outillage adéquat et une formation des deux équipes.

L’outillage devra permettre d’industrialiser le cycle de vie d’une application, l’ALM (Application Lifecycle Management) et en particulier les outils favorisant la communication entre les deux parties  : gestion du versioning et industrialisation des transports de composants, pour permettre de faire du déploiement continu (Continuous Deployment). Les livrables sont ainsi déployés automatiquement dans les différents environnements en suivant un processus de validation. Les géants du web Google, Facebook, Amazon le font déjà plusieurs fois par jour sans que leurs utilisateurs ne s’en rendent compte !

DES BÉNÉFICES INDISCUTABLES

Au-delà d’un terme marketing dans l’air du temps, DevOps apporte de réels bénéfices à l’entreprise. Une récente étude menée auprès de plus de 9 200 professionnels ( Puppet Labs 2014 ) met indiscutablement en lumière les gains de performance enregistrés par les entreprises l’ayant adopté. Même si cela va prendre un peu de temps, DevOps va petit à petit s’imposer dans nos entreprises comme les méthodes agiles ont réussi à le faire, projet par projet, pour gagner enfin l’ensemble du système d’information.   

Dans l'actualité

Verified by MonsterInsights