;
chevron-bottomchevron-leftchevron-rightdownloadfacebookinstagramlink-outlinkedinminusplus
Accessibilité Tous les articles

Pratiques DevOps en 2021 : pourquoi vous devriez vous y intéresser

Catégorie

DevOps

Publication

Février 2021

Publié par

Pierre Gaillard

Un mot est sur toutes les lèvres en ce début 2021 : DevOps. Que ce soient nos chargés de compte ou nos conseillers, tous s’accordent pour dire que le marché de l’analytique n’a jamais été aussi prêt à implémenter le DevOps. Mais qu’est-ce que le DevOps et surtout dans quel contexte doit-il s’intégrer pour générer la plus-value espérée ? Rencontre avec Chehine Marouani, conseiller DevOps chez agileDSS.

Comprendre l’intérêt du DevOps.

L’émergence des ERP et du développement logiciel au cours des dernières décennies a permis un meilleur pilotage des entreprises, mais a aussi engendré des dysfonctionnements relatifs à la séparation des équipes de développement et des équipes des opérations. C’est dans ce contexte et pour pallier ces dysfonctionnements que la méthodologie DevOps a émergée.

Mais concrètement, le DevOps, c’est quoi ?


Contexte d’application du DevOps.

Dans une organisation classique - comprenez qui ne fait pas de DevOps -, l’équipe de développement est chargée d’apporter de nouvelles fonctionnalités ou des améliorations à une fonctionnalité existante, de corriger un bogue ou tout simplement d’apporter des modifications de code pour que l’environnement réponde mieux aux besoins des lignes d’affaires. L’équipe des opérations, quant à elle, doit maintenir une structure fonctionnelle, opérationnelle et accessible en tout temps pour les lignes d’affaires. Dans cette approche “classique”, les équipes travaillent en silo et en déployant de nouvelles fonctionnalités, les équipes de développement risquent donc de déstabiliser l’environnement. L'équipe des opérations, garante de la qualité de l’environnement peut donc se montrer réticente à implanter de nouvelles fonctionnalités.

On se retrouve avec des équipes aux objectifs divergents qui ont tendance à ne pas collaborer, ce qui impacte tant la rapidité du processus que sa qualité. Le DevOps agit précisément sur cet enjeu, en permettant un déploiement continu, plus rapide et plus sûr tout en maintenant la stabilité des environnements.

Alors, c'est quoi le DevOps ?

Fruit de la contraction entre les mots “Développement” et “Operations”, le DevOps « C’est l’unification des équipes de développement et des opérations vers un objectif commun, celui d’apporter de la valeur à l’entreprise le plus rapidement possible tout en garantissant la qualité, et ce, tout au long du cycle.” (Chehine Marouani).

Le DevOps est donc à la fois un ensemble d'outils, de bonnes pratiques et une méthodologie. La méthodologie DevOps, consiste avant tout à briser les silos et amener les équipes à collaborer en encourageant la prise de responsabilité des équipes de développement et des opérations. L’objectif ? Livrer plus rapidement une solution analytique fiable qui apporte de la valeur aux lignes d’affaires.

En ce sens, l’application de la méthodologie DevOps nécessite l’implication de toutes les équipes. Ainsi, le développeur doit intégrer les problématiques des opérations lors de son développement, et les opérations doivent avoir conscience de la nécessité d’intégrer rapidement le code à l’environnement.

Le consultant DevOps (ou l’équipe DevOps dépendamment des projets) se doit d’être la clé de voûte de la collaboration étroite entre les équipes. Son rôle, c’est un peu celui d’un facilitateur qui va permettre un déploiement continu pour livrer plus rapidement de la valeur.

Un autre aspect important du DevOps est l’automatisation de nombreux processus (à l'aide de tests automatisés ou d'alertes automatiques par exemple) visant à améliorer la fiabilité du code et de l’environnement. Appliquer la méthodologie DevOps, c’est industrialiser un certain nombre de tests qui permettent d’identifier les défaillances et donc d’anticiper les problèmes qui pourraient se présenter.

En résumé, l’objectif est de libérer du temps là où les équipes font vraiment la différence tout en garantissant la qualité de l'environnement. Véritable hybride entre un développeur et un administrateur système, le DevOps fait le pont entre les deux départements.

Le DevOps vous intéresse ? Sachez que nous publierons prochainement un blogue sur les différents outils DevOps que nous avons testés sur Snowflake (Flyway, Datalytix et Snowchange). Inscrivez-vous à notre infolettre pour être sûr de ne pas le manquer !

Restez à l’affût des dernières tendances analytiques

Les liens entre DevOps, agilité et analytique.

Le DevOps est une méthodologie que l’on retrouve dans de nombreuses branches du développement logiciel et des TI. Quels sont ses liens avec l’agilité et l’analytique ?


Pratiques DevOps et la méthodologie agile, même combat ?

À bien des égards, le DevOps peut rappeler la livraison de solutions en agilité. En effet, les liens et ressemblances entre les deux pratiques sont frappants. Dans les deux cas, l’objectif est d’apporter de la valeur plus rapidement et de limiter les frictions entre les parties prenantes (client final/ligne d’affaire et équipes TI dans un cas ; équipes de développement/opérations dans un autre). Mais l’application de la méthodologie DevOps connaît les mêmes limites organisationnelles que l’agilité. En effet, sans une gestion du changement efficace et la contribution de tous les départements concernés, les bénéfices du DevOps resteront limités et son déploiement restreint. Il est donc essentiel de bien planifier l’implantation du DevOps avant de se lancer.

« Appliquer la méthodologie DevOps, c’est un peu sortir de sa zone de confort. Le développeur ne peut plus uniquement penser en termes de code, il doit participer à son déploiement dans l’environnement. Même chose pour les administrateurs système. Cela peut provoquer des réticences. Il est donc important de s’accorder en amont ou en début de projet sur les conditions d’application du DevOps. Ainsi, on peut, en accord avec le client, édicter des règles d’or que chacun s’engage à respecter, dans l’intérêt du projet ».

Chehine Marouani.

DevOps analytique, une expertise spécifique.

Et le DevOps appliqué à l’analytique dans tout ça ? Outre les technologies spécifiques au Big Data, à l’intelligence d’affaires, au Cloud et le fait de faire le pont entre équipes de développement et opérations, en quoi le DevOps appliqué à l’analytique se différencie-t-il des autres spécialités TI ?

De manière générale, le DevOps s’applique dans le cadre d'un déploiement ou de modifications apportées à une application sur un environnement. Le DevOps appliqué à l’analytique, quant à lui, se concentre également sur la donnée. On peut donc dire que le DevOps analytique se soucie tout autant de la fiabilité et de la qualité de la donnée, que du bon fonctionnement des applications.

Concrètement qu’est-ce que cela signifie ? Un changement de code peut avoir des implications majeures. Sans tests préalables, il peut déstabiliser l’environnement au point de mettre la production à l’arrêt. Résultat ? Plus aucune donnée fraîche consommable, compliquant grandement le pilotage de l’entreprise, au moins jusqu’à ce que le problème soit identifié et adressé, ce qui peut demander du temps.

Sans déstabiliser l’environnement, il se peut qu’un changement de code puisse fausser les résultats générés. On se retrouve donc avec des données inexactes pour guider des décisions. Et là où un arrêt complet de la production est tout de suite identifiable, un ensemble de données incorrectes peut mettre plusieurs mois avant d’être identifiés et donc induire en erreur le décisionnaire.

Les efforts du DevOps analytique sont donc concentrés en ce sens : anticiper tous les problèmes qui pourraient impacter la fiabilité des données. En suivant la méthodologie DevOps (travail et test en parallèle, cross-checking systématique des modifications de code, industrialisation des tests à des étapes précises, génération d’alertes automatiques en cas de suspicion), les DevOps garantissent une donnée fiable, condition indispensable à une bonne prise de décision.

Vous connaissez désormais l’intérêt du DevOps et plus spécifiquement, du DevOps dans un projet analytique. Mais votre entreprise est-elle prête pour le DevOps ? Pour aller plus loin dans votre réflexion, voici quelques questions que nous vous invitons à vous poser :

  • Quel est le niveau de collaboration entre vos équipes de développement et opérations ? Sont-elles prêtes à appliquer le DevOps ? De quoi ont-elles besoin pouvoir appliquer le DevOps ?
  • Quels processus garantissent la fiabilité de vos données et de vos environnements ? Êtes-vous certains de la fiabilité de vos données et de votre environnement ?

Vous souhaitez approfondir vos connaissances sur le sujet ? Nous vous invitons à découvrir notre cas client sur le sujet : faciliter l’opération d’un lac de données grâce au DevOps, ou à contacter l’un de nos experts.