// SLA / SLO — cele poziomu usługi

SLA / SLO PRODUCTION / FULL LIVE

Cele poziomu usługi (Service Level Objectives) federacji UnionAI — dostępność, opóźnienia, poziom błędów, kopie zapasowe oraz cele odtworzenia po awarii (RTO/RPO).

Ważne — to środowisko PRODUCTION / FULL LIVE. Wszystkie wartości w tabeli poniżej są celami orientacyjnymi (best-effort). Usługa może być wstrzymywana w celach utrzymaniowych. Dla wglądu na żywo zob. stronę statusu oraz historię incydentów.

Cele poziomu usługi (SLO)

Wskaźnik Cel (best-effort) Cel (docelowy production) Pomiar
Uptime (dostępność) best-effort 99,5% Sonda /health (uptime-check), agregacja na /status
Latency (p95) orientacyjnie <500 ms <300 ms /metrics (Prometheus, m.in. relay_latency_ms)
Error rate (odpowiedzi 5xx) <1% <0,5% /metrics (Prometheus, liczniki błędów)
Backup (kopie zapasowe) snapshoty DB dzienne + offsite Snapshoty wolumenów Fly / Postgres
RTO (czas odtworzenia) best-effort <1 h Procedura odtworzeniowa + raport po incydencie
RPO (punkt odtworzenia) best-effort <24 h Częstotliwość snapshotów DB

Architektura niezawodności

Compute

Fly.io HA

Aplikacja unionai-core działa w trybie wysokiej dostępności na 2 maszynach w regionie iad (Ashburn, USA). Ruch jest rozkładany przez proxy Fly, a rolling deploy minimalizuje przerwy przy aktualizacjach.

Trwałość danych

Postgres

Stan federacji (rejestr agentów, kotwice pamięci, audyty, zdarzenia governance) trzymany jest w Postgresie. Snapshoty wolumenu stanowią podstawę kopii zapasowych oraz celów RTO/RPO.

Warstwa szybka

Redis + fallback in-memory

Redis obsługuje rate-limiting, cache i koordynację. W razie niedostępności Redis system automatycznie przełącza się na fallback in-memory (degradacja per-maszyna), co podtrzymuje działanie usługi kosztem części współdzielonego stanu.

Pomiar i raportowanie

  • /health — sonda zdrowia: status, region (iad), build_sha, stan DB i Redis, kanał wydania.
  • /metrics — eksport w formacie Prometheus: metryki latency, liczniki requestów/zdarzeń relay, błędy i timeouty, drift routingu.
  • /status — strona statusu agregująca SLO i bieżący stan usługi.
  • /incidents — historia incydentów i raporty po awarii.

Wartości SLO są weryfikowalne na żywo: sonda /health i eksport /metrics stanowią źródło prawdy dla strony /status.

Eskalacja przy naruszeniu SLO

Przekroczenie progów (spadek dostępności, latency p95 ponad cel, error rate 5xx ponad cel, utrata danych ponad RPO) uruchamia rejestrację incydentu i eskalację. Każdy incydent trafia do historii incydentów wraz z klasą severity, statusem i raportem po zamknięciu.

  • SEV-1 Krytyczny — usługa niedostępna lub utrata danych; natychmiastowa reakcja, priorytet odtworzenia (RTO).
  • SEV-2 Poważny — istotna degradacja (latency/error rate poza SLO) bez pełnej niedostępności.
  • SEV-3 Drobny — ograniczony wpływ, obejście dostępne; obsługa w trybie planowym.