What is Service Mesh?

A service mesh is an additional infrastructure layer that provides a means of communication between all services in a given application. It is typically deployed as a  series of proxies alongside each service instance. Since the service mesh proxies are deployed alongside the application services and not as part of it, they are often referred to as sidecars. This means that as a whole, these sidecar proxies are a mesh network and an infrastructure layer separate from the application. A service mesh not only brokers communication between all services in an application but, since all requests, both internal and external, pass through it, it provides a means for handling many tasks that can be obfuscated away from the application.

Why do I need a Service Mesh?

It is becoming increasingly common for high-availability applications to employ a microservice architecture comprised of services. Each service is responsible for something specific within the overall application. This kind of architecture offers flexibility in that each discreet service can employ different technologies, programming languages, and be optimized with their particular purpose in mind. Separation of concerns helps to streamline development by encapsulating functionality. It also lends to the ability to horizontally scale more quickly, making the addition of more services to handle more load straightforward.

As the number of services increases, their interconnectedness does as well. This is where a  service mesh becomes appealing. Managing communication between all services in an extensive distributed application comprised of dozens of different services with hundreds or thousands of instances is no simple task. Before the existence of the service mesh, communication would need to be managed at the application level. Developers would need to consider and build into the application the mechanism by which each discreet service communicates. This would require an in-depth and overarching understanding of each individual service’s dependencies as it pertained to the other services in the system.

#tutorials #grpc #kubernetes #manifest #microservices

What is a Service Mesh?
1.05 GEEK