Deployment Considerations of Service Mesh

Scenarios & Options for using Service Mesh

Sunku R
4 min readDec 4, 2021
Figure 1: Communication Patterns in a Service Mesh

Kubernetes, a de-facto software and toolset for orchestration and management at the Edge [1] has the ability to customize its functionality similar to Lego blocks and has enabled application developers to develop and deploy edge services using microservices approach with various Container Network Interfaces (CNI) like Calico, OVS-DPDK, etc and cloud native deployment models such as Continuous Integration/Continuous Deployment (CI/CD). Rich set of service mesh types have evolved to be able to integrate with Kubernetes, such as Isito/Envoy, LinkerD, Consul, etc.

Microservice deployments could use wide variety of deployment scenarios within a Kubernetes environment. Few of the service mesh based microservice interaction patterns that heavily impact the performance of the services communication while utilizing Kubernetes pod and Kubernetes services constructs, as indicated in Figure 1:

- Pod to pod communication

- Pod to service communication

- Ingress controller to pod and vice-versa.

- Load balancer to pod and vice-versa.

- Pod to Egress controller

- API gateway to service and vice-versa

--

--