Description
Cette formation Microservices avec Spring Boot vous permettra de concevoir, déployer et superviser des architectures distribuées robustes et scalables.
À la fin de la formation, vous serez capable de découper une application monolithique en services indépendants, à orchestrer leur communication et à maîtriser leur déploiement dans des environnements conteneurisés avec Docker et Docker Compose.
Pendant 3 jours, vous apprendrez à :
- concevoir une architecture orientée microservices et identifier les bounded contexts,
- développer des microservices REST avec Spring Boot,
- conteneuriser vos services et les orchestrer avec Docker Compose,
- sécuriser les échanges via JWT et OAuth2,
- superviser vos applications avec Prometheus, Grafana, et ELK.
Tout au long de la formation, vous mettrez en pratique vos acquis à travers un projet fil rouge : la création d’une application complète composée de plusieurs microservices interconnectés (produits, commandes, utilisateurs), sécurisés et observables via des tableaux de bord.
Public
Cette formation s’adresse aux développeur·se·s Java confirmé·e·s ou architectes applicatifs souhaitant concevoir et déployer des applications basées sur les microservices.
Les objectifs
- Concevoir une architecture microservices modulaire et découplée
- Développer des API REST avec Spring Boot
- Créer des images Docker performantes et orchestrer plusieurs services
- Sécuriser les échanges interservices avec JWT et OAuth2
- Mettre en place un monitoring complet avec Prometheus, Grafana, et ELK
- Déployer et tester une architecture distribuée en local avec Docker Compose
Pré-requis
- Connaissances du langage Java
- Avoir des bases en Spring Boot
- Ordinateur portable à apporter
Le programme de la formation Microservices avec Spring Boot
Jour 1 : Comprendre les microservices
- Architecture et modélisation
- Principes de la conception modulaire
- découpage, responsabilités et couplage
- Communication interservices
- REST, messaging (AMQP, Kafka)
- Introduction à Spring Boot pour les microservices
Mises en pratique :
- Mise en place d’un microservice simple avec Spring Boot exposant une API REST (/produits) et configuration de la couche modèle + repository + contrôleur
- Analyse d’un cas métier pour identifier les bounded contexts et proposer un découpage en microservices (produits, commandes, utilisateurs…)
- Implémentation d’un second microservice minimal (commandes), puis appel HTTP entre services avec RestTemplate ou WebClient
- Simulation d’une dépendance inter-service
Jour 2 : Déploiement et conteneurisation
-
Introduction à Docker et aux conteneurs
- concepts, images, volumes
-
Structuration d’une image Docker efficace pour Java
- gestion du classpath, compilation, port d'écoute
- optimisation des performances de démarrage avec des outils comme JLink ou GraalVM
-
Utilisation de Docker Compose pour une architecture multi-services
- Gestion des variables d’environnement, des ports exposés et des dépendances explicites
- Configurer les réseaux et volumes pour les échanges inter-services
Mises en pratique :
- Écriture d’un Dockerfile optimisé pour une application Spring Boot
- Construction et exécution de l’image et analyse de la taille, des couches, et amélioration avec un build multistage
- Création d’un docker-compose.yml orchestrant produits, commandes et une base de données (PostgreSQL ou MongoDB)
- Gestion des variables d’environnement et de la communication entre conteneurs
- Ajout d’un réseau dédié pour les microservices et d’un volume Docker pour la base de données
- Test de persistance entre plusieurs redémarrages. Vérification du bon routage entre services
Jour 3 : Communication, sécurité et observabilité
-
API Gateway, Service Discovery, Load Balancing
- Introduction aux rôles d’une API Gateway (filtrage, routage, transformation, sécurité)
- Utilisation d’un service discovery pour automatiser l’enregistrement des services
-
Sécurité entre services
- Mécanisme de JSON Web Tokens (claims, signature, vérification)
- Mise en place d’un serveur OAuth2 pour gérer l’identité, les rôles et les scopes
-
Monitoring, logging centralisé et traçabilité
- Collecte des métriques système et applicatives avec Prometheus
- Affichage dans Grafana, alertes de seuils, analyse des performances et saturation
- Mise en place de logs structurés dans ELK (Elasticsearch + Logstash + Kibana)
- Utilisation de Zipkin ou Jaeger pour le tracing distribué
Mises en pratique :
- Déploiement de l’API Gateway en frontal des services
- Définition des routes, réécriture d’URL, ajout d’un timeout ou d’un filtre custom
- Test de l’unification des accès via la Gateway.
- Installation de Keycloak et création d’un realm, de clients pour chaque service, et d’un utilisateur
- Configuration de Spring Security pour sécuriser les endpoints avec JWT
- Test via Postman.
- Déploiement de Prometheus, Grafana, ELK et Zipkin via docker-compose
- Configuration de Spring Boot pour exposer des métriques, logs JSON et trace ID
- Visualisation d’un flux complet de requête
Télécharger le programme
FAQ
Nos formations sont éligibles à plusieurs dispositifs de financement, selon votre situation. Human Coders est certifié
Qualiopi, ce qui permet la prise en charge par des organismes comme
Pôle emploi, votre OPCO ou encore le
CPF (Compte Personnel de Formation) pour certaines formations.
Pour en savoir plus, veuillez consulter notre page : Comment financer votre formation ?
Oui, la formation peut être proposée en présentiel ou en distanciel. Pour les inter-entreprises, les modalités (présentiel ou à distance) sont fonction de la session.
Nous pouvons organiser des sessions à d'autres dates ou dans d'autres villes (Bordeaux, Lille, Lyon, Marseille, Montpellier, Nantes, Nice, Paris, Strasbourg, Toulouse...)
Les formations se déroulent toujours en petit groupe de 3 à 6 stagiaires. Nous souhaitons que les formateurs et formatrices puissent passer un maximum de temps avec chacun·e.
Voici une journée type :
- 9h : vous êtes accueillis par votre formateur·rice autour d'un petit déjeuner (croissants, pains au chocolat, jus de fruit, thé ou café...)
- 9h30 : la formation commence
- 12h30 : pause de midi. Le·a formateur·rice mangera avec vous. C'est l'occasion d'avoir des discussions plus informelles.
- 14h : reprise de la formation
- 18h : fin de la journée
8 raisons de participer à une formation Human Coders
- Satisfaction client élevée : Un taux de statisfaction de 4,6/5 depuis 2012 (sur 1755 sessions réalisées). 99% des participants se disent satisfaits de nos formations
- Approche pédagogique unique : Des formations en petit groupe, des formateurs passionnés et expérimentés, de véritables workshops... (Plus d'infos sur notre manifeste)
- Catalogue de formations complet : 201 formations au catalogue, de quoi vous accompagner sur tout vos projets
- Écosystème dynamique : Nous accompagnons les dev depuis 13 ans avec des initiatives comme Human Coders News, les Human Talks, le podcast ou encore notre serveur Discord
- Financement facilité : Organisme certifié Qualiopi, indispensable pour que vous puissiez obtenir des aides au financement via votre OPCO
- Références clients prestigieuses : De nombreux clients qui nous font confiance depuis des années
- Accompagnement sur mesure : Nous vous proposons un accompagnement personnalisé par nos consultants pour vous aider dans vos projets au-delà de la formation
- Valorisation professionnelle : Remise d'un diplôme, d'une attestation et d'une certification, suivant les formations effectuées, que vous pourrez afficher sur vos CV et réseaux sociaux