Let’s be honest: Sometimes we wish we could go back to the good old monolith. A single application which 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.