BOOST MY DATA LAKE

 

Il EST POSSIBLE DE TIRER LE MEILLEUR DE SA PLATEFORME DATA ‘ON PREMISE’…. GRACE AU CLOUD

 
 

Bien souvent, les plateformes Data Lake On premise créées – qui sont sur le chemin critique des attentes métiers – ne répondent pas à toutes les attentes placées en elles.

 

Cette situation, nous l’avons que trop souvent constatée sur le terrain de nos clients, en règle générale pour des raisons de contraintes techniques.

 

Nous vous présentons ci-dessous comment, avec un peu de liberté d’action, nous parvenons à lever bon nombre de ces contraintes, et ainsi améliorer la satisfaction des utilisateurs Métiers dans l’exploitation de leur Data Lake interne.

 
Nous exploitons la rapidité, la souplesse et l’élasticité du cloud, pour tester et valider des optimisations et en retour améliorer très nettement l’accès aux données des Datalake clients On premise.
 
 

 

Souvent, les Plateformes Data “On Premise” de nos clients laissent apparaître deux problématiques majeures qui freinent une exploitation optimale des données :

 1  La liberté de composition des technologies mises en oeuvre :

 
  • nouvelles versions, [de spark 1.6 à 2.0 à 2.2 à 3.0 … ] [de elastic 5 à 6 à 7 à 7.6]
  • nouvelles options, [SQL on stream , Rollup, Compression, Shards, GPU]
  • nouvel agencement des responsabilités entre Stockage, Bases de données NoSQL, Moteurs d’indexation….
 

 2  La disponibilité des données :

  • Se préparer à une cible qui va démultiplier les volumes de données et la vitesse d’acquisition,
  • Anticiper une nouvelle source dont on n’a pas de représentativité.

Il est en effet difficile de déployer des clusters, des serveurs, des logiciels pour des explorations qui pourraient être ensuite écartées si elles ne sont pas pertinentes ou au contraire intégrées au périmètre existant parce qu’elles peuvent en améliorer l’efficacité. Et pourtant, c’est de cette marge de manoeuvre, de cette capacité d’adaptation de sa plateforme, que les solutions émergent.

C’est pour cela que, même si la cible reste l’infrastructure du client, nous faisons un usage extensif des plateformes Cloud pour élaborer les stratégies gagnantes.

Pour ce faire, notre premier défi consiste à modéliser l’architecture des données de nos clients (typologie des données, distribution, volume, MCD etc …)

 

Nous nous reposons sur un certain nombre de développements et de réflexes qui accélèrent les résultats.

  1. Un générateur de données,
  2. Des scripts de déploiement d’architectures,
  3. Des simulateurs de requêtes,
  4. Des tableaux de bord.

 1  Générateur de données…

pourquoi ?

Voici ce que nous réalisons, en l’adaptant à chaque contexte client :

 2  Des scripts de déploiement d’architectures

Pour multiplier les déclinaisons d’architectures, l’automatisation de création d’architectures dégage de grands gains de productivité :

  • Création de clusters,
  • Ajustement de l’architecture au besoin,
  • – scalabilité verticale : tester l’impact d’une puissance plus importante par machine,
    – scalabilité horizontale : tester l’impact d’une association de machines,

  • Facilité de passage en production.

Au travers de scripts Terraform, cloud Formation ou autre, nous mettons sur pied des cluster en quelques minutes.

 3  Des simulateurs de requêtes

Pour tester précisément la réactivité et la robustesse des solutions avec des requêtes adaptées aux contextes métiers, nous avons développé nos propres injecteurs qui:

  • Parallélisent les stimulations,
  • Suivent des courbes de charges paramétrables,
  • – pics de charge,
    – proportions maîtrisées entre requêtes simples et requêtes complexes (qui peuvent mettre à mal l’architecture quand elles sont sur représentées)

  • S’appuient sur des jeux de donnés adaptés pour renseigner les prédicats.

 4  Tableaux de bord :

Au travers de productions de tableaux par des notebooks ou par l’usage de solutions telles que Grafana ou Kibana, nous automatisons largement la production des données sur lesquelles vont reposer les décisions en sortie de Benchmark :

  • Pour capter et normaliser les temps de réponses selon les différentes requêtes,
  • Pour comprendre finement la manière dont sont sollicitées les infrastructures et les dimensionner correctement.


Les bénéfices en sont :

Accélérer les enseignements

  • Disposer rapidement d’un environnement de test et benchmark opérationnel.
  • Faire tomber les délais de mise en confidentialité des données ne travaillant quà partir de données synthétiques,
  • Possibilité de mener en parallèle des tests, en particulier grâce à l’élasticité du cloud.

Repousser les limites de son architecture

En testant et en optimisant à la limite, on définit des zones de fonctionnement optimales, qu’on cherche à repousser en combinant les différentes stratégies.

Tester de multiples scénarios métier

  • Variété de distribution des données, hypothèses basses et hautes de volumes captés,
  • Variété des types de sollicitations par les utilisateurs.

Ouvrir des possibilités alternatives

  • On touche les limites de l’optimisation de BigQuery / Athena / Hive (etc…) ?
  • Pourquoi ne pas tester de monter les données dans HBase (+Phoenix), Druid, ClickHouse, … ?

Optimiser les coûts infrastructures

L’empreinte d’infrastructure est ajustée continuellement pour cette phase :

  • Stockage à froid dans des réceptacles économiques (cloud storage)
  • Lancement de solutions serveurs pour les seuls moments d’utilisation lors du benchmark (heures et jours ouvrés),
  • Mise au point sur des petites infrastructures, passage à l’échelle une fois que les certitudes sont acquises

Voici en résumé quelques enseignements que nous avons dégagés lors de récentes missions :

Cette méthodologie mise en œuvre ces derniers mois nous a permis de proposer des optimisations fortes pour nos clients. Ces missions, nous les réalisons à 75% au sein du DataLab Novagen, et 25% en présentiel client, et pour des coûts serrés, ayant développé en interne les outils qui nous permettent d’accélérer la simulation des données clients.

Nous apprécions fortement de pouvoir proposer une telle souplesse à nos clients. Les enseignements que l’on en retire permettent à ces derniers d’optimiser leur plateforme On Premise, pour des coûts réduits.