Catalogue
/
Microservices
/
Building Cloud-Native Microservices with Spring Boot and Spring Cloud

Building Cloud-Native Microservices with Spring Boot and Spring Cloud

Learn how to design, develop and operate cloud-native microservices using Spring Boot and Spring Cloud. This four-day course covers service architecture, REST API development, data management, service communication, centralised configuration, service discovery, API gateways, resilience and production readiness. Participants build a distributed application progressively throughout the course. They learn how to divide business capabilities into independent services, establish reliable communication between them and apply patterns that improve scalability, maintainability and operational stability. An optional fifth day extends the course with OAuth 2.0 and OpenID Connect, asynchronous messaging, advanced testing, container orchestration, distributed tracing and a substantial end-to-end project.

What will you learn?

You will learn how to create independently deployable microservices with Spring Boot and combine them into a reliable distributed system with Spring Cloud. You will develop REST APIs, manage service-owned data, configure service communication and implement essential cloud-native patterns.

• Design service boundaries and application architecture for microservices

• Develop production-oriented REST APIs with Spring Boot

• Manage persistence and transaction boundaries with Spring Data

• Implement service-to-service communication

• Centralise configuration and manage environment-specific settings

• Use service discovery, load balancing and API gateway routing

• Apply timeouts, retries and circuit breakers to improve resilience

• Monitor, test, package and troubleshoot distributed applications

Requirements:

• Practical knowledge of Java

• Basic experience with Spring or Spring Boot

• Familiarity with HTTP, REST APIs and JSON

• Basic understanding of relational databases and SQL

• Familiarity with Maven or Gradle is recommended

• Basic knowledge of containers and distributed systems is beneficial but not required

Course Outline*:

*We customize the course outline and content to your specific needs and relevant use cases.

Day 1: Spring Boot and microservice foundations

Module 1: Cloud-native applications and microservices

• Characteristics of cloud-native and distributed applications

• Comparing monolithic, modular and microservice architectures

• Benefits, operational costs and common microservice challenges

• Identifying appropriate service boundaries and business capabilities

Module 2: Building services with Spring Boot

• Structuring a Spring Boot microservice project

• Using starters, dependency injection and auto-configuration

• Managing application properties, profiles and environment variables

• Organising application, domain and infrastructure components

Module 3: Developing REST APIs

• Designing resources, endpoints and HTTP operations

• Creating controllers and request-response models

• Validating incoming data and reporting validation errors

• Implementing consistent exception handling and API responses

Module 4: Persistence and service-owned data

• Accessing relational data with Spring Data JPA

• Designing entities, repositories and query methods

• Managing transactions within an individual service

• Separating persistence models from external API models

Day 2: Service design and distributed communication

Module 5: Decomposing applications into services

• Identifying domains, responsibilities and service ownership

• Avoiding tightly coupled and overly fragmented services

• Designing service interfaces around business capabilities

• Managing shared concepts without creating shared databases

Module 6: Service-to-service communication

• Comparing synchronous and asynchronous communication

• Calling HTTP services with Spring client technologies

• Designing stable service contracts and data transfer objects

• Handling network errors, unavailable services and partial responses

Module 7: Centralised configuration

• Separating configuration from application code

• Introducing Spring Cloud Config Server and Config Client

• Managing settings for different environments and services

• Protecting secrets and controlling configuration changes

Module 8: Service discovery and load balancing

• Understanding dynamic service locations in distributed environments

• Registering and discovering service instances

• Applying client-side and platform-based load balancing

• Managing instance health, scaling and temporary unavailability

Day 3: Gateway architecture, resilience and distributed data

Module 9: API gateways with Spring Cloud Gateway

• Establishing a single entry point for client applications

• Defining routes, predicates and gateway filters

• Rewriting requests and managing cross-cutting concerns

• Handling routing errors and gateway-level fallbacks

Module 10: Resilient service communication

• Applying timeouts and controlled retries

• Implementing circuit breakers with Spring Cloud CircuitBreaker

• Understanding bulkheads and rate-limiting concepts

• Designing fallbacks without hiding critical failures

Module 11: Data consistency across services

• Understanding database-per-service architecture

• Managing operations that span multiple services

• Comparing immediate consistency with eventual consistency

• Introducing saga, compensation and idempotency patterns

Module 12: Security foundations for microservices

• Applying Spring Security to service endpoints

• Separating authentication, authorisation and business logic

• Managing credentials, secrets and secure configuration

• Addressing CORS, CSRF and internal service access

Day 4: Production readiness and integrated application development

Module 13: Application health and observability

• Exposing health and application information with Spring Boot Actuator

• Collecting application metrics and operational indicators

• Designing structured and correlated application logs

• Defining readiness, liveness and dependency health checks

Module 14: Testing Spring Boot microservices

• Testing domain and service-layer behaviour

• Testing controllers and persistence components

• Using test slices and application-context tests appropriately

• Isolating external dependencies during automated tests

Module 15: Packaging and cloud-native configuration

• Packaging services as executable applications

• Creating container images with Dockerfiles or buildpacks

• Supplying configuration and secrets at deployment time

• Designing stateless services for scaling and replacement

Module 16: Integrated microservices solution

• Combining services, configuration, discovery and gateway routing

• Implementing resilient communication between application components

• Reviewing service boundaries, dependencies and failure behaviour

• Preparing the solution for advanced security, messaging and deployment

Optional Day 5: Advanced security, messaging, testing and deployment

*The optional fifth day extends the application developed during the core course. The advanced topics are applied progressively to a substantial end-to-end microservices project.

Module 17: OAuth 2.0 and OpenID Connect

• Distinguishing authentication, authorisation and delegated access

• Understanding OAuth 2.0 roles, grants, access tokens and refresh tokens

• Protecting microservice APIs as resource servers

• Implementing user authentication and identity claims with OpenID Connect

Module 18: Asynchronous messaging

• Designing event-driven communication between services

• Publishing and consuming messages through a message broker

• Handling message failures, retries and dead-letter destinations

• Applying idempotency and event-processing reliability patterns

Module 19: Contract and integration testing

• Testing interactions between service providers and consumers

• Introducing consumer-driven contract testing

• Testing databases, brokers and external dependencies in controlled environments

• Balancing unit, integration, contract and end-to-end tests

Module 20: Deployment, tracing and end-to-end operations

• Running the complete application with Docker Compose

• Preparing services and supporting components for Kubernetes

• Following requests across services with distributed tracing

• Deploying, diagnosing and improving the end-to-end project through operational troubleshooting

Hands-on learning with expert instructors at your location for organizations.

5,622€*
Graph Icon - Education X Webflow Template
Level:
intermediate
Clock Icon - Education X Webflow Template
Duration:
28
Hours (days:
4
)
Camera Icon - Education X Webflow Template
Training customized to your needs
Star Icon - Education X Webflow Template
Immersive hands-on experience in a dedicated setting
*Price can range depending on number of participants, change of outline, location etc.

Master new skills guided by experienced instructors from anywhere.

3,987€*
Graph Icon - Education X Webflow Template
Level:
intermediate
Clock Icon - Education X Webflow Template
Duration:
28
Hours (days:
4
)
Camera Icon - Education X Webflow Template
Training customized to your needs
Star Icon - Education X Webflow Template
Reduced training costs
*Price can range depending on number of participants, change of outline, location etc.

Upcoming Sessions

19-22 Oct 2026
London
30 Nov - 3 Dec 2026
Brussels
7-10 Dec 2026
Amsterdam
14-17 Dec 2026
Milan
8-11 Feb 2027
Stockholm
1-4 Mar 2027
Brussels
8-11 Mar 2027
Barcelona
29 Mar - 1 Apr 2027
Amsterdam

Can't find a suitable date? Get in touch and we'll arrange one that works for you.

We use cookies to improve site navigation, analyse how the site is used, and support our marketing. You can accept all cookies, reject non-essential ones, or choose individual categories. Read our Cookie Notice