Construire un alternative à l’environnement HADOOP on premise via Kubernetes, outils de traitement de la donnée et les solutions de stockage objet ou bloc
Explorer le stateful sur Kubernetes

Missions

  • Découvrir les opérateurs Kubernetes liés au stockage.
  • Faire tourner un cluster Spark sur Kubernetes,
  • Identifier les impacts sur la configuration du cluster, les traitements et les algorithmes mis en place, la performance et analyser les avantages et inconvénients de ce genre de solution.
  • Identifier des patterns d'architecture et des outils stateful de traitement et stockage de la donnée dans Kubernetes

Conditions

Type of internship:Stage de fin d'études
Location:Paris
Salary:1500 € bruts
Date:2021

Profile

  • F/H
  • Vous voulez monter en compétence sur le Big Data et le traitement distribué des données.
  • Vous vous intéressez aux différents patterns et architectures pour monter des solutions résilientes.
  • Vous avez la volonté de découvrir un projet Open Source, lire le code et n’avez pas peur de descendre dans le code source pour comprendre l’implémentation.
  • Vous avez des connaissances en conteneurisation/docker.
  • Vous avez déjà la maîtrise d’un langage de programmation: Scala (idéalement), Python ou Java.

Context

Etudier Kubernetes et ses opérateurs comme un orchestrateur permettant de tourner des jobs de traitement de la donnée ainsi que des solutions de stockage et de partitionnement et identifier les limites de ces architectures Stateful sur une infrastructure Kubernetes

Internship target

Etape 1: Vous allez vous familiariser avec Scala. Vous découvrirez l'écosystème Kubernetes et vous allez approfondir vos connaissances en outils de conteneurisation, spécialement Docker. Vous ferez vos premiers pas avec Spark, Kafka … et les patterns de traitement de données en mode distribué. Vous ferez un tour d’horizon des solutions de stockage distribuées. A la fin nous identifierons les solutions que nous voudrons creuser et nous concevrons une architecture d’un datalake sur Kubernetes.

Etape 2: Nous allons jouer avec kubernetes et tous les outils sélectionnés, implémenter l’architecture conçue, faire tourner différents jobs Spark en batch ou au fil de l'eau sur des grands volumes de données, jouer avec la modélisation et le partitionnement de la donnée, tuner les différents clusters que nous monterons et enfin collecter tous les métriques possibles.

Etape3: Exploiter les résultats de l'étape 2 pour optimiser notre architecture, nous profiterons de toutes ces connaissances pour pousser l'architecture conçue à ses limites et analyser les performances.

Etape4: Partager via des articles, des BOFs, des BBLs ou un talk à un meetup

Management

Vous serez encadré•e par deux consultant•e•s un•e data engineer de la tribu NAD et un•e OPS de la tribu OPS chez OCTO. Vous serez suivi•e tout au long de votre projet (entretiens hebdomadaires avec votre tuteur•rice, soutien de la communauté OCTO en cas de difficultés techniques...).