Prérequis
Connaître les fondamentaux de l'architecture microservices, maîtriser Java 11+ avec des notions en développement Spring.
Validez les prérequis
Afin de vérifier que vous disposez bien des prérequis nécessaires à cette formation, nous vous invitons à réaliser ce test.
Temps estimé : 4 minutes.
Passer le testObjectifs de formation
A l'issue de cette formation, vous serez capable de :
- Concevoir et développer un microservice avec Spring Boot
- Gérer la persistence des données dans un contexte distribué
- Mettre en place la communication inter-services
- Rendre les microservices résilients et sécurisés
- Assurer l'observabilité du système
- Conteneuriser et déployer sur Kubernetes
- Automatiser la livraison avec CI/CD et GitOps.
Programme de votre formation
-
#
M2I START AVANT VOTRE FORMATION
Contextualisation du projet de formation et prise en compte des besoins de chacun
- Positionnement initial de l’apprenant par rapport aux objectifs
- Définition des priorités et des objectifs personnels de l’apprenant
- Vidéos de mise en situation
- Accès au Chat interactif myM2i pour interagir avec les membres de son groupe
-
#
M2I LIVE VOTRE FORMATION ANIMÉE PAR NOTRE EXPERT ¹
Programme
Jour 1 - Matin
Fondements pour la construction d'un microservice Spring Boot
- Panorama de l'écosystème Spring pour les microservices : Spring Boot 3.x, Spring Cloud, Spring Security, Spring Data
- Initialisation de projet avec Spring Initializr
- Structure de projet recommandée (Hexagonal + DDD)
- Gestion des dépendances avec Maven / Gradle
Construire un microservice REST avec Spring Boot
- Création d'un service RESTful : @RestController, @Service, @Repository
- Validation des entrées : Bean Validation (Jakarta), @Valid, @ExceptionHandler
- Documentation API avec SpringDoc OpenAPI 3 / Swagger UI
- Versioning d'API : stratégies et implémentation
- Configuration externalisée : application.yml, profils Spring, Spring Cloud Config Server
Exemple de travaux pratiques (à titre indicatif)
- Créer le microservice order-service avec CRUD complet, validation et documentation OpenAPI
Jour 1 - Après-midi
Persistence et accès aux données
- Spring Data JPA avec PostgreSQL : Entities, Repositories, Projections
- Spring Data MongoDB pour les services orientés documents
- Spring Data Redis : cache distribué et sessions
- Migration de schéma avec Flyway ou Liquibase
- Implémentation du pattern Repository en accord avec DDD
Exemple de travaux pratiques (à titre indicatif)
- Ajouter la couche de persistence à order-service, gestion des migrations avec Flyway
Tests d'un microservice
- Tests unitaires : JUnit 5, Mockito, tests du domain isolé
- Tests d'intégration : @SpringBootTest, Testcontainers (PostgreSQL, Kafka en conteneur)
- Tests de l'API REST : MockMvc, RestAssured
- Contract testing avec Pact : définir et vérifier les contrats consumer / provider
- Couverture de code avec JaCoCo
Exemple de travaux pratiques (à titre indicatif)
- Ecrire une suite de tests complète pour order-service avec Testcontainers
Jour 2 - Matin
Communication synchrone avec Spring Cloud
- Spring Cloud Netflix Eureka : Service Registry et Discovery
- Spring Cloud LoadBalancer : load balancing côté client
- OpenFeign : clients HTTP déclaratifs typés
- Spring Cloud Gateway : API Gateway réactif - routes, filtres, rate limiting
- Configuration du BFF pattern avec Spring Cloud Gateway
Exemple de travaux pratiques (à titre indicatif)
- Déployer Eureka Server, enregistrer order-service et product-service, les faire communiquer via OpenFeign
Résilience avec Resilience4j
- Circuit Breaker : états (Closed, Open, Half-Open), configuration fine
- Retry avec backoff exponentiel
- Rate Limiter et Bulkhead (isolation des thread pools)
- TimeLimiter : timeout sur les appels distants
- Intégration avec Spring Boot Actuator et Micrometer pour les métriques
Exemple de travaux pratiques (à titre indicatif)
- Implémenter Circuit Breaker entre order-service et inventory-service avec simulation de pannes
Jour 2 - Après-midi
Communication asynchrone avec Spring et Kafka
- Spring Kafka : producers, consumers, consumer groups
- Configuration des topics : partitions, réplication, rétention
- Sérialisation / désérialisation : JSON avec Jackson, Apache Avro avec Schema Registry
- Spring Cloud Stream : abstraction des brokers (Kafka / RabbitMQ)
- Implémentation du Saga Pattern : Choreography-based avec événements domaine
- Implémentation de l'Outbox Pattern pour garantir la fiabilité des événements
Exemple de travaux pratiques (à titre indicatif)
- Implémenter une saga de création de commande (order-service > inventory-service > payment-service) en choreography avec Kafka
Sécurité avec Spring Security et OAuth2
- Spring Security OAuth2 Resource Server : validation des JWT
- Intégration avec Keycloak : configuration du realm, clients, roles
- Sécurisation des endpoints : @PreAuthorize, scopes OAuth2
- Communication sécurisée entre services : OAuth2 Client Credentials flow
- Propagation du contexte de sécurité dans les appels inter-services (Feign et token relay)
Exemple de travaux pratiques (à titre indicatif)
- Sécuriser le système avec Keycloak : authentification utilisateur et communication M2M sécurisée
Jour 3 - Matin
Observabilité avec Spring Boot Actuator et OpenTelemetry
- Spring Boot Actuator : endpoints de santé, info, métriques
- Micrometer, Prometheus et Grafana : dashboards de métriques applicatives
- Distributed Tracing avec Micrometer Tracing (intégration OpenTelemetry) et Jaeger
- Logging structuré avec Logback et JSON > ELK Stack
- Corrélation des logs avec les traces (Trace ID, Span ID dans les logs)
Exemple de travaux pratiques (à titre indicatif)
- Mettre en place la stack d'observabilité complète et tracer une requête de bout en bout
Conteneurisation et Kubernetes
- Dockerfile optimisé pour Spring Boot : multi-stage build, JRE minimal (Eclipse Temurin), layer caching
- Jib (Google) : build d'images Docker sans Dockerfile depuis Maven / Gradle
- Spring Boot Docker Compose : développement local avec services externes
- Kubernetes : Deployment, Service, ConfigMap, Secret, HPA (autoscaling horizontal)
- Helm Charts : templating et gestion des releases
- Health checks Kubernetes avec les endpoints Actuator (/health/liveness, /health/readiness)
Exemple de travaux pratiques (à titre indicatif)
- Conteneuriser tous les services et les déployer sur un cluster Kubernetes local (Kind ou Minikube) avec Helm
Jour 3 - Après-midi
CI/CD et bonnes pratiques
- Pipeline GitHub Actions : build > test > analyse SonarQube > build image > push registry > déploiement
- GitOps avec ArgoCD : déploiement déclaratif depuis Git
- Stratégie Canary Deployment avec Argo Rollouts
- Spring Cloud Contract : génération de stubs et tests de contrats
- Gestion des secrets en CI/CD : HashiCorp Vault et Spring Cloud Vault
- Architecture Decision Records (ADR) : documenter les choix d'architecture
Exemple de travaux pratiques (à titre indicatif)
- Pipeline CI/CD complet pour le système de commandes : de la PR au déploiement en production simulée
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
-
#
M2I BOOST APRÈS VOTRE FORMATION
Réactivation et consolidation des acquis en situation de travail
- 30 jours d’accompagnement personnalisé sur myM2i inclus ²
- Ressources Boosters (Abonnement au M2i’Mag Soft Skills, formations offertes, invitations aux conférences d’actualité…)
- ¹ Les actions et les outils présentés dans ce programme le sont à titre indicatif et peuvent faire l’objet d'adaptation selon les niveaux, prérequis et besoins des apprenants. Les compétences clés de ce programme sont traitées à raison d'une compétence par demi-journée de formation.
- ² Sur myM2i, pendant 30 jours post-fin de formation, les apprenants disposent d’une messagerie sécurisée pour échanger, dans la limite de 4 sollicitations, avec leur formateur.
Modalités, méthodes et moyens pédagogiques
Formation délivrée en présentiel ou distanciel* (blended-learning, e-learning, classe virtuelle, présentiel à distance).
Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).
Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :
- Ordinateurs Mac ou PC (sauf pour certains cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
- Environnements de formation installés sur les postes de travail ou en ligne
- Supports de cours et exercices
En cas de formation intra sur site externe à M2I, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatiques...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.
* nous consulter pour la faisabilité en distanciel
** ratio variable selon le cours suivi
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation
Accessibilité de la formation
Le groupe M2I s'engage pour faciliter l'accessibilité de ses formations. Toutes nos formations sont accessibles aux personnes en situation de handicap : les détails de l'accueil des personnes sont consultables sur la page Politique Handicap.
Modalités et délais d’accès à la formation
Les formations M2I sont disponibles selon les modalités proposées sur la page programme. Les inscriptions sont possibles jusqu'à 48 heures ouvrées avant le début de la formation. Dans le cas d'une formation financée par le CPF, ce délai est porté à 12 jours ouvrés.

