Kultura i zasady inżynierii SRE
1) Czym jest kultura SRE
Kultura SRE to zbiór wartości i praktyk, które sprawiają, że niezawodność jest możliwa do zarządzania: cele SLO → błąd-budżet → świadome ryzyko zmian → szybka stabilizacja → szkolenie na incydenty.
Paradygmat klucza: szybkośći wroga niezawodności. Prędkość uwalniania jest możliwa, gdy ryzyko jest mierzone i zautomatyzowane.
- User-centric: oznaczać niezawodność, jak użytkownik widzi (SLI/SLO).
- Automatyzacja - każda powtarzalna akcja → skrypt/polityka/kontroler.
- Bez winy: błędy są systemowe, badamy przyczyny, nie ludzi.
- Oparte na danych: rozwiązania oparte na metrykach i budżetach błędów.
- Prostota: proste, sprawdzalne mechanizmy> „magiczne” rozwiązania.
2) Filozofia inżynierii SRE
1. SLO/SLI i budżet błędów są podstawą priorytetów i ostrzegania.
2. Incydent → stabilizacja → RCA - objawy najpierw, a następnie przyczyny.
3. Redukcja pracy ręcznej (toil) to cel ≤ 50% czasu SRE, niższy w czasie.
4. Gotowość do produkcji - „gotowość do produkcji” jest wymagana przed ruchem zewnętrznym.
5. Prostota i izolacja - mniej związków, więcej ograniczeń promienia wybuchu.
6. Domyślna obserwowalność - metryki/kłody/ślady, widżety SLO, syntetyka.
7. Zmiany są zarządzane - progresywna dostawa, kalkulacje kanarkowe, auto-rollback.
8. Bezpieczeństwo według projektu - tajemnice, dostęp, audyt, minimalne uprawnienia.
9. Cykle badań - wiertła, gry chaosu, pośmiertne, retrospektywy.
10. FinOps-awareness - „cena dziewięciu”, opłacalne, skuteczne SLO.
3) Rytuały i procesy
3. 1 Przegląd gotowości produkcji (PRR)
Przed włączeniem ruchu usługa musi posiadać:- SLI/SLO, deska rozdzielcza i wpisy (szybkie/powolne oparzenie).
- Punkty końcowe zdrowia '/healthz ', '/readyz', '/startupz '.
- Runbook/playbook incydentów, właściciel/dyżur, łańcuch eskalacji.
- Kopie zapasowe/plan DR, limity zasobów, obliczenia budżetu.
- Testy tolerancji błędów (flagi funkcji, skrypty wsteczne).
3. 2 Tygodniowe briefing SLO
Status błędu w budżecie usługi.
Cotygodniowe incydenty, postępy CAPA.
Ryzyko uwolnienia: jeśli dozwolone/ograniczone według depozytu (budżet).
3. 3 Postmortem bez opłat
Fakty i harmonogram, wpływ użytkowników, co pomogło/utrudniło.
Przyczyny systemowe (procesy/narzędzia), a nie „winowajca”.
Konkretne umowy CAPA z właścicielami i terminy, reklama w firmie.
3. 4 Gry Chaos i Dreal
Planowane wstrzyknięcie awarii (sieć, baza danych, pamięć podręczna, węzły) + docelowe SLO.
„Dzień gry”: czas stabilizacji, pomiar MTTR, regulacja odtwarzania.
4) Ostrzeganie i hałas
Zasady:- Alert tylko na objawy: złamany SLO lub ścieżka użytkownika.
- Multi-window, multi-burn: szybkie i wolne kanały.
- Kworum/anty-klapowanie: 'dla' opóźnień, tłumienia podczas konserwacji.
- W dół z „CPU> 80%” - takie sygnały do desek rozdzielczych, a nie do pagera.
- Odsetek działających ≥ 80%.
- Mediana czasu do acku ≤ 5 minut (P1).
- Zmniejszenie zmęczenia pagerem: ≤ 1 strona nocna tygodniowo na inżyniera.
5) Zarządzanie zmianami
Progresywna dostawa: kanarka → 10% → 25% → 50% → 100%.
Auto-rollback na sygnałach SLO (błędy/opóźnienia).
Funkcja-flagi i kill-switch zamiast globalnego rollback.
Zmiana polityki według ryzyka: szybki pas ruchu o niskim ryzyku; CAB - tylko o wysokim ryzyku.
yaml steps:
- setWeight: 10
- analysis: { template: "slo-check" } # fail ⇒ rollback
- setWeight: 25
- analysis: { template: "slo-check" }
6) Redukcja siły roboczej (rutynowa praca ręczna)
Przykłady źródeł trudności: ręcznie wdraża, ponownie uruchamia, „dać dostęp” bilety, czyszczenie kolejki.
Podejście:- Powtarzalny spis zadań → automatyzacja/samoobsługa.
- KPI:% czasu na wysiłku, „zautomatyzowane kroki/incydent”, „minuty do samoobsługi”.
- Katalog usług platformy (obszary nazw, DB, kolejki, deski rozdzielcze, wpisy).
7) Obserwowalność i SLO-pierwszy projekt
Złote sygnały (opóźnienie, ruch, błędy, nasycenie).
Karty SLO w każdej drużynie: bramka, okno, budżet, nagrywanie wpisów.
Wiercenie: od metryk do kłód/śladów; 'trace _ id' w domyślnych dziennikach.
Syntetyka: blackbox + skryptów bez głowy (login/deposit/checkout).
8) Zarządzanie zdolnościami i zrównoważony rozwój
Planowanie zdolności: cel RPS/konkurencyjność, stan według AZ/region.
Przegroda/przelewanie: baseny izolacyjne, pierwsze funkcje wtórne są nieudane.
Backpressure i kolejki: kontrola opóźnień, DLQ, konkurencyjność adaptacyjna.
Awaria i DR: RPO/RTO, regularne wiertarki DR.
9) Bezpieczeństwo w ramach niezawodności
Sekrety: tajny menedżer, dostęp do JIT, audyt.
WAF/DDoS-guard na obwodzie, limit klienta/najemcy.
Minimalizacja PII, DSAR/Prawna blokada w incydentach.
Bezpieczeństwo łańcucha dostaw: podpis artefaktów, podstawowa polityka wizerunkowa.
10) Zdrowie na dyżurze
Obroty bez „singli”, czyste okna odpoczynku.
Próg przebudzenia w nocy to tylko P1/P2 SLO.
Psychohigiena: Niedobór snu jest rejestrowany jako ryzyko operacyjne.
Metryka: strony/tydzień, strony nocne/inżynier, czas odzyskiwania.
11) Wskaźniki zapadalności SRE
Zasięg SLO: odsetek ścieżek krytycznych ze SLO/wpisami ≥ 90%.
Zarządzanie błędami w budżecie: istnieją zasady zamrożenia i ich stosowanie.
Toil: ≤ 30-40% czasu, tendencja spadkowa.
MTTD/MTTR: median w kwartalnej dynamice.
Wskaźnik automatycznego łagodzenia:% incydentów z automatycznym działaniem.
PRR pass-rate: odsetek zwolnień, które przeszły gotowość produkcji.
Postmortem SLA: SEV-1 - postmortem ≤ 48 godzin.
12) Dokumentacja i wiedza
Minimalny zestaw:- Runbooks/playbooks (top scripts: 5xx spike, DB lag, Kafka lag, NodeNotReady, TLS).
- Karty SLO i deski rozdzielcze.
- Listy kontrolne PRR i szablony wydania.
- Katalog serwisowy platformy i OLAs/SLA.
- Materiały szkoleniowe: SRE 101, Chaos 101, Dyżur 101.
13) Anty-wzory
Hero-kultura: „ratownicy” zamiast naprawy systemu.
Noisy alerting: procesor/napędy w pagerze, setki niepotrzebnych sygnałów.
„DevOps to człowiek”: rozwalona odpowiedzialność, brak właścicieli.
Brak SLO: „zachować wszystko zielone” → priorytetowy chaos.
Opóźnione pośmiertne i „polowania na czarownice”.
Globalne rolki bez kanarów.
Sekrety w konfiguracji/repo; brak audytu działalności.
Obserwowalność jako „piękne wykresy” bez działających sygnałów.
14) Wzory artefaktów
14. 1 Karta SRE (fragment)
yaml mission: "Make reliability manageable and economical"
tenets:
- "User - SLI/SLO Center"
- "Automation-first, minimizing toil"
- "Blameless & learning"
governance:
error_budget:
freeze_threshold: 0. 8 # 80% of the budget burned ⇒ release frieze review_cadence: "weekly"
oncall:
paging_policy: "SLO-only, P1/P2 at night"
health_metrics: ["pages_per_week", "night_pages_per_engineer"]
14. 2 Lista kontrolna Mini-PRR
- Alerty SLI/SLO i oparzenia są konfigurowane
- Punkty końcowe dla zdrowia i syntetyka
- Runbook/playbook + właściciel/dyżur
- Flagi rollback/feature/canary
- tablice rozdzielcze opóźnień/błędów/ruchu/nasycenia
- Limity/kwoty/ochrona barier
- Przetestowane plany i kopie zapasowe DR
15) Realizacja według etapów (4 sprinty)
Sprint 1 - Fundacja
Zdefiniuj krytyczne ścieżki użytkownika i SLIs.
Sformułuj SLO i uruchom wpisy.
Wprowadź PRR i minimalne playbooks.
Sprint 2 - zarządzanie zmianami
Obliczenia kanaryjskie, auto-rollback SLO.
Operacje samoobsługowe, katalog serwisowy.
Plan inwentaryzacji i automatyzacji.
Sprint 3 - Cykle treningowe
Rytuał pośmiertny, kalendarz gier chaosu.
Deski rozdzielcze SLO + incydenty, raport błąd-budżet.
Sprint 4 - Optymalizacja i skala
Portfel SLO, FinOps „koszt na 9”.
Wdrożenie dyscypliny DR, audyt bezpieczeństwa.
Dyżurny KPI, zapobieganie wypaleniom.
16) Mini-FAQ
SRE = „naprawić wszystko”?
Nie, nie jest. SRE zarządza systemem niezawodności: SLO, alert, procesy, automatyzacja i szkolenia.
Jak przekonać firmę do inwestowania w niezawodność?
Pokaż ROI: niższy MTTR, wyższa konwersja, mniej kredytów SLA, poniżej kosztów do obsługi, stabilne wydania.
Czy potrzebuję oddzielnych poleceń SRE?
Model hybrydowy: strategiczny SRE w platformie + wbudowany-SRE w produkty krytyczne.
Razem
Kultura SRE nie jest pozycją, ale sposobem pracy z ryzykiem: SLO → budżet błędu → zmiana zarządzana → automatyzacja → szkolenia. Fix zasady, rozpocząć rytuały (PRR, pośmiertne, gry chaosu), strzelać toil, budować obserwowalność „domyślnie” i dbać o to-call. Dzięki temu uzyskasz szybkość zrównoważonego rozwoju, przewidywalne wydania i niezawodną, ekonomiczną platformę.