What is Service Mesh?

Service Mesh is the communication layer in your micro-service setup. All the requests to and from each one of your services will go through the mesh. Each service will have its own proxy service and all these proxy services together form the “Service Mesh”. So if a service wants to call another service, it doesn’t call the destination service directly, it routes the request first to the local proxy and the proxy routes it to the destination service. Essentially your service instance doesn’t have any idea about the outside world and is only aware about the local proxy.

Its requirements can include discovery, load balancing, failure recovery, metrics, and monitoring. A service mesh also often has more complex operational requirements, like A/B testing, canary rollouts, rate limiting, access control, and end-to-end authentication.

Image for post

Services with local proxies

Why Service Mesh?

Container orchestration framework:

As more and more containers are added to an application’s infrastructure, a separate tool for monitoring and managing the set of containers — a container orchestration framework — becomes essential. Kubernetes seems to have cornered this market, with even its main competitors, Docker Storm and Mesosphere DC/OS, offering integration with Kubernetes as an alternative.

Services and instances (Kubernetes pods):

An instance is a single running copy of a micro-service. Sometimes the instance is a single container; in Kubernetes, an instance is made up of a small group of interdependent containers (called a pod). Clients rarely access an instance or pod directly; rather they access a service, which is a set of identical instances or pods (replicas) that is scalable and fault-tolerant.

Sidecar proxy:

A sidecar proxy runs alongside a single instance or pod. The purpose of the sidecar proxy is to route, or proxy, traffic to and from the container it runs alongside. The sidecar communicates with other sidecar proxies and is managed by the orchestration framework. Many service mesh implementations use a sidecar proxy to intercept and manage all ingress and egress traffic to the instance or pod.

#service-mesh #kuberne #envoy-proxy #nodejs #microservices

What is Service Mesh? — An Introduction to Envoy Proxy
2.10 GEEK