fff

Combien de stagiaires suivront cette formation ?


Valider Annuler

Partager
Accueil    Formations    Informatique    Langages et développement    Développement de microservices    Développer des microservices avec Java et Spring

Partager cette formation Télécharger au format pdf Ajouter à mes favoris

Public concerné

Développeurs, Tech Leads et architectes.

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 test

Objectifs 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

  1. #

    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_start_logo
  2. #

    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_live_logo
  3. #

    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é…)
    m2i_boost_logo
  1. ¹ 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.
  2. ² 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.

Partager cette formation Télécharger au format pdf Ajouter à mes favoris

Vous souhaitez suivre cette formation ?

En INTRA-ENTREPRISE

Contactez-nous

Faites-nous part de votre projet de formation, nous sommes là pour vous guider.