What is Service Mesh?
Service Mesh exists to solve the new networking challenges created as applications evolve from static monolithic workloads to distributed microservices. In a loosely coupled services architecture where services are always changing, the connections between the services are critical to the application functioning properly.
With the rising popularity of microservices based architecture and containers (Docker and Kubernetes), service mesh solves the problem of how service to service communication is managed in ephemeral, dynamic and distributed environment. In networking terms, a service mesh provides the east-west traffic within the cluster, while the north-south is the traffic pattern from the outside to the cluster. Service Mesh abstracts the business logic of an application (what the service does) from the application network (how it should talk to each other).
Organizations looking to adopt microservices and service mesh are faced with a myriad of choices in mesh providers like AWS App Mesh, Hashicorp Consul, Istio, and Linkerd. The process of selecting new technology with different APIs in a rapidly evolving ecosystem can be difficult and complex.
- Ever increasing number of service mesh options available
- Each mesh has a different implementation, APIs and integration points
- Each mesh presents a different operating model
Teams need the ability to choose the service mesh that best suits the business and technical needs of their application. They require the flexibility to use any mesh on any infrastructure with the controls to manage their diverse environment in a consistent way.
- Flexibility to choose any mesh at any time for your applications
- Unify mesh management and improve extensibility through an API translation layer
- Ensure configuration consistency and compliance