Il primo service mesh
Linkerd 1.x (2016, Buoyant) è il primo progetto che usa il termine service mesh. Scritto in Scala/JVM, basato su Finagle (Twitter), è potente ma pesante (300+ MB RAM per proxy). Con l’adozione Kubernetes e il bisogno di overhead basso, serve un rewrite.
Il rilascio 2.0
Linkerd 2.0 è rilasciato il 18 settembre 2018 da Buoyant. Fondatori: William Morgan (ex-Twitter, ex-Yammer) e Oliver Gould (ex-Twitter). Licenza Apache 2.0. Rewrite totale:
- Data plane scritto in Rust (proxy chiamato
linkerd2-proxy) - Control plane in Go
- Progettato da zero per Kubernetes only
Donato alla CNCF nel 2017, graduated nel luglio 2021.
Caratteristiche
- mTLS automatico — tra tutti i pod del mesh, rotazione chiavi
- Automatic retries e timeouts
- Traffic splitting — per canary, blue/green
- Metrics Prometheus — RED (Rate/Error/Duration) di default
- Tap — visualizzazione real-time del traffico
- Zero-config — installazione con
linkerd install | kubectl apply - Footprint minimo — proxy ~20 MB RAM (vs Envoy ~150 MB)
- No CRD explosion — semplicità operativa
Linkerd vs Istio
| Linkerd 2 | Istio | |
|---|---|---|
| Data plane | linkerd2-proxy (Rust) | Envoy (C++) |
| Footprint | Leggero (~20MB) | Pesante (~150MB) |
| Feature set | Focalizzato | Esteso (policy, security, observability completa) |
| Config | Minima | Ricca CRD |
| Adozione | Team che vogliono semplicità | Team grandi con requisiti complessi |
Versioni
- 2.0 (settembre 2018) — rewrite
- 2.5 (2019) — stabilizzazione
- 2.10 (2021) — multi-cluster
- 2.11 (2021) — server/route policy
- 2.14 (2023) — HTTPRoute Gateway API
- 2.16+ (2024) — edge release, distribuzione stable commercial (Buoyant)
Dal 2024 Buoyant Enterprise è la distribuzione commerciale; le release stable vanilla devono attendere 6 mesi.
Concorrenti
- Istio — più diffuso, più feature, più complesso
- 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
Nel contesto italiano
Linkerd è scelto da team italiani che:
- Vogliono mTLS automatico senza configurazione complessa
- Hanno cluster K8s di medie dimensioni
- Evitano la complessità di Istio
- Cercano observability micro-servizi base (RED metrics + tap)
Usato in PMI tech italiane, banche per pilot di service mesh, hosting provider che offrono K8s managed.
Riferimenti: Linkerd 2.0 (18 settembre 2018). Buoyant (William Morgan, Oliver Gould). Licenza Apache 2.0. Data plane Rust (linkerd2-proxy), control plane Go. CNCF graduated (luglio 2021). Versione corrente 2.16+ (2024).
