Architekt systemówArchitekt systemów

Jak zorganizować SLA (Umowa o poziomie serwisu) na poziomie architektury systemów IT i jakie metryki warto uwzględnić?

Zdaj rozmowy kwalifikacyjne z asystentem AI Hintsage

Odpowiedź.

SLA (Umowa o poziomie serwisu) to formalna umowa między klientem a zespołem IT, określająca parametry jakości usługi.

Na poziomie architektury przestrzeganie SLA zapewnia się za pomocą narzędzi technicznych, procesów, monitoringu i automatyzacji. Dla prawidłowej realizacji ważne jest posiadanie jasnego wyobrażenia o krytykach systemu, jego odporności na awarie i skalowalności.

Przykład kodu (monitoring SLA za pomocą Prometheus i Alertmanager):

# Przykład konfiguracji alertu na opóźnienie odpowiedzi API - alert: WysokieOpóźnienieOdpowiedzi expr: histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket[5m])) by (le, service)) > 1 for: 5m labels: severity: critical annotations: summary: Czas odpowiedzi przekracza SLA (99% > 1 sek)

Kluczowe cechy:

  • Należy wydzielić krytyczne ścieżki biznesowe w kodzie i na nie nałożyć wskaźniki SLA
  • Architektura powinna przewidywać system zbierania i przechowywania metryk, mechanizm alertów i rezerwacji
  • Wdrożono narzędzia automatyzacji monitoringu oraz centralny dziennik (logowanie)

Pytania z pułapką.

Czym są metryki eksploatacyjne i po co są potrzebne?

Metryki eksploatacyjne to wskaźniki charakteryzujące rzeczywiste parametry działania systemu, takie jak dostępność, opóźnienie, liczba błędów. Są potrzebne do pomiaru, w jakim stopniu system spełnia SLA, a także do szybkiego reagowania na odchylenia.

Przykład kodu:

# Przykład eksportu metryk za pomocą clienta Prometheus from prometheus_client import start_http_server, Summary REQUEST_TIME = Summary('request_processing_seconds', 'Czas przetwarzania zapytania')

SLA, SLO i SLI: jaka jest różnica?

  • SLA — umowa jakości między klientem a usługą.
  • SLO — konkretne cele lub progi (SLA może obejmować wiele SLO).
  • SLI — rzeczywiste pomiar parametru (na przykład % udanych zapytań w ciągu godziny).

Czy tylko wysoka dostępność zapewnia spełnienie SLA?

Nie, SLA obejmuje nie tylko dostępność, ale także wydajność (latencja), stabilność (wskaźnik błędów), poprawność działania. Wysoka dostępność sama w sobie nie gwarantuje spełnienia pozostałych wymagań SLA.