Les microservices représentent une approche moderne du développement logiciel, qui permet de concevoir des applications plus modulaires et évolutives. Contrairement aux architectures monolithiques, où tous les composants sont intégrés dans un même bloc, les microservices fonctionnent de manière indépendante tout en collaborant pour accomplir des objectifs communs. Cette formation vous permettra de découvrir les principes fondamentaux des microservices, leurs avantages, ainsi que les technologies et outils associés pour concevoir et déployer des applications modulaires.
Objectifs
Objectif opérationnel :
Découvrir l’architecture microservices, ses domaines d’applications ainsi que les différentes technologies employées.
Objectifs pédagogiques :
À l’issue de cette formation Microservices, vous aurez acquis les connaissances et compétences nécessaires pour :
- Comprendre l’intérêt et le fonctionnement d’une architecture microservices.
- Avoir une vue d’ensemble de Spring, Spring Data et Spring Cloud dans le cadre des microservices.
- Connaître les différentes architectures REST à l’œuvre avec les microservices.
- Envisager l’intégration de microservices avec une base de données NoSQL.
- Maîtriser les techniques de routage, de monitoring, de journalisation et de déploiement des microservices.
À qui s’adresse cette formation ?
Public :
Cette formation s’adresse aux architectes, développeurs expérimentés, chefs d’équipe et chefs de projet désireux de comprendre et de mettre en œuvre une architecture en microservices.
Prérequis :
Pour tirer le meilleur parti de cette formation, une bonne connaissance des protocoles réseaux et des notions en architectures applicatives d’entreprise sont recommandées.
Contenu du cours Microservices
Introduction aux différents types d’architecture
- Vision d’ensemble des architectures logicielles modernes.
- Comparaison entre applications monolithiques, SOA/WOA/ROA et microservices.
- Présentation de l’architecture en microservices.
Spring et son écosystème
- Introduction à Spring : Injection de dépendances, Inversion de contrôle.
- Spring MVC, JPA/Hibernate et Spring Data.
- Utilisation de Spring Boot, Spring MVC, Spring HATEOAS, Swagger et Spring REST Docs.
Microservices avec Spring Data et Spring Cloud
- Configuration d’une architecture microservices avec Spring.
- Externalisation et centralisation de la configuration avec Spring Cloud.
- Sécurisation des microservices et gestion des environnements et profils.
Les bases de données NoSQL
- Introduction aux bases de données NoSQL : Différences avec les bases relationnelles.
- Exploration des différentes familles de NoSQL (document, graph, clés/valeurs, colonnes).
- Présentation de différentes bases de données NoSQL.
APIs GraphQL
- Transition du REST vers GraphQL : Concepts clés et avantages.
- Mise en œuvre de GraphQL dans une architecture microservices.
Communication entre microservices
- Introduction aux Message Oriented Middleware (MOM) et Kafka.
- Mise en place de Kafka et Zookeeper pour la gestion de messages.
- Mise en œuvre de microservices avec Node.js.
Enregistrement et découverte des services
- Présentation des registres de services : Consul, Eureka, Kubernetes, Zookeeper.
- Mise en place du registre de services dans une architecture microservices.
Le routage et Load Balancing
- Techniques de routage et de répartition de charge (Load Balancing).
- Mise en œuvre du Load balancing avec Zuul dans une architecture microservices.
Monitoring et gestion des ressources
- Collecte des métriques et gestion des ressources dans un environnement microservices.
- Mise en œuvre d’Actuator Spring Boot pour le monitoring.
Journalisation et gestion des logs
- Gestion des logs avec ELK (Elasticsearch, Logstash, Kibana) et Graylog.
- Mise en place d’une gestion des logs pour une application microservices, avec identifiant de corrélation.
Déploiement des microservices
- Déploiement dans le Cloud : Heroku, AWS, Azure.
- Mise en application : Packaging et déploiement d’une application microservices dans un environnement cloud.
Envie d’implémenter une architecture microservices dans vos projets ?
Inscrivez-vous à notre formation et découvrez comment concevoir des applications modulaires, évolutives et résilientes !
[S’inscrire à la formation]