This tutorial explains how to design applications to effectively develop them with the Microservices architecture. It examines building microservices step by step, how to design boundaries between components using Domain-driven design and when to split a microservice into smaller services.
The session starts with a simple Jakarta EE service; identifies individual components; refactors the code to establish boundaries between the components and separates the components into sensible microservices. It then shows how to apply concepts such as fat JARs, dynamic discovery, and client-side fault tolerance and circuit breakers to the microservices, using MicroProfile and runtimes like Payara Micro and Quarkus. Finally, the microservices will be deployed to a Kubernetes cluster and in the cloud where we’ll configure monitoring and implement self-healing patterns to prepare a robust production environment.