2 days
Online / Zoom
English
Certificate
15 people max
Victor Rentea
€7500
9375
Microservices certification training for Java developers on designing, building, testing, and deploying production-grade microservices.
Introduction
This workshop equips you with the tools and knowledge required for building maintainable, scalable, and fault-tolerant Java microservices. You'll learn how to tackle real-world challenges like API design, observability, resilience, messaging, distributed consistency, and monolith migration—while avoiding pitfalls that teams face on their microservices journey.
Day 1 ⋅ Microservices Fundamentals, API Design, Integration Patterns & Eventual Consistency
Introduction to microservices: definition, pros, cons, tradeoffs, and common pitfalls.
Microservices vs. other architectural styles (Monolith/Modulith/Service-Based).
Understanding the link between software architecture and team/org structure (Conway's Law).
Taming Cognitive Load with Team Topologies: Stream-aligned, Platform Team, Component Team.
Heuristics to find Service Boundaries.
Balancing local and global complexity in distributed systems.
REST API design principles and best practices.
API backward compatibility and semantic versioning.
CRUD APIs, Task-Based API, and CQRS.
Contract-First vs. Code-First API design.
Swagger and OpenAPI on client and server-side.
Async HTTP.
Batch APIs and Request Multiplexing.
Error Handling.
API Gateway: public vs private APIs.
API Aggregator and GraphQL Federation.
Integration
Handling messaging errors, duplicates, out-of-order, race conditions, sensitive, and lost messages.
Queues vs. Commands vs. Events.
Choreography vs Orchestration.
Event Streaming with Apache Kafka — Fundamentals.
Exercise: Redesign RPC/REST-based interactions to event-driven communication.
CAP Theorem.
Understanding ACID, BASE, and Eventual Consistency.
Transactional Inbox & Outbox Pattern.
Solutions to The Dual Write Problem.
Change Data Capture (CDC) with Debezium.
Why Distributed Transactions and XA are evil.
Compensations and Reservations.
Exercise: Design a Food Delivery App Saga.
Day 2 ⋅ Fault Tolerance, DevOps, Testing Strategies & Migrating to Microservices
Blue/Green Deployment, Canary, and Feature Flags.
Retries and Idempotency.
Failover Cache.
Timeout, Throttling, and Circuit Breaker.
Containing Failures with Bulkhead Pattern.
Sidecar Pattern with Istio Service Mesh.
Exercise: Implement fault tolerance patterns with Spring/Resilience4j.
Configuration management and service discovery.
Log correlation with OpenTelemetry.
Distributed Tracing with Zipkin.
Metrics and Alarms with Grafana.
Health Probes with Kubernetes Liveness and Readiness.
Secret Management, Security Proxy/Chassis, Examples Security Architecture for Microservices.
Exercise: Trace a bug, a bottleneck and a resource starvation in a microservice ecosystem.
Testing microservices: how much and at what level?
Honeycomb Testing Strategy (vs. Testing Pyramid).
E2E testing against Staging and Service Mocks.
Unit testing with real dependencies with Testcontainers.
Consumer-Driven Contract Testing with Pact and Spring Cloud Contract.
A step-by-step migration guide.
Decomposition Patterns.
Strangler Fig Pattern.
Ten golden rules of Microservice Architecture.
Victor Rentea
Victor is a Java Champion, Java Enterprise Architect, and Independent Trainer, delivering intense masterclasses for companies worldwide since 2014. He is passionate about software architecture, clean code, refactoring, and unit testing. He is a regular speaker at top international conferences. He's also the founder of the Bucharest Software Craftsmanship Community with 4000 members.