L’équipe Data Engineering & BI d’ITNOVEM

Le centre d’expertise Data Engineering & BI de la Factory Data & IA d'ITNOVEM est une équipe de plus de 20 développeurs spécialisés dans le traitement de données complexes, potentiellement sur des volumes importants. Son objectif : livrer des applications performantes, robustes et s’intégrant au mieux avec les standards du Groupe. Richard Rebhann, responsable du centre d’expertise Data Engineering & BI d'ITNOVEM, nous livre sa parole d'expert sur son service.

Publié le 11 juillet 2023 par Com itnovem

L’équipe Data Engineering & BI d’ITNOVEM

Nous proposons au travers de ce billet de décrire les domaines d’interventions de l’équipe, la manière dont les projets sont menés et enfin les outils à notre disposition. L’objectif est également de donner de la visibilité aux lecteurs n’appartenant pas – encore, peut-être de futurs candidats ? – à la SNCF, certains paragraphes apparaitront comme évidents ou simplifiés aux cheminots.

Une équipe au service des besoins du Groupe

Pour appréhender la variété des sujets traités au sein de la Factory Data & IA ITNOVEM, il faut comprendre son positionnement au sein de Groupe SNCF. Celui-ci est divisé en plusieurs entreprises prenant la forme juridique d’une Société Anonyme (SA). Il y a en particulier une séparation forte entre SNCF Réseau (propriétaire du réseau ferroviaire) et SNCF Voyageurs (exploitant commercial des trains, comprenant les branches telles que TGV, TER ou Translien), pour des raisons d’ouverture à la concurrence. On peut ici dresser un parallèle avec la création d’Enedis (ex-ERDF, gestionnaire du réseau de distribution électrique) qui fournit l’énergie commercialisée par des acteurs publics (EDF) et privés (Total, EkWateur…).

Il existe ainsi plusieurs DSI rattachées aux SA, filiales et branches qui les composent. Chaque DSI est garante des projets de son périmètre, mais n’en réalise pas toujours l’implémentation technique. ITNOVEM, en tant que filiale technologique, peut apporter son appui à l’ensemble des DSI, et adresse donc un panel très varié de problématiques ferroviaires.

Au sein de la Factory Data & IA et plus particulièrement du côté des projets confiés à l’équipe Data Engineering & BI, on peut regrouper la majorité des projets sous trois thématiques.

La première thématique concerne l’énergie. La SNCF est le premier consommateur d’électricité en France, la majorité des trains utilisant ce mode d’alimentation. De ce fait, la gestion de la consommation de l’énergie électrique est un enjeu économique majeur pour le Groupe. D’un point de vue Data, ce besoin se décline par une meilleure connaissance des consommations passées (à des fins statistiques). Cette mesure peut paraitre simple, mais pour un parc de matériel roulant de plusieurs dizaines de modèles, dont certains ont plus de 40 ans, les données collectées sont hétérogènes et souvent trop pauvre. Il convient donc de s’appuyer sur de très nombreuses sources (météo, consommation passée, plan de transport, etc.) ainsi que sur des algorithmes métier spécifiques. Avant même de faire intervenir des mécanismes de prédiction tels que le Machine Learning (voir l’article https://www.itnovem.com/prevoir-les-consommations-electriques-grace-a-past/), des gains significatifs peuvent être trouvés par une meilleure connaissance et analyse de notre existant.

« Grâce à ces projets, nous sommes en capacité de facturer l’ensemble des consommations électriques mais également de prédire et d’acheter sur les marchés financiers, la quantité d’électricité nécessaire au besoin du groupe SNCF. »

Rémi Bihouis, Directeur de Mission Energie

La seconde thématique récurrente est la maintenance, un grand classique de la Data appliquée à l’industrie. La SNCF est en charge de la maintenance du Réseau (voies, caténaires, signalisation), mais également du matériel roulant. La Data aide ici à optimiser les pas de maintenance, par exemple :

  • en les allongeant pour des séries fiables, faisant ainsi diminuer les coûts
  • en les raccourcissant pour certains défauts connus, évitant ainsi les pannes en service
  • en les anticipant, parfois en temps réel, pour un équipement donné pour lequel les données nous arrivent en direct

« Au-delà des aspects économiques liés à une maintenance toujours plus performante et ciblée grâce à la Data, la SNCF poursuit son engagement pour la préservation du climat. Une infrastructure et un matériel roulant mieux entretenus garantissent une meilleure durabilité, un sujet au cœur des préoccupations actuelles de notre société. »

Camille Samson, Directrice de Mission Matériel et Réseau

Enfin, la troisième thématique forte est la connaissance des usagers. Peu importe le secteur, la Data est un pilier de la connaissance client et aide au sein du Groupe à ajuster les offres commerciales, mesurer la satisfaction client, détecter et catégoriser les fraudes, ou encore identifier de nouveaux besoins de mobilité. De par la complexité historique et organisationnelle des entités porteuses de la relation client, c’est la thématique qui draine les plus fortes volumétries de données dans l’entreprise, et pour laquelle les enjeux de performance sont donc critiques. L’équipe Data Engineering & BI aide ici à transformer et enrichir cette donnée au service des analystes des différentes branches commerciales.

« A l’heure de l’ouverture à la concurrence, pouvoir collecter, comprendre et interpréter les données clients quasiment en temps réel permet au groupe d’être très réactif et d’adapter plus fréquemment et au bon moment ses offres de services aux clients. »

Norynh Somchit, Directeur de Mission TGV

Bien évidemment, ces thématiques n’englobent pas la totalité des besoins Data du Groupe. Nous traitons également bon nombre d’autres sujets d’ordre financier, réglementaire ou liés à la sécurité, pour n’en citer que quelques-uns.

Les projets Data Engineering & BI

Au sein de l’équipe Data Engineering & BI, nous intervenons lors des phases de cadrage, conception, réalisation et exploitation des projets.

Les phases de cadrage et conception visent à identifier le besoin de notre interlocuteur métier, les sources de données utiles et les traitements à leur appliquer.

Nous passons la majeure partie de notre temps sur les phases de réalisation, c’est-à-dire la construction d’une application. Durant cette période, les data engineers écrivent les traitements conçus en phase de conception. Pour des projets menés en régie agile, la conception et la réalisation sont réalisés en itérations courtes pour favoriser les boucles de revue par le métier.

Nous travaillons en suivant les principes Agile : sprints de 2 à 3 semaines, tenue d’instances régulières avec en premier lieu le daily meeting, travail sur la base d’une backlog priorisée. Les équipes projet sont accompagnées par un Product Owner, qui est le référent du besoin fonctionnel côté métier.

Enfin, lexploitation des projets consiste à en assurer le suivi dans le temps, par une supervision des traitements et l’application de correctifs si nécessaire, par exemple dans le cas de modification du format des données en entrée.

L’une des particularités du fonctionnement des projets menés à la Factory Data & IA est une spécialisation forte des équipes. Ainsi les développeurs de l’équipe Data Engineering & BI n’interviennent pas en tant que DevOps, mais uniquement sur la partie applicative : développement bien évidemment, mais également intégration continue, déploiement automatisé, mise en place de la supervision et de l’ordonnancement. Une équipe projet est habituellement constituée :

  • d’un chef de projet, qui est garant de la tenue de nos engagements et de l’animation au quotidien. Son rôle en termes Agile est à mi-chemin entre un Proxy PO et un Scrum Master non-technique.
  • d’un architecte, qui défini l’infrastructure cloud et réseau répondant au besoin du projet
  • d’un cloud ops, qui implémente l’infrastructure définie par l’architecte et automatise sa création (principe de l’Infra as Code)
  • de développeurs, qui peuvent être des data scientists, des data engineers ou développeurs BI. Certains projets nécessitent de mobiliser plusieurs domaines de compétences.

Nos domaines d’expertise et outils

L’équipe Data Engineering & BI repose sur 3 domaines de compétences, complémentaires et couvrant toute la gamme des besoins de data engineering sur projet :

  • le calcul distribué pour les projets reposant sur des volumétries de données importantes et souvent de structure complexe
  • le développement de solutions fullstack permettant à un utilisateur final de créer, configurer et administrer ses propres traitements de données, pouvant parfois encapsuler une logique métier forte, ou des modèles de prédiction dédiés, le tout au travers d’une IHM
  • la BI (Business Intelligence) de bout-en-bout et à l’échelle, c’est-à-dire toutes les étapes permettant d’aboutir à un outil de restitution des données analytiques : traitement, stockage et modélisation, exposition

Tous les projets réalisés par la Factory Data & IA sont réalisés sur le cloud, Microsoft Azure ou Amazon AWS.

Le calcul distribué est le principe technique permettant de traiter de grandes quantités de données en un temps maitrisé tout en prenant compte l’élasticité (ou scalability, c’est-à-dire la capacité à pouvoir traiter des volumes toujours plus importants sans modifier la structure des traitements) et la maitrise des coûts.

Nos projets de calcul distribué1 s’appuient sur le framework Apache Spark, standard de facto de l’écosystème Data. Nos projets Spark sont écrits au travers du langage de programmation Scala et s’exécutent sur un environnement Databricks. Les créateurs du framework Spark sont également les fondateurs de l’entreprise Databricks, ce qui assure de leur expertise quant à la mise à disposition de plateformes d’exécution de nos applications.

« Grâce aux technologies de calcul distribué et les compétences de nos Data Engineer Spark/Scala nous sommes capable de traiter les énormes quantités des données de la SNCF et de gérer leurs complexités techniques et métier. »

Alban Phelip, Team Lead développement Big Data

Les solutions fullstack répondent à un besoin métier rendant nécessaire un contrôle de l’utilisateur final des données sur les traitements qui sont réalisés. Ce contrôle peut prendre plusieurs formes : lancer les traitements à la demande, en changer certains paramètres, visualiser l’historique voir rejouer… Le métier peut également réaliser des traitements à la carte en combinant les étapes qui ont été intégrées à son application. On comprend que ce besoin de personnalisation forte nécessite une IHM dédiée. L’équipe Data Engineering & BI a donc créé un framework permettant de décrire, orchestrer et administrer des traitements de données. Cet outil, développé en Python, permet de créer des applications dédiées pouvant de plus supporter des exécutions parallélisées sur des infrastructures cloud.

« Être DE python au sein d’ITNOVEM, c’est industrialiser une appli web au service d’un besoin métier, en concevant aussi bien l’algorithmie que la CI/CD pour rendre plus efficace les process métier. »

Thomas Elie, Team Lead développement fullstack Python

La BI est souvent adressée via la partie visuelle, au travers d’outils tels que Power BI. Cependant, pour les projets reposants sur des volumétries importantes ou des données complexes, des compétences supplémentaires sont nécessaires. Nos projets BI de bout-en-bout s’appuient sur un principe de maîtrise de la donnée depuis son ingestion jusqu’à son exposition.

En effet, pour garantir des performances satisfaisantes sur les projets exigeants, il convient de :

  • traiter les données (croisements, ajouts de colonnes, changements de formats)
  • les stocker, bien souvent à la fois dans le datalake (stockage de masse peu coûteux) et dans une base dédiée à l’exposition type datawarehouse (stockage modélisé de manière à optimiser les performances lors de requêtes analytiques)
  • les exposer au travers d’un outil tel que Power BI en apportant une attention particulière aux liens entre la restitution attendue, les dimensions de requêtes (filtres, combinaisons) et la modélisation sous-jacente

« Le développement de la BI a permis à ITNOVEM de gérer les projets jusqu’à la phase de restitution des données aux clients, sous forme de visuels adaptés à leurs besoins. »

Martin Rouault, Team Lead développement BI

Les domaines d’expertise de l’équipe Data Engineering & BI et la variété de nos projets ne peuvent pas être couverts de manière exhaustive au sein d’un même article, mais nous espérons vous en avoir donné un bon avant-goût.

Si vous souhaitez approfondir le sujet, vous pouvez vous tourner :

Tags associés à cet article :

Data-IA ITNOVEM Parole d'expert