A world of service mesh without sidecars!

Sanjit Mohanty
2 min readMay 10, 2022

--

Photo by JJ Ying on Unsplash

So far there are 2 well known types of service mesh model -

1. Shared library model

In this model, the application implements service mesh features using language-specific libraries. Libraries like Hystrix and Ribbon would be examples of this approach.

This works well for apps that are exclusively written in one language by the teams that run them. The library approach also doesn’t require much cooperation from the underlying infrastructure — Kubernetes doesn’t need to be aware that you’re running a Hystrix enhanced app.

There is some work on multi-language libraries — reimplementations of the same concepts. The challenge here is the complexity and effort involved in replicating the same behaviour over and over again.

2. Sidecar proxy model

In this model, the service mesh-related functionalities are achieved by running a sidecar proxy next to the application. This is the model used by Istio with Envoy.

In the Sidecar deployments, you have one adjacent container deployed for every application container. For a service mesh, the sidecar handles all the network traffic in and out of the application container.

The sidecar proxy model is currently the most commonly used pattern; however over the years practitioners of this pattern have observed many challenges which includes additional cost & resources, performance implications , additional overhead of deployment & maintenance!

What next?

Enters Cilium which brings a “sidecar-less” model to the world of service mesh. It’s based on the concept of eBPF wherein you use eBPF based plugin running in Kernel to tap into the network, security, and observability.

In a follow-up blog, I’ll take you through the why’s & how’s of Cilium!

Update 21/08: I’ve a new blog on eBPF explaining the need that led to the rise of it. Do check out here.

--

--

Sanjit Mohanty
Sanjit Mohanty

Written by Sanjit Mohanty

Engineering Manager, Broadcom | Views expressed on my blogs are solely mine; not that of present/past employers. Support my work https://ko-fi.com/sanjitmohanty