Sujets de classe renversée

imt

La promo va être divisée en groupes. Le but ici est d’explorer par vous-même des thèmes importants en systèmes distribués et de réussir à donner de l’information sur ce sujet aux autres.

Votre présentation devra contenir les éléments suivants pour un total de 5 à 10 minutes :

  • quelques slides d’explication sur le sujet, son importance, ses concepts etc.,

  • eventuellement quelques slides sur un outil spécifique qui répond au problème,

  • une tutoriel à l’image de ceux vus en cours, mais pas besoin de préparer un support.

Pour vos tutoriels, pensez à vous faciliter le travail avec Docker ! Il existe bien souvent des images Docker avec déjà les outils évoqués ci-dessous d’installés et configurés et prêts à l’emploi (Nginx, RabbitMQ, REDIS) ! Aussi n’hésitez pas à vous baser sur des tutoriels existants et à les faire évoluer !

Pour le sujet 7 dit "théoriques", un tutoriel n’est pas demandé, mais il faut aller beaucoup plus loin dans la présentation du problème, son explication théorique, et la présentation des solutions existantes, le tout en étant pédagogique.

Pour chaque sujet je vous donne un certain nombre de pointeurs mais libre à vous d’en chercher d’autres suivant votre besoin ! À noter que vous pouvez aussi faire un tour sur les tutoriels Youtube (même si les vidéos c’est très mauvais énergétiquement) où on a parfois de très bonnes explications.

1. Sujet 1 - Load balancer and NGINX

Quelques liens qui me semblent pertinents pour apprendre les concepts généraux sur le load balancing :

Voici quelques liens pour en savoir plus sur le load balancer NGINX en particulier :

Attention Nginx sait faire plein d’autres choses que load balancer, limitez-vous à cette fonctionnalité !

2. Sujet 2 - Message queue, publish-subscribe and RabbitMQ

Quelques liens qui me semblent pertinents pour apprendre les bases sur le message queue et le publish-subscribe :

Voici quelques liens pour en savoir plus sur RabbitMQ :

3. Sujet 3 - NoSQL databases and REDIS

Quelques liens qui me semblent pertinents pour les avantages et inconvénients des bases de données NoSQL :

Voici quelques liens pour en savoir plus sur REDIS :

Pour aller plus loin, et faire le lien avec le sujet du groupe 4 vous pouvez regarder la thématique de Sharding et l’utilisation de Cassandra :

5. Sujet 5 - FastAPI

Il s’agit ici de découvrir le framework FastAPI, qui peut être un remplacement de Flask pour construire rapidement une API.

Un seul lien donc : https://fastapi.tiangolo.com/

Il y a aussi sans doute pas mal de vidéo tutoriel. Ce sujet étant un peu plus facile et moins technique, j’attends un tutoriel très complet sur les fonctionnalités de ce framework !

6. Sujet 6 - Mule Studio

Même idée que le sujet précédent mais avec l’outil Mule Studio qui est graphique. On peut télécharger une version d’essai de 30 jours.

Un seul lien là encore : https://www.mulesoft.com/platform/studio

Il y a aussi sans doute pas mal de vidéo tutoriel. Ce sujet étant un peu plus facile et moins technique, j’attends un tutoriel très complet sur les fonctionnalités de ce framework !

7. Sujet 7 - théorique - Distributed databases, CAP theorem

Quelques liens qui me semblent pertinents pour les avantages et inconvénients des bases de données distribuées et sur le CAP theorem :