When an organization is forced to manage distributed service-to-service communication over a large network, service mesh provides a dedicated layer where separate parts of an application can communicate with each other. This way, software teams can centralize communication, rather than monitor each individual service message exchange independently.
When service mesh emerged in 2018, many saw this technology as a way to tackle the complexity of container deployment at production scale. They also saw it as a way to address unsustainable manual traffic management processes.
In 2019, the success of service mesh implementation inspired a rush of vendors that hoped to cash in on the need to manage services at scale. The industry saw a booming sub-ecosystem around two major service mesh options, Google's Istio and the open source Envoy, plus many à la carte tools, such as Tetrate and Meshery. A handful of newcomers jumped into the fray, such as HashiCorp, Kong, Containous, Aspen Mesh and Solo.io. Despite the competition, Istio and Envoy led the pack.
The service mesh market saw two significant events in 2019. First, Envoy Project Authors fine-tuned its increasingly popular sidecar proxy design pattern. Second, Google kept its service mesh technology, and Istio, out of the open source Cloud Native Computing Foundation (CNCF), and thereby retained proprietary control.
Envoy cements the sidecar proxy
Building on momentum from 2019, developers will likely continue to build their control plane around the Envoy proxy server in 2020. While there are a few exceptions, many enterprises seem to consider Envoy as the near-standard data plane. The popularity of Envoy cemented the sidecar proxy design pattern as a standard method to connect and manage microservices.
The sidecar proxy design pattern has shortcomings so alternative approaches have emerged to fill the gaps. Maesh, for instance is a service mesh built on Traefik, an open source edge router. As opposed to the sidecar proxy design that's critiqued as invasive, Maesh manages communications through distributed endpoint proxies that reside on each endpoint.
Google tightens hold on Istio
Istio, which released version 1.3 in September, has become a de facto standard for service mesh implementation. Unfortunately, Istio has a steep learning curve, which opens the door to competitors. But complexity has not hindered Istio adoption, largely thanks to the growing number of vendors that build Istio-specific support tools.
However, Google's decision to retain service mesh governance and not give it to the CNCF could dampen Istio's adoption rates in 2020. This move caused some concern among vendors who bet on Istio's addition to the CNCF in 2019. So while Istio remains open source, its governance remains under Google's control, which brands it as proprietary instead of vendor-neutral, like Linkerd.
A busy year to come
It is evident that 2019 revealed service mesh implementation to be a necessary part of managing large Kubernetes deployments. As we move into 2020, expect more challenges, especially as teams stumble upon Kubernetes' additional layers of complexity and navigate a dynamic service mesh vendor market.