Skip to content

ADR 005: Observability Stack — OpenTelemetry + Grafana Cloud

  • Tarih: 2026-04-17
  • Durum: Kabul Edildi (Accepted)
  • İlgili Bileşen: Tüm servisler (api-gateway, psychometric-engine, ileride clients)
  • Bağlam Dosyaları: ../../architecture/observability.md, ../../security/nist-ai-rmf-mapping.md, ../../security/eu-ai-act-compliance.md
  • Sahip: Simetri

1. Bağlam ve Problem

EU AI Act Art. 61 ve NIST AI RMF MEASURE 4.1, yüksek riskli AI sistemlerinin prod sonrası davranışının sürekli izlenmesini şart koşar. Mevcut durumda:

  • Audit trail (audit-trail.md) compliance logging'i kapsar ama operasyonel izleme (latency, error rate, model drift, alerting) sağlamaz.
  • Railway Pro infra metrikleri (CPU/RAM/Network) sunar ama uygulama seviyesi custom metrikler, distributed tracing ve custom alert rules sunmaz.
  • Dolayısıyla: uygulama seviyesi observability için ayrı bir stack gerekir.

İki karar verilmeli: (1) instrumentation standardı, (2) backend/storage + UI.


2. Karar

Instrumentation: OpenTelemetry (OTLP) — vendor-agnostic, CNCF graduated project.

Backend: Grafana Cloud Free tier — Mimir (metrics), Loki (logs), Tempo (traces), Grafana (dashboards + alerting).


3. Değerlendirilen Alternatifler

3.1. Datadog

  • Artıları: En olgun APM suite; auto-instrumentation kaliteli; tek panel deneyimi.
  • Eksileri: $15/host/ay + log volume + trace volume → pre-revenue startup için aylık $50-200+ maliyet. Vendor lock-in (proprietary agent + query language). OTLP desteği var ama native agent tercih eder.
  • Neden seçilmedi: Maliyet. Pre-revenue aşamada sürdürülebilir değil. OTLP abstractionu sayesinde ileride migration ucuz.

3.2. Self-Hosted (Prometheus + Loki + Tempo + Grafana)

  • Artıları: Tam kontrol, veri egemenliği, uzun vadede ucuz (sadece infra maliyeti).
  • Eksileri: 4 ayrı servis deploy + HA + storage yönetimi + upgrade bakımı. 5 kişilik ekip için ops yükü çok yüksek. Railway'de 4 ek container = compute maliyeti + karmaşıklık.
  • Neden seçilmedi: Ops overhead. Ekip < 10 kişi iken SaaS daha verimli. Grafana Cloud zaten aynı açık kaynak bileşenlerini barındırıyor; self-host'a geçiş istediğimiz an mümkün.

3.3. Signoz / Betterstack / Axiom

  • Artıları: OTLP-native, Grafana Cloud'a benzer UX, bazıları daha agresif free tier.
  • Eksileri: Daha küçük topluluk, daha az dokümantasyon, ekosistem olgunluğu Grafana'nın altında. Signoz self-hosted gerektirir (SaaS kısıtlı); Axiom log-first (trace desteği erken aşama).
  • Neden seçilmedi: Risk. Grafana ekosistemi (Mimir/Loki/Tempo) CNCF'te en yaygın ve en iyi belgelenmiş. İlk observability altyapısında "denenmiş ve bilinen" tercih edildi.

3.4. Hiçbir Şey Yapmamak (Railway Native ile idare)

  • Artıları: Sıfır ek karmaşıklık.
  • Eksileri: MEASURE 4.1 ve Art. 61 compliance boşluğu; model davranış izleme yok; custom alerting yok. Denetçi "model drift'i nasıl takip ediyorsunuz?" sorusuna yanıt veremeyiz.
  • Neden seçilmedi: Regülatif uyumsuzluk riski kabul edilemez.

4. Gerekçeler

  1. Vendor lock-in yok. OTLP CNCF standardı; backend'i Datadog, self-hosted veya başka bir SaaS'a değiştirmek tek satır config (exporter endpoint). Uygulama kodu değişmez.
  2. Maliyet: $0. Free tier (10k metric serisi, 50GB log, 50GB trace, 14 gün retention) MVP trafiğine rahat yeter. İlk ücret tetikleyicisi muhtemelen 4. kullanıcı ($8/ay) olur.
  3. Compliance-ready. Model davranışı metrikleri (Direction Accuracy, hallucination rate, eval drift) + custom alerting ile MEASURE 4.1 ve Art. 61 kapatılır.
  4. Self-host çıkış yolu. Grafana Cloud, Mimir/Loki/Tempo kullanır — tamamen açık kaynak. Büyüdüğümüzde aynı sorgu dillerini (PromQL, LogQL, TraceQL) self-hosted instance'a taşımak doğrudan mümkün.
  5. Railway ile doğal entegrasyon. OTLP HTTPS exporter Railway outbound'dan sorunsuz çalışır. Railway log drain → Loki opsiyonel ek yol.
  6. EU hosting. Grafana Cloud EU region (Frankfurt) destekler — GDPR veri lokasyonu uyumu.

5. Sonuçlar ve Gelecek Etkileri

Avantajlar:

  • Pre-revenue aşamada $0 ek maliyet ile regülatif uyum.
  • Her iki servise (api-gateway + psychometric-engine) standart OTLP SDK entegrasyonu ile tutarlı observability.
  • Dashboard + alerting + trace correlation tek platform üzerinde.

Dezavantajlar ve Riskler:

  • Free tier 14 gün retention — uzun süreli trend analizi kısıtlı (ama audit trail uzun süreli compliance'ı karşılıyor).
  • 3 kullanıcı limiti — ekip büyümesinde Pro'ya geçiş gerekir ($19/ay + $8/kullanıcı).
  • Community support only — prod-kritik observability sorununda SLA yok.

Hafifletme Stratejisi:

  • Retention: compliance = audit trail; observability = operasyonel pencere (14 gün yeterli).
  • Kullanıcı: 4. kişide Pro plan'a geçiş ($27/ay toplam — kabul edilebilir).
  • Support: Grafana topluluk forumu + GitHub issues aktif; kritik sorunlar açık kaynak bileşenlere bakarak çözülebilir.

Ne Zaman Yeniden Değerlendirilir?

  • Free tier limitlerine yaklaşıldığında (Grafana Cloud usage dashboard'dan takip)
  • Trafik 10k+ aktif metrik serisini aştığında
  • Ekip > 5 kişi (3 free kullanıcı yetmez)
  • EU AI Act uyum denetimi sırasında retansiyon gereksinimleri değişirse
  • Self-hosted'a geçiş ihtiyacı doğarsa (maliyet optimizasyonu, veri egemenliği)

Son Güncelleme: 2026-04-17 — Kabul edildi. SIM-177 kapsamında.

Simetri tarafından inşa ediliyor.