DevOps & Dataviz, un amour impossible ? - Compte-rendu du talk de Mohamed Nidhal Safta & Jérôme Lambert à La Duck Conf 2021

le 23/03/2021 par Marwa MAHFOUD
Tags: Software Engineering

L’amour entre les pratiques DevOps et les projets de data visualisation est possible mais il n’est pas sans embûche.

C’est la conclusion à laquelle sont arrivés Jérôme et Nidhal à travers leur expérience d'industrialisation d’un projet de data visualisation, qui leur a fait découvrir comment marier deux pratiques issues de deux époques différentes : la Dataviz et le DevOps.

Pour commencer, nous allons faire un petit saut en arrière sur les dates clés de l’évolution de la Dataviz.

Quelques dates clés

  • En 1865 : Première apparition des concepts de la Business Intelligence comme mise à disposition d’information nécessaire à la prise de décision.

  • À partir des années 70 : Apparition des bases de données relationnelles, des feuilles de calculs, et des outils de dataviz moderne comme MicroStrategy, SAP BO, Qlik.

  • En 2004 : Sortie du logiciel Tableau

  • Entre 2012 et 2014 : Arrivée de Looker et Microsoft power BI

La plupart des outils de Dataviz ont vu le jour bien avant la création des concepts DevOps, ces derniers étant apparus pour la première fois en 2007.

De la Business Intelligence à l’Augmented Analytics

La Dataviz a connu une grande évolution au cours de la dernière décennie. En 2010, nous ne parlions que de business intelligence. Le terme visual analytics s’est répandu 5 ans plus tard, pour désigner la construction de dashboards dynamiques pour les analyses poussées. Récemment, en 2020, l’approche augmented analytics est apparue, ce qui rend aujourd’hui possible l’accès à une analyse ou un KPI via son téléphone portable en écrivant ou exprimant en langage naturel la requête voulue.

Cette incroyable évolution de l’interaction entre l’individu et la donnée est le fruit de l’accélération d’accès à la donnée.

Ceci s’explique par l’émergence, depuis les années 2010, de trois nouveaux paradigmes :

  • Omniprésence de l’intelligence artificielle
  • Accès rapide et instantané à la donnée
  • L’explosion de la donnée grâce au Big Data

“Aujourd’hui, on a plus de téléphone mobile dans le monde que de brosses à dents”

L’approche DevOps

Une question s’est posée lors de la réalisation de ce projet dataviz : pourquoi oublie-t-on les bonnes pratiques d’automatisation lorsqu’on travaille dans la dataviz ?

Dans le monde de la dataviz, il y a de fortes chances de travailler avec les outils éditeurs. Beaucoup d’éditeurs sont apparus avant l’approche et la méthodologie DevOps.Les limitations techniques de certains outils de dataviz ne sont pas adaptés au DevOps.

L'approche DevOps s’organise sous plusieurs axes. Dans le cas du projet de nos speakers, les 3 axes adoptés ont été :

  1. Le contrôle de version
  2. L’automatisation des tests
  3. L’automatisation du déploiement

“Je passe 90% de mon temps à automatiser, et mon but c’est de me rendre inutile“

Tanguy, consultant DevOps chez OCTO Technology

Le contrôle de version

Le développeur code en local, puis publie son travail dans le cloud Microsoft.

Il fait une sauvegarde dans Azure DevOps à travers un commit avec message.

L’automatisation des tests

Microsoft n’expose pas d’outils permettant de tester.

L’équipe a alors utilisé Dax studio, un outil non-natif à Microsoft mais qui s’intègre très bien à l'environnement Microsoft.

Il permet d'écrire le code des tests et de les lancer, que ce soit des tests de code, ou des tests de données.

L’automatisation du déploiement

L’approche fail fast a été adoptée.

Pour réaliser le déploiement, nous devons être capable, dans le cadre du projet, de :

  • Se connecter à Power BI
  • Déplacer un fichier dans Azure DevOps vers les environnements de Dev, Test et  Prod
  • Mettre à jour un fichier

L’équipe a réussi à intégrer la pipeline dans une chaîne de CI/CD mais ne l’a pas mise en production.

Elle utilise une fonctionnalité de Microsoft Power BI appelée pipeline de déploiement qui permet de déployer dans les différents environnements en no-code.

L’intégration du pipeline de déploiement dans Azure Devops sera disponible en mars 2021. Cette intégration permettra à l’équipe de faire évoluer l'architecture et d’intégrer le pipeline de déploiement dans la chaîne de CI/CD.

Pour le moment, cette fonctionnalité n’a été déployée que sur Microsoft Power BI depuis mai 2020.

Bilan global du REX

  • Gain en compétences pour l’ensemble des consultants (dataviz et ops) sur les pratiques des uns et des autres et cohabitation de deux cultures différentes au sein d’un même projet.
  • Fiabilisation du produit délivré
  • Analyse par l’équipe de dataviz de l’interaction des différents éditeurs avec les pratiques DevOps et identification de trois grandes familles :
  1. Les éditeurs qui permettent de manière native de mettre en place un déploiement continu. (Ex. Looker)
  2. Les éditeurs qui adoptent une stratégie d’évolution externe en achetant les briques manquantes pour mettre en place ces pratiques (Ex. Qlik), ou interne en les développant eux même. (Ex. Microsoft)
  3. Les éditeurs qui sont en cours de réflexion sur la mise en place de ces pratiques (Ex. Tableau) et nous, Octos, faisons des tests pour comprendre comment intégrer de l’automatisation dans ces outils.

Pour aller plus loin, découvrez nos formations :
> Fondamentaux de la Data Literacy
> Fondamentaux de la Data Visualisation
> DevOps : fondamentaux et retours d’expérience