Plan du cours
Introduction aux systèmes distribués
- Qu'est-ce qu'un système distribué ?
- Défis courants : latence, cohérence, disponibilité
- Aperçu des composants du système et modèles de communication
Principes de la scalabilité
- Échelle verticale vs. horizontale
- Balancement de charge et élasticité
- Scalabilité du stockage, du calcul et des entrées/sorties (I/O)
Modèles architecturaux
- Arcitectures client-serveur et multi-niveaux
- Arcitectures orientées services et microservices
- Arcitecture orientée événements et files de messages
Théorème CAP et modèles de cohérence
- Explication du théorème CAP
- Cohérence forte vs. cohérence éventuelle
- Choisir entre cohérence et disponibilité
Stratégies de distribution et de stockage des données
- Partitionnement et fragmentation (sharding)
- Stratégies de réplication et lectures/écritures par quorum
- Bases de données distribuées et magasins clé-valeur
Communication et coordination dans les systèmes distribués
- REST, gRPC, courtiers de messages (par exemple, Kafka, RabbitMQ)
- Élection du leader et consensus distribué
- Utilisation de Zookeeper ou etcd pour la coordination
Tolérance aux pannes et fiabilité
- Concevoir pour les pannes et la dégradation gracieuse
- Mécanismes de réessaie, délais d'attente et interrupteurs de circuit (circuit breakers)
- Surveillance, observabilité et ingénierie du chaos
Bonnes pratiques modernes pour les systèmes natifs cloud
- Conteneurs, orchestration et Kubernetes
- Statelessness et immutabilité
- Meilleures pratiques de sécurité pour les systèmes distribués
Synthèse et prochaines étapes
Pré requis
- Une compréhension des concepts de base du réseau et de la conception de systèmes
- Une expérience avec les pratiques générales de développement logiciel
- Une familiarité avec le cloud computing et la conception d'API est utile
Public cible
- Architectes logiciels et responsables techniques
- Ingénieurs backend et professionnels DevOps
- Concepteurs de systèmes construisant des applications cloud évolutives
Nos clients témoignent (5)
découvrir le potentiel de l'outil
wassim - Collins Aerospace
Formation - SysML par l'exemple avec Cameo Systems Modeler
Peut-être que plus d'exercices seraient mieux pour l'apprentissage, mais le temps était trop court.
Gianpiero Arico' - Urmet Spa
Formation - Embedded Linux Systems Architecture
Traduction automatique
Exercices pratiques dans EA.
Pawel - Krajowa Szkola Skarbowosci
Formation - UML in Enterprise Architect (workshops)
Traduction automatique
-Connaissance du formateur sur le sujet était vraiment bonne. Il a su expliquer très bien et a pu répondre à toutes les questions au moment opportun. -Avoir la possibilité de savoir tout ce dont l'outil est capable était vraiment bon. -La structure qu'il a présentée, comme l'utilisation de scénarios et de traçabilité, serait vraiment utile dans mon travail quotidien.
Harsha Jain - Scania CV AB
Formation - Introduction to Enterprise Architect
Traduction automatique
Grande connaissance.
Marie - Forsvarets forkningsinstitutt
Formation - Systems Modeling with SysML and Enterprise Architect (EA)
Traduction automatique