ADR-020 — Migration monitoring stack hors AGPL¶
Contexte¶
AKKO utilise Grafana OSS 11.x + Loki 3.x + Tempo pour l'observabilité. Depuis avril 2021, Grafana Labs a relicensé ces 3 produits sous AGPL v3.
AGPL v3 clause "network copyleft" impose : toute offre SaaS qui expose ces logiciels (même modifiés) doit publier son code source complet sous AGPL compatible.
Implication : AKKO n'est pas commercialisable en SaaS tant que Grafana OSS + Loki restent dans la stack.
Décision¶
Migrer vers VictoriaMetrics + VictoriaLogs (Apache 2.0) comme stack observabilité primaire.
Alternatives évaluées¶
| Alternative | Licence | Verdict |
|---|---|---|
| Grafana Enterprise | Commerciale | Coût 24-60k€/an, viable mais cher |
| VictoriaMetrics + VictoriaLogs | Apache 2.0 | ✅ RETENU — pur Apache 2.0, perfs supérieures |
| Perses (CNCF) | Apache 2.0 | Immature (sandbox 2024) |
| SigNoz | Apache 2.0 | Mature, Plan B si VictoriaMetrics insuffisant |
| Chronograf (InfluxData) | AGPL | Même problème |
| Kibana récent | Elastic License | Non-OSS |
| Netdata | GPL v3 | Même problème |
Avantages VictoriaMetrics¶
- MetricsQL = superset PromQL : rétro-compatibilité, Prometheus rules marchent sans modif
- vmalert : compatible PrometheusRule CRD, Alertmanager intégré
- vmagent + vmauth + vmgateway : Apache 2.0 confirmé
- Perf : 10× mieux que Prometheus (CPU/RAM), 40-80× compression
- Enterprise support disponible si besoin
Avantages VictoriaLogs¶
- Perf : 6M rows/s ingest, 40-80× compression, 1000× faster full-text search vs Loki
- Ingestion transparente : Promtail, Vector, Fluentbit, Fluentd tous supportés
- Endpoint Loki-compatible (
/insert/loki/api/v1/push) → Promtail existant reste - Apache 2.0 confirmé depuis inception
Limites reconnues¶
- LogsQL ≠ LogQL : requêtes à convertir manuellement (doc officielle fournit guide)
- Cold storage S3 / tiering : en construction (Q2 2025) → mitigation AWS S3 Object Lock en attendant
- Conversion 20 dashboards Grafana = 10-20 jours de relecture manuelle
Plan de migration (Sprint 39.0)¶
| Phase | Durée | Livrable |
|---|---|---|
| 0 — Audit + POC docker-compose | 1 sem | 20 dashboards listés, volume logs mesuré |
| 1 — VictoriaMetrics cluster | 1 sem | 3 nodes HA, vmagent scrape, parallel run Prometheus |
| 2 — VictoriaLogs cluster | 1 sem | 2 nodes, reconfig Promtail/Vector, parallel run Loki |
| 3 — Dashboards + vmalert | 2 sem | 20 dashboards converts, alertes migrées |
| 4 — Retire legacy | 0.5 sem | Grafana OSS + Loki désactivés, docs update |
Total : ~5 semaines pour 2 engineers en parallèle.
Effort¶
- 39 jours-homme estimés
- Coût salaires ~10k€ (vs 24-60k€/an licence Grafana Enterprise)
- ROI : amortissement en 6 mois d'opération
Risques¶
| Risque | Mitigation |
|---|---|
| Breaking changes VictoriaMetrics | LTS releases uniquement (v1.99.x / v2.0.x) |
| Courbe LogsQL | Workshop interne 2h + doc patterns courants |
| WORM/compliance | AWS S3 Object Lock interim, VictoriaLogs cold storage Q2 2025 |
| Dashboards UI | Grafana reste possible comme UI avec VictoriaMetrics datasource |
Conséquences¶
- Positives
- AKKO commercialisable en SaaS ✓
- Perf observabilité améliorées ✓
- Stack plus légère (moins de CPU/RAM) ✓
-
Pas de licence payante ✓
-
Négatives
- 5 semaines engineering
- Formation équipe LogsQL
- Dashboards à convertir manuellement
Statut¶
Accepté 2026-04-19 — exécution Sprint 39.0 (task #186).
Références¶
- Audit licences consolidé :
akko-technical-map/audits/2026-04-19/CONSOLIDATED.md - Benchmark complet : agent
a5bdd49c65d7baf91(2026-04-19) - VictoriaMetrics docs : https://docs.victoriametrics.com/
- Grafana Labs relicensing (2021) : https://grafana.com/blog/2021/04/20/grafana-loki-tempo-relicensing-to-agplv3/