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.
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
• 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
*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.
Master new skills guided by experienced instructors from anywhere.
Can't find a suitable date? Get in touch and we'll arrange one that works for you.