Développeurs

L’importance d’une culture DevOps au sein d’une entreprise

Share this post:

DevOps ne concerne pas uniquement les phases d’intégration et de déploiement d’application et l’automatisation de celles-ci mais tout le cycle de vie d’une application.

 

DevOps ? Kezako ? Pourquoi ?

Historiquement, les équipes de développement et opérations étaient organisées en silo, chacune travaillant uniquement sur leur scope avec une communication limitée. Avec l’arrivée de la méthodologie Agile, et la notion de sprint afin de pouvoir accélérer le time to market, ce fonctionnement a atteint ses limites. C’est ainsi que la culture DevOps est apparue.

Le terme DevOps provient de la contraction de Developer & Operation et a pour but de rapprocher ces équipes afin d’industrialiser tous les processus utilisés lors d’un projet informatique. Depuis plusieurs années, la plupart des entreprises migrent vers la mise en place de cette culture.

Le schéma ci-dessous rappelle toutes les composantes de DevOps :

 

 

On peut voir qu’il s’agit d’un cycle continu qui adresse toutes les étapes majeures à traiter pour le cycle de vie d’une application.

Des informations complémentaires peuvent être trouver dans l’article « Accélere la transformation digitale via DevOps » (https://www.ibm.com/blogs/ibm-france/2022/01/26/accelerer-la-transformation-digitale-via-devops/)

 

Culture

Néanmoins, nous avons pu observer, chez différents clients, que la mise en place de ce cycle passe par un focus sur les étapes de « build » (construction) et « deploy » (déploiement) alors que ce n’est qu’une partie de l’histoire. Il ne suffit pas de mettre en place quelques ingénieurs dits « DevOps » pour faire du DevOps. Cela passe par la transformation de son organisation et notamment par la formation. Une culture DevOps efficace va permettre d’industrialiser efficacement TOUTES les étapes du cycle de vie du développement d’applications, avec des nouveaux processus techniques mais aussi de communication entre les différentes équipes. La communication est d’ailleurs un élément clé dans la culture DevOps, surtout aujourd’hui, où depuis le COVID, il n’est pas rare d’avoir une équipe composée d’un environnement de travail hybride avec du travail à distance.

Un dernier élément est qu’il est souvent utopique de laisser ces différents sujets à une équipe spécifique DevOps. Il faut impliquer plusieurs métiers : du développeur à l’opérateur en passant par le testeur et même le chef de projet. Il faut donc que tous les travaux impliquent ces différentes équipes.

 

Automatisation

Le maitre mot lors de la mise en place de culture DevOps est l’automatisation. De nouveaux outils permettent maintenant de gérer toutes les étapes de la vie d’une application sous forme de code (ex: tests, infrastructure) ou l’utilisation d’API (ex: check des vulnérabilités d’une image Docker).

Tous ces nouveaux outils doivent surtout être pris en main par les différentes équipes car un bon outil mal maitrisé n’apporte rien : la formation est très importante et il faut accompagner les équipes existantes pour monter en compétences sur ces nouveaux outils. Dans le rôle d’architecte chez IBM, nous participons à la mise en place de culture DevOps sur différents projets et notamment toute la partie de formation.

Il faut aussi commencer à travailler sur les axes Dev & Ops en même temps. Le focus est souvent mis sur la partie Dev pour mettre en place des processus CI/CD efficaces mais la partie Ops est aussi importante : livrer des nouvelles versions en production tous les 15 jours impliquent d’avoir une observabilité efficace. On ne peut pas commencer à mettre en place ces processus à postériori. Il y aura des points de blocage, donc c’est très important d’avancer en synergie.

 

DevOps et le Cloud

Une migration vers le cloud est également une opportunité d’engager une transformation des organisations vers DevOps. Cela ajoute une nouvelle complexité à prendre en compte.

Prenons exemple avec le rôle Ops, sa responsabilité va évoluer si une application est hébergé sur un cloud provider. Il faut bien connaître le RACI de chaque offre avant de choisir l’offre de service ciblée. Par exemple, l’hébergement sur machine virtuelle (IaaS), sous forme de container (Kubernetes par exemple) ou encore du serverless. Chacune de ces technologies implique un rôle différent pour les Ops. En plus des nouveaux outils, les équipes doivent avoir une acculturation au cloud. Les avantages du cloud vont leur permettre de se focaliser sur l’observabilité de leur application et pouvoir mettre en place des processus industrialisés autour de l’alerting par exemple pour être encore plus réactif.

Un point également à surveiller autour de la mise en place d’automatisation dans le cloud est le choix des différents outils. Il en existe maintenant un nombre très important et il faut garder à l’esprit qu’utiliser un service implique régulièrement de partager des données avec lui. Etes-vous prêts à confier vos données à un prestataire externe ? Seront-elles protégées efficacement ? Est-ce que mon client accepte de stocker ses données chez un éditeur tiers ?

Pour le choix des outils, une cartographie est disponible sur le site CNCF (Cloud Native Computing Foundation). Cette représentation est utile pour identifier des outils et voir s’ils vont répondre à notre besoin. IBM Consulting peut aussi vous aider à choisir ces outils selon votre besoin.

 

Conclusion

En conclusion, mettre en place une culture DevOps efficace au sein d’une entreprise ne se fait pas du jour au lendemain et nécessite la mise en place d’une gestion de projet comme pour n’importe quel projet de développement d’applications. Des expertises variées sont requises ainsi qu’un plan de formation clair et efficace. Ce sont des activités que nous mettons en place chez nos clients au sein d’IBM Consulting.

N’hésitez pas à nous contacter pour de plus amples renseignements.

IT Architect, IBM Consulting

More Développeurs stories
14 juin 2024

Gestion de l’obsolescence logicielle : véritable enjeu pour la DSI et le business

Dans le paysage numérique actuel, les applications logicielles sont le pilier des entreprises modernes. Cependant, avec l’évolution rapide de la technologie, l’obsolescence logicielle est devenue un défi majeur pour les organisations. Les logiciels obsolètes peuvent entraîner des vulnérabilités de sécurité, des crashes système et une productivité réduite, affectant ainsi la performance commerciale et la compétitivité. […]

Continue reading

12 juin 2024

Simplifier les déclarations liées à la CSRD grâce aux nouvelles fonctionnalités d’IBM®Envizi™

IBM a le plaisir d’annoncer la prise en compte de la directive européenne (CSRD) dans le module « sustainability reporting manager » d’IBM® Envizi™. Cette considération aidera les entreprises à répondre aux exigences de reporting de la directive européenne (CSRD). La CSRD impose aux entreprises de fournir des informations et des indicateurs définis via les […]

Continue reading

12 juin 2024

Comment bien préparer la migration d’un parc applicatif dans le cloud avec IBM Consulting (2/2) ?

Dans notre article « Comment bien préparer la migration d’un parc applicatif dans le cloud avec IBM Consulting (1/2) ? », nous avons présenté les différentes étapes du pré-assessment technique qui consiste à analyser l’ensemble des applications du patrimoine applicatif. Dans cette seconde partie, nous allons détailler l’assessment technique à réaliser pour chacune des applications.   Phase […]

Continue reading