Comprendre les concepts fondamentaux des applications distribuées
Apprendre à concevoir et à mettre en œuvre des applications distribuées Acquérir une compréhension des défis liés à la scalabilité, à la disponibilité et à la tolérance aux pannes des applications distribuées
Matériel nécessaire :
Accès à internet Ordinateur avec un environnement de développement intégré (IDE)
Plan du cours :
I. Introduction aux applications distribuées
Définition des applications distribuées et leur utilisation
Avantages de l'utilisation d'applications distribuées par rapport aux applications centralisées
II. Concepts fondamentaux des applications distribuées
Architecture des systèmes distribués
Modèles de communication entre les nœuds (synchrones, asynchrones) Modèles de coordination entre les nœuds (partitionnement, réplication, consensus)
III. Conception d'applications distribuées
Best practices pour la conception d'applications distribuées
Conception d'applications distribuées basées sur les microservices Conception d'applications distribuées basées sur les conteneurs Conception d'applications distribuées basées sur le cloud
IV. Mise en œuvre d'applications distribuées
Utilisation de frameworks de développement d'applications distribuées tels que
Kubernetes, Docker, Mesos Implémentation d'applications distribuées en utilisant les langages de programmation courants tels que Java, Python, Node.js Déploiement et gestion d'applications distribuées
V. Scalabilité, disponibilité et tolérance aux pannes des applications distribuées
Mesures pour augmenter la scalabilité des applications distribuées Mesures pour augmenter la disponibilité des applications distribuées Mesures pour augmenter la tolérance aux pannes des applications distribuées Test de charge et de fiabilité des applications distribuées
VI. Activité pratique
Créer une application distribuée simple en utilisant un framework de développement