Skip to content

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/