What is a Service Mesh
Original post: What is a Service Mesh
Franco Fernando published this amazing three-post series on Service Meshes (the link points to the first issue).
He explores different topics:
- What is a Service Mesh: an infrastructure component that makes inter-service communication easy and safe
- Why we might need it: instead of relying on shared libraries that aren’t language agnostic, we can use a service mesh to achieve the same with less hassle
- What you get out of using it: from more reliable interactions (load balancing, automatic retries, circuit breakers, etc), to safer defaults (mTLS) and improved observability
- How it compares to an API gateway: API gateway deals with south-north traffic (external), a service mesh east-west traffic (internal only)
- And when using one or another: they cover different use cases, and you can of course have both
Of course, it’s not all bells and whistles. Adding a service mesh brings one more component to manage and maintain, and it adds latency to the remote calls you’re doing. Whether it’s worth it depends on the use case.
An interesting point was that the API gateway itself is treated like any other internal service by the service mesh, giving it an inception-like feeling.
This is just a small summary of what you get from the three issues, so go read them!