Abstract: Let’s be honest, sometimes we wish we could go back to the good old monolith. A single application that can be easily operated, secured, and monitored and that does not have to deal with all the challenges a network introduces. But instead, many companies have decided to go with Microservices, for many good reasons such as faster delivery and more independence for developer teams.
Yet, the cross-cutting concerns developers implement around the business logic seem to have gotten a bit out of hand. Think about monitoring, circuit breaking, canary releasing, TLS termination. This is exactly what a Service Mesh promises to change. It lifts monitoring, resilience, routing, and security into the infrastructure. Sounds too good to be true? Indeed, a Service Mesh does not come without a price: cognitive complexity, increased resource consumption, and latency.
We need to talk: about meaningful use cases for Service Meshes as well as the drawbacks and implementations such as Istio and Linkerd.