You already develop Java applications with Spring Boot and want to go further in the design of modern software architectures.
In this Spring Cloud training course, you will learn how to design, develop, and structure a microservices architecture using Spring Boot, Spring Cloud, an API Gateway, centralized configuration, service-to-service communication, and best practices for distributed systems.
Presentation of the course objectives.
Understanding the role of Spring Cloud in the Spring ecosystem.
Identifying the limitations of a monolithic application.
Understanding when a microservices architecture is relevant.
What is a microservice?
Monolith, modular monolith, and microservices.
Advantages and limitations of a microservices architecture.
Scalability, team autonomy, and independent deployment.
Network complexity, observability, security, and error management.
Identifying business domains.
Understanding bounded contexts.
Defining the responsibilities of each service.
Avoiding shared databases.
Defining API contracts between services.
Hands-on workshop:
Analyzing an existing application.
Identifying potential services.
Defining service responsibilities and interactions.
Structure of a microservices project.
Creating multiple Spring Boot applications.
Exposing REST APIs.
Managing environment profiles.
Service-specific configuration.
Hands-on workshop:
Creating two Spring Boot microservices.
Setting up the first REST endpoints.
Configuring the services.
Synchronous communication with REST.
Using RestClient or WebClient.
Managing network errors.
Timeouts and error responses.
Propagating a correlation ID.
Hands-on workshop:
Making two microservices communicate.
Managing an error case between services.
Adding simple diagnostic logic.
Why use a service registry.
Introduction to Eureka.
Automatic service registration.
Service discovery.
Calling services by logical name.
Hands-on workshop:
Creating a Eureka Server.
Registering microservices.
Validating service discovery.
Role of an API Gateway.
Single entry point.
Routing to microservices.
Request and response filters.
Centralized management of cross-cutting behaviors.
Hands-on workshop:
Creating an API Gateway.
Configuring routes.
Exposing services through the Gateway.
Challenges of distributed configuration.
Principle of the Config Server.
Configuration by environment.
Managing shared and service-specific properties.
Hands-on workshop:
Creating a Config Server.
Centralizing the configuration of several services.
Changing configuration without modifying application code.
Understanding failures in distributed systems.
Timeouts, retries, and circuit breakers.
Introduction to Resilience4J.
Controlled service degradation.
Hands-on workshop:
Simulating a service failure.
Adding a resilience strategy.
Testing application behavior.
Difference between synchronous and asynchronous communication.
Introduction to Kafka or an event-driven approach.
Producers, consumers, and business events.
Use cases in a microservices architecture.
Hands-on workshop:
Introduction or simple setup of an event-based exchange.
Publishing and consuming an event.
Why observability is essential.
Application logs.
Correlation ID.
Health checks.
Metrics.
Introduction to Micrometer, Prometheus, Grafana, or equivalent tools.
Hands-on workshop:
Enabling health endpoints.
Reading logs from multiple services.
Following a request across several components.
Unit tests.
Integration tests.
API tests.
Contract validation between services.
Testing strategies adapted to distributed architectures.
Hands-on workshop:
Testing a REST endpoint.
Testing communication between services.
Validating an end-to-end scenario.
Containerizing services.
Organizing a local environment.
Application services, databases, Gateway, and registry.
Hands-on workshop:
Running the microservices architecture with Docker Compose.
Validating the complete startup of the environment.
Testing an end-to-end scenario.
→ Spring Cloud Training: Microservices Architecture with Spring Boot
→ Java Training: The Most Complete Training
Beyond training, our experts can support you with implementation, optimization, and the hands-on delivery of your projects.
📄 Download course outline (PDF)
Registration detailsFR
« Je tiens à vous remercier tous les deux d’avoir offert à mes ressources une excellente formation COBOL au cours des trois derniers jours.
Mamadou, merci d’avoir été si accommodant malgré le court préavis et d’avoir envoyé votre formateur à Gatineau pour ce cours personnalisé.
Nous avons hâte de poursuivre notre collaboration pour de futurs besoins de formation. »
(Traduit de l’anglais)
EN
“I want to thank you both for providing my resources with excellent COBOL training over the past 3 days. Mamadou, thank you for being so accommodating on such short notice and for sending your facilitator to Gatineau for this customized and personalized training course. We look forward to continuing our partnership for future training needs.”
FR
« Mamadou est venu nous aider à réorganiser notre panneau d’arrêt via un outil de rapport, Crystal Reports. Mamadou a réussi avec succès le travail de précision, au pixel près, puisque nous voulions un rapport similaire au design graphique original. Il nous a aidés à découper le projet par cycle et à intégrer le rapport à notre logiciel corporatif. La qualité que nous avons appréciée était le souci du détail et la constance. Mamadou a été très professionnel et connaît plusieurs autres technologies. Merci. »
EN
“Mamadou helped us reorganize our stop panel using a reporting tool, Crystal Reports. He successfully delivered precise, pixel-perfect work,
as we needed a report that matched the original graphic design. He helped us break the project down into cycles and integrate the report
into our corporate software. What we appreciated most was his attention to detail and consistency. Mamadou was very professional and
is knowledgeable in many other technologies. Thank you.”
(Translated from French)
FR
« Ce fut un plaisir de faire affaires avec Doussou Formation. Ce qui fait LA différence est le service personnalisé totalement à l'écoute des participants ainsi que l'adaptation aux besoins de formation. Flexibilité / Adaptabilité / Professionnalisme / Courtoisie. Merci ! »
EN
“It was a pleasure doing business with Doussou Formation. What truly makes THE difference is the personalized service, fully attentive
to participants, as well as the ability to adapt the training to their needs. Flexibility / Adaptability / Professionalism / Courtesy. Thank you!”
(Translated from French)