Embrassez le monde des microservices avec notre formation approfondie sur l’architecture microservices.
Cette formation débute par un aperçu des architectures traditionnelles, notamment monolithiques et orientées services (SOA), et la transition vers les microservices.
Nous analysons les concepts clés des microservices, les compromis inhérents à cette architecture, et discutons des principes d’implémentation de microservices, y compris la culture DevOps et les API légères.
Nous mettons un accent particulier sur le monitoring, la gestion des logs applicatifs, et l’importance de la centralisation des logs.
Nous vous guidons à travers le déploiement d’une architecture microservices, en abordant des sujets tels que les technologies de conteneurs, la gestion de configuration, et les solutions d’infrastructure.
Nous discutons également de la scalabilité dans le contexte du cloud computing et des problématiques de mise en œuvre des microservices.
Programme détaillé
Aperçu de l’approche traditionnelle
- Architecture monolithique
- L’émergence des services (EAI, CORBA)
- Architecture orientée service (SOA)
- L’émergence des services Web (SOAP)
- Microservices
Concept et compromis
- Flexibilité et complexité
- Cohésion et couplage
- Dépendances cachées VS dépendances explicites
- Petits et grands systèmes
- Module/Composant VS Service
Implémentation de microservices
- Principe de responsabilité unique
- Microservice VS Service
- Culture DevOps
- Déploiement et intégration continue
- Protocoles HTTP, JMS, AMQP, Websockets, JSON
- API légères (REST, GraphQL)
Gestion des logs applicatifs et monitoring
- Le monitoring au centre d’un microservice
- Métriques et health check
- Centralisation des logs
- Parcours de solutions : ELK, Graylog, Syslog
Déploiement d’une architecture microservices
- Déploiement continu de dizaines/centaines d’applications
- Technologies de conteneurs (Docker)
- Gestion de configuration (Ansible)
- Solutions d’infrastructure pour les microservices (Kubernetes)
Cloud computing et scalabilité
- Haute Disponibilité (redondance et fail-over)
- Performance (load balancing)
- Scalabilité automatique
Problématiques de mise en œuvre
- Complexité de l’écosystème
- Performances réseaux
- Sécurité
- Déploiement
- Tests
- Nano-services