Ensimag Rubrique Formation 2022

Systèmes distribués pour le traitement des données - 5MMSDTD7

  • Volumes horaires

    • CM -
    • Projet 27.0
    • TD -
    • Stage -
    • TP -
    • DS -

    Crédits ECTS

    Crédits ECTS 2.0

Objectif(s)

Le but de ce projet est de concevoir et déployer automatiquement une application distribuée de traitement de données. L'application sera basée sur les principaux frameworks employés dans le monde du Big Data. L'application sera déployée automatiquement sur une infrastructure de Cloud publique.

Les étudiants seront répartis en équipe d'environ 5 étudiants.

Responsable(s)

Thomas ROPARS

Contenu(s)

Les étudiants réaliseront un système distribué de traitement de données. Ces systèmes sont très utilisés aujourd'hui dans de nombreux secteurs d'activités (analyse de la bourse, analyse de données de capteurs, analyse de traces de mobilité, etc.). Les étudiants auront libre choix du secteur d'activité ciblé par le système qu'ils réaliseront.

Un système de traitement de données comprend différents composants logiciels (tous distribués sur plusieurs machines) :

  • un composants de capture de données
  • un composant de stockage de données brutes
  • un (ou plusieurs) composant(s) de traitement de données
  • un (ou plusieurs) composant(s) de stockage de données traitées
  • un composant de visualisation

Le projet sera réalisé en utilisant les technologies standards largement employées par les grandes entreprises telles Google, Facebook, Yahoo!, LinkedIn, etc. A titre d'exemple, les étudiants pourront utiliser :

  • Kafka, Samza pour la capture de données
  • Spark, Flink pour l'analyse des donnée
  • Cassandra, MongoDB, InfluxDB pour le stockage de données traitées

De plus les étudiants devront mettre en place l'infrastructure logicielle nécessaire à la configuration, au déploiement et à la reconfiguration automatique de leur application en vue de leur exécution dans un environnement de type Cloud Computing (Ex: AWS, Azure, etc.). Cette mise en place se fera à l'aide:

  • d'outils d'approvisionnement et de configuration de ressources (ex: Ansible)
  • d'outils de configuration et de déploiement logiciel (ex: Docker)
  • d'outils d'orchestration (ex: Kubernetes)

Prérequis

Réseaux, systèmes distribués, bases de données.

Contrôle des connaissances

Démonstration de la réalisation lors de soutenances. Rapport et documentation.

    • MCC en présentiel et distanciel **
      N1=P
      pas de rattrapage

Calendrier

Le cours est programmé dans ces filières :

cf. l'emploi du temps 2023/2024

Informations complémentaires

Code de l'enseignement : 5MMSDTD7
Langue(s) d'enseignement : FR

Le cours est rattaché aux structures d'enseignement suivantes :

Vous pouvez retrouver ce cours dans la liste de tous les cours.