The move to cloud-native applications and microservices architecture brings many well known benefits, but also creates some new challenges. One of the trickier problems is managing the communication between multiple services in a distributed system.
However small and cohesive the microservices are, there’s always a set of common problems to solve in a distributed world, such as routing traffic to the right service, handling timeouts, balancing load across instances, enforcing security measures (authentication, authorisation, encryption), and making all the communication observable. These quickly become very complex to manage as more services are added to your application, especially if the services are written in different languages, forcing you to repeatedly implement the same solution for different technology stacks.
This is where service mesh lends a helping hand. In a nutshell, the service mesh is another layer of infrastructure handling all the common networking functionality. Service meshes don’t really introduce any new functionality – they just move the logic that would have to be repeatedly built as part of every microservice to a separate, centrally-managed logical layer. Physically, service mesh is a set of side-car proxies attached to each service. Traffic to and from services is forced through its respective proxy which applies various policies as decided by the global configuration.
Introducing a service mesh into your infrastructure will reduce complexity and time spent on managing system-wide policies and complex deployments. And your day-to-day operations become easier thanks to the centralised way of viewing, troubleshooting and maintaining your service communication layer.
While service mesh is a relatively new concept, it’s built on a foundation of tried and tested, reliable technologies. The leading one – Istio – is backed by industry leaders such as Google and easily integrates with commonly used technologies like Kubernetes. It’s actively supported and new functionality and integrations are constantly being added. At Red Badger, we believe service mesh will soon become a standard part of any infrastructure solution.