DevOps, la culture de l’échange !

Zoom sur un de nos collaborateurs : Julien FOURRIER, créateur de l’application WOP !
25 octobre 2017
Digiwin, notre agence digitale, fait germer les idées et les applis mobiles !
23 janvier 2018

Introduction

Le phénomène DevOps fait actuellement du bruit dans la sphère de l’IT. Tout le monde en parle, or, cette notion ne date pas d’hier. En effet, à l’origine il s’agit d’une idée, une idée portée par quelques pionniers, parmi lesquels John Allspaw, Paul Hammond et Patrick Debois dans lequel chaque composante de l’organisation d’une entreprise collaborerait efficacement pour l’atteinte des mêmes objectifs. Celle-ci est à l’origine d’un mouvement dont l’influence ne cesse de s’amplifier aujourd’hui.

Revenons tout d’abord sur la désignation du terme DevOps :

Dans son sens le plus large, DevOps caractérise une philosophie ou une approche culturelle qui favorise une meilleure communication entre les deux équipes, à mesure qu’un nombre croissant d’éléments de leur fonctionnement deviennent programmables.

Dans son sens le plus restreint, DevOps désigne un poste nécessitant des compétences pour comprendre les problématiques du développement et celle de l’exploitation.

Alors quel est l’intérêt du DevOps ?

La solution d’une évolution complexe

La démarche DevOps résulte d’un constat, celui de la frontière entre les développeurs et les responsables opérationnels dans une organisation. Une frontière tant physique à cause du cloisonnement, de l’externalisation ou de la délocalisation, que culturelle et méthodologique du fait que les développeurs travaillent en mode agile tandis que la production travaille en ITIL.

En effet, dans une société où le développement applicatif devient un enjeu stratégique, les missions des équipes de développement et d’exploitation sont devenue très complexes. Les applications et services sont bâtis désormais sur de nombreux composants et intégrations. La production, l’organisation, l’exploitation, le délai et les budgets alloués aux projets ont aujourd’hui subi une transformation, les demandes sont de plus en plus ardues. Il est question de livrer toujours plus de fonctionnalités en un temps record.

L’approche DevOps permet alors de supprimer les barrières entre les équipes, d’encourager la collaboration et d’améliorer le flux de valeur.

Bienvenue dans le monde agile du DevOps ! 

Dans ce contexte, DevOps est complémentaire des pratiques Agile, approches itératives et incrémentales menées dans un esprit collaboratif.  L’agilité ayant pour conséquence l’accumulation des environnements d’exploitation, le DevOps permet de déployer des livrables automatiquement depuis la phase d’intégration à la phase de production. DevOps est donc une extension d’Agile dans le déploiement d’application.

Les facteurs clés du succès DevOps réside dans le travail collaboratif entre les études et l’exploitation. Bien sûr, cette pratique est déjà présente dans la communauté Agile mais il est fondamental que les études et l’exploitation se réunissent régulièrement pour résoudre les problèmes, planifier les mises en production, prendre en compte les nouvelles fonctionnalités et vérifier la compatibilité. Cela implique l’adoption d’outils de gestion de configuration commun.

Cycle de vie d’une application

Le cycle de vie d’une application est un processus long et complexe. Une application est continuellement en phase de développement, de test, de correction, de maintenance, en passant par les étapes : développement, test fonctionnel, test d’intégration, pré-production et production.

La mise en place progressive de méthodes d’automatisation permet donc d’automatiser complètement le cycle de vie des applications, depuis le développement jusqu’au déploiement.

Les méthodologies agiles accélèrent le cycle de développement et de test et permet de créer régulièrement de la valeur client.

L’intérêt d’une telle approche en bref

L’objectif premier de DevOps est de raccourcir le Time to Market tout en maintenant voir améliorant la qualité. Il permet ainsi de :

  1. Faciliter la compréhension et les interactions entre les études et la production
  2. Eviter le gaspillage (délai de mise à disposition des infrastructures, de développement, de production des applications)
  3. Etre plus réactif et stable (temps de cycle réduits, taux de déploiement plus élevé)
  4. Permettre une meilleure sécurité lors des livraisons applicatives
  5. Avoir une meilleure efficacité organisationnelle (moins d’astreinte, travail consacré aux activités à forte valeur ajoutée)
  6. Baisser les coûts de production
  7. Améliorer la qualité de service

C’est ce qui est magique dans le DevOps, en tant que manager/RH on ne peut pas lutter face aux « Unicorn » tel que Microsoft, Facebook, Google, Spotify mais on peut travailler comme eux !

Bertrand THOMAS, notre expert DevOps. Retrouvez l’intégralité de son interview ICI !