Formation Microservices avec Spring Boot

Maîtrisez Spring Boot et Docker pour concevoir, sécuriser et déployer des architectures microservices performantes et scalables.

Formation Microservices avec Spring Boot

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.

Formation IA-friendly

Cette formation étant IA friendly, les sessions sont adaptées aux développeur·se·s qui souhaitent utiliser de l'IA pour coder. Les exercices sont conçus pour tirer parti des IDEs agentiques. Le·a formateur·rice vous accompagnera sur les bonnes pratiques du développement assisté par IA.

Campus Atlas

Cette formation est éligible au dispositif Campus Atlas. Il permet aux entreprises relevant de l'OPCO Atlas de suivre des formations sélectionnées à tarifs négociés, avec une prise en charge pouvant aller jusqu'à 100% selon votre branche et votre situation. Ce dispositif s'adresse aux entreprises cotisantes/adhérentes à Atlas et à leurs salarié·e·s.
Voir la page Campus Atlas de la formation

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
    • enjeux et cas d'usage
    • Comparaison des 3 serveurs Java : (Spring, Ktor et Quarkus)
    • Les différents type de communication (RestFul, GraphQL, WebSocket, gRPC...)
  • Principes de la conception modulaire
    • découpage, responsabilités et couplage
  • Communication interservices
    • REST, messaging (AMQP, Kafka)
  • Introduction à Spring Boot et Gradle pour les microservices
    • ORM JPA pour se relier à une base de donnée
    • Base H2 pour application légère ou les tests
    • Documentation automatique avec Swagger
    • Spring Data rest pour générer une API
    • Utiliser les fichiers de configuration
    • Générer un exécutable
  • Exposer les metrics avec Actuator

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
  • Relier à une base de donnée H2
  • Génération de la documentation
  • Exposition des metrics

Jour 2 : Ecosystème des micro-services

  • Service discovery, référencer et retrouver ses microservices avec Eureka
  • Lancer plusieurs instances
  • Spring Rest client d'API
  • Utiliser un loadBalancing
  • Gestionnaire de message AMQP / Kafka
  • Introduction aux rôles d’une API Gateway (filtrage, routage, transformation, sécurité)
  • Sécuriser son API avec Spring Security
  • Mécanisme de JSON Web Tokens (claims, signature, vérification)
  • 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
    • Administration opérationnelle et introspection à chaud avec Spring Boot Admin
    • Gestion dynamique des niveaux de logs et diagnostic des beans sans redémarrage
    • Utilisation de Zipkin ou Jaeger pour le tracing distribué

Mises en pratique :

  • Lancer plusieurs instance de notre 1er microservice
  • Création d'un 2eme micro service qui appellera le 1er à l'aide de SpringRest Client
  • Mise en place d'un environnement de micro-service avec Eureka
  • Utiliser un LoadBalancer pour alterner la charge
  • Configuration de Spring Boot pour exposer ses métriques, logs JSON et trace ID
  • Déploiement de l’API Gateway en frontal des services
  • Configuration de Spring Security pour sécuriser les endpoints avec JWT

Jour 3 : Déploiement et conteneurisation

  • Introduction à Docker et aux conteneurs
    • concepts, images, volumes
  • Déploiement sur Azure
  • 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

Télécharger le programme

Formateur

Anthony MONTEIRO

Anthony Monteiro est formateur en développement Java et mobile (Android & iOS), reconnu pour sa capacité à faire progresser durablement les développeurs qu’il accompagne. Ingénieur de formation, il a très tôt occupé un rôle de référent et de mentor au sein de ses équipes : celui vers qui l’on se tourne quand une explication claire, structurée et rassurante fait la différence.

Après plusieurs expériences en entreprise et dans l’enseignement supérieur, Anthony a choisi de se consacrer entièrement à la formation, avec une conviction forte : un bon formateur n’impose pas un savoir, il crée les conditions de l’autonomie. Ses formations sont pensées pour permettre aux stagiaires de comprendre, pratiquer et surtout continuer seuls après la session. Attentif aux rythmes et aux profils, il adapte en permanence son accompagnement pour répondre aux besoins concrets des participants.

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 1802 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 : 214 formations au catalogue, de quoi vous accompagner sur tout vos projets
  • Écosystème dynamique : Nous accompagnons les dev depuis 14 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

* Nombre de personnes ayant répondu au questionnaire de satisfaction sur cette formation depuis 2012