Service meshes like Istio and Linkerd 2 solve many problems of current microservice applications. They add observability, routing, resilience, and security features as a dedicated infrastructure layer. Communication between applications can be monitored, configured and secured without adding or changing application code.
Sounds too good to be true? Indeed, a service mesh does not come without a price: mental complexity, increased resource consumption, and latency being the main challenges. We will talk about meaningful use cases for service meshes, drawbacks, and differences between the various implementations.