Appearance
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
- 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.
- 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.
- Compliance-ready. Model davranışı metrikleri (Direction Accuracy, hallucination rate, eval drift) + custom alerting ile MEASURE 4.1 ve Art. 61 kapatılır.
- 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.
- Railway ile doğal entegrasyon. OTLP HTTPS exporter Railway outbound'dan sorunsuz çalışır. Railway log drain → Loki opsiyonel ek yol.
- 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.