Le reverse engineering pour une véritable observabilité des données

 

 

Le reverse engineering est "le processus de déconstruction d'un produit ou d'un système pour comprendre son fonctionnement et l'améliorer". Il est le préalable indispensable à une véritable observabilité. 

 

Le reverse engineering peut être appliqué à divers domaines. 

 

Nous nous intéressons particulièrement à tout ce qui concerne les Systèmes d’Information, et en particulier les données - et tout ce qui permet de les rendre exploitables : stockage, traitement, exposition. 

 

Pourquoi ?

 

Parce que c’est la partie la plus inflationniste et la plus hétérogène des systèmes d’information, donc la plus complexe. 

 

Les "moves" vers le Cloud ont imposé des modernisations rapides, mais ils n’ont pas ralenti cette marche continue vers l’hyper complexification. 

 

Les projets de "modernisation", d’effacement de la dette IT, ou de simple partage de la connaissance devraient s’appuyer sur une solide observabilité des données permise par le reverse engineering technique des systèmes.

 
 
 

Pour une observabilité  objective, 

un reverse engineering exhaustif

 

On ne peut considérer vouloir maîtriser quelque chose si on ne l’observe qu’à moitié. 

Le reverse engineering du système de données doit être exhaustif !

 

Cette approche doit permettre de créer une cohérence d’ensemble, de rendre la lecture du système agnostique. 

Il nous paraît indispensable a minima d'analyser les 5 piles techniques ci après :

Inventaire des données, physiques persistées ou in memory, vues, rapports...

Analyse des logs, 

pour comprendre la consommation et l’injection des données.

Parsing du scheduler, 

pour comprendre l’ordonnancement.

Reverse engineering sur le code, pour générer un data lineage.

Introspection de la couche de data visualisation, 

pour connaître l’articulation entre l’information technique et métier, pour rassembler l’intelligence (les règles métier).

 

Pour une observabilité objective, un reverse engineering en temps continu

 

Ces analyses devraient être conduites en temps continu pour garantir une vision objective des choses : ce que j’ "observe" doit être le reflet exact de la réalité. 

 

Les volumétries à analyser sont souvent si importantes, qu’il faut biaiser pour permettre ces analyses quotidiennes, par exemple passer par une analyse au delta, ou CDC (" Change Data Capture").

 

Les vertus du reverse engineering 

dans un cadre d’observabilité des données

 

Observabilité et Conformité

Avec l'avènement du cadre de protection des données à caractère personnel (GDPR), une cartographie précise et des contrôles renforcés sur les traitements impliquant les données personnelles sont désormais indispensables. Dans cette perspective, une observabilité basée sur une analyse continue des processus se présente comme un facilitateur. Elle permet de représenter les différents processus de production des données et d'identifier les erreurs de traitement dans des chaînes. D'autant que les investigations peuvent être déclenchées très simplement par des équipes n’ayant pas de connaissances techniques.

 

Observabilité et Sécurité

Le reverse engineering aide à identifier et à corriger les faiblesses et vulnérabilités dans la conception ou la sécurité des systèmes de données. 

Si une table technique sensible portant un nom abstrait diffuse ses données dans un système, et que ces données finissent par être requêtées par une personne non habilitée, personne n’en saura rien. 

Avoir une cartographie précise des flux pour faire du sourcing ou de l'analyse d'impact aidera dans ce contexte DLP (Data Loss Prevention). 

 

Observabilité et Gouvernance

Un reverse engineering solide offre à toute l’entreprise un référentiel détaillé, décrivant les flux de données, ainsi qu'une vision partagée de l’architecture du système, favorisant ainsi le développement d'une gouvernance des données efficace et d'une stratégie de qualité des données. Cette connaissance approfondie du système est également d'une grande utilité pour architecturer les projets de façon optimale : 

  • En mettant en lumière les flux stratégiques et toutes leurs dépendances. 
  • En offrant un outil précieux pour la conception d'une architecture optimale par la simplification des systèmes d'information : en effet, la définition des usages de l’information couplée à l’analyse du processing (data lineage) permet d’identifier les flux de données inutiles dans les systèmes d’information, préalable à de vastes opérations de décommissionnement.
 

Observabilité et Obsolescence technologique

Le reverse engineering permet de remettre en lumière les couches techniques basses en exhumant leurs spécifications et en les partageant. 

Cela peut permettre de prolonger le cycle de vie de certains outils pour réduire les coûts. Par exemple, si vous disposez d'une lecture intelligible et partagée au plus grand nombre de toute la couche Cobol, il est potentiellement moins urgent d'en sortir.

 

Observabilité et Créativité

En s'inspirant des meilleures pratiques et innovations des autres, l’observabilité favorise la reconduction des bonnes pratiques. Car on n’invente que ce que l’on a oublié ! 

En analysant les procédés historiques, on peut puiser des (bonnes) idées anciennes pour générer de nouvelles méthodes.

 

Observabilité et Maintenance

Le reverse engineering permet d'analyser les échecs en révélant les causes profondes des dysfonctionnements. Cette analyse aide à prévenir les futures défaillances et à améliorer la qualité du système. L’intervention sur la cause racine de l’échec est largement facilitée par la mise à disposition du plus grand nombre d’une cartographie du système d’information.

 

Observabilité et Migrations

Un solide reverse engineering basé sur les processus réels permet d’avoir une compréhension de ce qui est géré par les différentes technologies impliquées : ETL, code procédural, scheduler, outils de data visualisation, etc. Cela ouvre la porte à un ré-adressage technologique vers des solutions tierces, typiquement dans le Cloud, en intégrant l’épineuse question des dépendances et de la sécurité. Il peut s'agir de bases de données ou d'outils de data visualisation.

 

                                              Exemple :  

Migrer SAP BO vers Power BI au forfait 
 

Conclusion 

 

Le reverse engineering se révèle être un outil indispensable pour garantir une observabilité optimale des données. 

Ellipsys est une "tech" qui s'est spécialisée dans le reverse engineering de systèmes complexes pour permettre d'en partager la compréhension, pour permettre de les simplifier et pour permettre d'automatiser des migration techniques. 

 

Commentaires

Posts les plus consultés de ce blog

La Data Observabilité, Buzzword ou nécessité ?

BCBS 239 : L'enjeu de la fréquence et de l'exactitude du reporting de risque

Le data lineage, l’arme idéale pour la Data Loss Prevention ?