CNCF fostered Linkerd has hit its second major release, aiming at service owners rather than platform owners. Its new design also promises to reduce complexity when compared to traditional service meshes.
Linkerd 2.0 is described by its team as a service sidecar. This means that even developers and service owners without access to a whole Kubernetes cluster can run it on their services. In earlier versions this wasn’t possible, since those worked as a full-on service mesh which traditionally runs on the whole cluster. Service meshes often get included into infrastructure to handle communication between services and therefore help with observability and reliability. They are often implemented as an array of network proxies, making up a layer of abstraction above TCP/IP.
The service sidecar design takes a step back, letting users either build a mesh one service at a time, should they wish for a platform-wide layer, or just install it on single services. If it’s run on a single Kubernetes service, Linkerd offers – amongst other things – a way for users to map incoming and outgoing dependencies in topology graphs and lets them view requests in real-time. It also provides Grafana dashboards of a service’s success rates, latencies, and throughput. All of this can for example be used to debug services. A change of code or configuration apparently isn’t necessary to install version 2.0.
The rewrite of Linkerd seems to have made the project also noticeably faster, while lowering the resource footprint of the project. Its data plane is now comprised of Rust proxies, and the modularly designed control plane is – like so many projects in the Kubernetes ecosystem – written in Go.
Linkerd’s maintainers are all employees of software development company Buoyant, whose clients include companies such as PayPal and Monzo. The project however is developed under the umbrella of the Cloud Native Computing Foundation. This sub-organisation of the Linux Foundation also oversees the advance of container orchestrator Kubernetes, monitoring project Prometheus and others. Linkerd can be found on GitHub, and its code is licensed under the Apache License 2.0.