Systèmes distribués Cloud Computing

Clouds
Abstract

Le but de ce cours est de fournir une vue d'ensemble sur les sujets et les tendances récentes dans le domaine des systèmes distribués et du « cloud computing ». Nous discuterons des techniques logiciels utilisées pour la conception et la programmation des systèmes fiables, pouvant passer à l'échelle.

Nous aborderons également la conception d'architecture des centres de données modernes et les techniques de virtualisation qui constituent un thème central du paradigme de « cloud computing ».

Le cours est complété par un nombre de séances de laboratoire pour obtenir une expérience pratique avec Hadoop et la conception des algorithmes avec MapReduce.

Modalités pédagogiques : Cours magistraux et séances de travaux pratiques (groupes de 2 étudiants).

Règles du Cours : La participation aux séances de travaux pratiques est obligatoire.

Bibliography
  • Livre : KARAU H., KONWINSKI A., WENDELL P., ZAHARIA M. Learning Spark. O'Reilly, 2015, 274p.

  • Livre : LIN J., DYER C. Data-intensive Text Processing with MapReduce. Morgan & Claypool Publishers, 2010, 178p.

  • Livre : WHITE T. Hadoop: The Definitive Guide. O’Reilly, 2015, 756p.

  • Livre : SAMMER E. Hadoop Operations. O’Reilly Media, 2012, 298p.

  • Livre : LARS G. HBase: The Definitive Guide. O’Reilly, 2011, 554p.

Requirements

Connaissance des structures de données, de la conception d'algorithmes et leur analyse. Familiarité avec Java et au moins un autre langage de programmation (python, scala).

Description
  • Introduction
  • Conception d'algorithmes pouvant passer à l'échelle
  • Architecture d'Apache Hadoop
  • Architecture d'Apache Spark
  • Ordonnanceurs pour cluster et datacenter
  • Algèbre Relationnelle
  • Apache Pig et Pig Latin
  • Systèmes de stockage distribués
  • Coordination des systèmes distribués avec Apache Zookeeper
  • Sélection de sujets dans le domaine du Cloud Computing

Résultats d'apprentissage :

  • Comprendre, identifier et utiliser les architectures de systèmes distribués
  • Conception et implémentation d'algorithmes distribués pouvant passer a l'échelle
  • Comprendre et utiliser les systèmes de stockage distribués

Nb heures : 42.00, dont au moins 5 TP (15 heures)

Evaluation  : Rapports des séances de travaux pratiques (50%), Examen final écrit (50%)