Software Development based on a distributed (microservice) architecture provides both several advantages and new challenges.
In order to take advantage of the distribution it requires implementation of service discovery, routing, load-balancing, resilience mechanisms and more.
In the ecosystem of Spring there is Spring Cloud, which provides a big range of dedicated solutions to address exactly those challenges.
If the microservice architecture is running on top of Kubernetes there are alternative options to address these problems.
So-called service mesh implementations do not have to be part of the actual application code, but can happen on a the network level of the container.
A fairly new approach is emerging with the eBPF technology, which claims to enable service meshes with minimal overhead.
The different approaches of course result in different responsibilities for the developers and application owners.
With this talk I want to compare the approaches to figure out if one, the other or a combination can be helpful for certain scenarios.
The talk is split into a theoretical and a live-demo part.