The first service mesh
Linkerd 1.x (2016, Buoyant) is the first project to use the term service mesh. Written in Scala/JVM, based on Finagle (Twitter), it’s powerful but heavy (300+ MB RAM per proxy). With Kubernetes adoption and the need for low overhead, a rewrite is needed.
The 2.0 release
Linkerd 2.0 is released on 18 September 2018 by Buoyant. Founders: William Morgan (ex-Twitter, ex-Yammer) and Oliver Gould (ex-Twitter). Apache 2.0 licence. Total rewrite:
- Data plane written in Rust (proxy called
linkerd2-proxy) - Control plane in Go
- Designed from scratch for Kubernetes only
Donated to CNCF in 2017, graduated in July 2021.
Features
- Automatic mTLS — between all mesh pods, key rotation
- Automatic retries and timeouts
- Traffic splitting — for canary, blue/green
- Prometheus metrics — RED (Rate/Error/Duration) by default
- Tap — real-time traffic visualisation
- Zero-config — installation with
linkerd install | kubectl apply - Minimal footprint — proxy ~20 MB RAM (vs Envoy ~150 MB)
- No CRD explosion — operational simplicity
Linkerd vs Istio
| Linkerd 2 | Istio | |
|---|---|---|
| Data plane | linkerd2-proxy (Rust) | Envoy (C++) |
| Footprint | Lightweight (~20MB) | Heavy (~150MB) |
| Feature set | Focused | Extended (policy, security, full observability) |
| Config | Minimal | Rich CRD |
| Adoption | Teams wanting simplicity | Large teams with complex requirements |
Versions
- 2.0 (September 2018) — rewrite
- 2.5 (2019) — stabilisation
- 2.10 (2021) — multi-cluster
- 2.11 (2021) — server/route policy
- 2.14 (2023) — HTTPRoute Gateway API
- 2.16+ (2024) — edge release, stable commercial distribution (Buoyant)
Since 2024 Buoyant Enterprise is the commercial distribution; vanilla stable releases must wait 6 months.
Competitors
- Istio — more widespread, more features, more complex
- Cilium Service Mesh — eBPF, no sidecar
- Consul Connect — HashiCorp
- AWS App Mesh, Google Traffic Director, Azure Service Mesh — managed cloud
- Kuma (Kong, OSS) — multi-zone, multi-cluster
In the Italian context
Linkerd is chosen by Italian teams that:
- Want automatic mTLS without complex configuration
- Have medium-sized K8s clusters
- Avoid Istio’s complexity
- Seek basic microservice observability (RED metrics + tap)
Used in Italian tech SMEs, banks for service mesh pilots, hosting providers offering managed K8s.
References: Linkerd 2.0 (18 September 2018). Buoyant (William Morgan, Oliver Gould). Apache 2.0 licence. Rust data plane (linkerd2-proxy), Go control plane. CNCF graduated (July 2021). Current version 2.16+ (2024).
