Operacije: Stabilnost i Konteksti

Principi održavanja kontinuiteta servisa

Operativne prakse, upravljanje incidentima, analiza stabilnosti i najbolje metode Site Reliability Engineering (SRE) pristupa.

Operativne Prakse

Temeljni principi Site Reliability Engineering

🎯

SLI / SLO / SLA

SLI (Service Level Indicator): Metrički pokazatelj kvalitete servisa
SLO (Service Level Objective): Ciljna vrijednost SLI-ja
SLA (Service Level Agreement): Ugovorni sporazum o razini servisa

⏱️

Error Budget

Dopuštena količina grešaka unutar SLO perioda. Balans između inovacije i stabilnosti. Ako je budget iscrpljen, fokus na pouzdanost.

🔄

Capacity Planning

Prognoziranje potreba za resursima. Analiza trendova rasta, planiranje infrastrukture, prevencija iscrpljenja kapaciteta.

📋

Change Management

Kontrolirani proces uvođenja promjena. Review, testing, postupni rollout, mogućnost brzog povratka (rollback).

🚨

Incident Response

Strukturiran pristup rješavanju incidenata. On-call rotacije, eskalacijski postupci, komunikacijski protokoli, post-mortem analiza.

🔍

Observability

Sposobnost razumijevanja stanja sustava kroz vanjske outpute. Logs, metrics, traces - tri stupa observability-a.

Incidentni Konteksti

Klasifikacija i upravljanje incidentima

🔴 P0 - Kritični

Opis: Potpuni pad servisa, gubitak podataka, sigurnosna prijetnja
Response Time: Odmah (< 5 min)
Eskalacija: Svi relevantni timovi
Primjer: Database corruption, complete outage, data breach

🟡 P1 - Visoki

Opis: Značajan utjecaj na korisnike, degradirane performanse
Response Time: < 15 min
Eskalacija: Primarni tim + manager
Primjer: API latency spike, partial service degradation

🔵 P2 - Srednji

Opis: Ograničen utjecaj, alternativna rješenja dostupna
Response Time: < 1 sat
Eskalacija: Primarni tim
Primjer: Non-critical feature malfunction, minor UI issues

🟢 P3 - Niski

Opis: Minimalni ili bez utjecaja na korisnike
Response Time: Sljedeći radni dan
Eskalacija: Ne zahtijeva
Primjer: Cosmetic bugs, documentation errors, feature requests

Analiza Stabilnosti

Metrike pouzdanosti i dostupnosti

📊 Uptime & Availability

Uptime: Postotak vremena kada je servis operativan
99.9% (3 nines): ~8.76 sati downtime godišnje
99.99% (4 nines): ~52.6 minuta downtime godišnje
99.999% (5 nines): ~5.26 minuta downtime godišnje

Formula: Uptime = (Total Time - Downtime) / Total Time × 100%

⏰ MTBF & MTTR

MTBF (Mean Time Between Failures): Prosječno vrijeme između kvarova
MTTR (Mean Time To Repair): Prosječno vrijeme potrebno za popravak
MTTF (Mean Time To Failure): Prosječno vrijeme do prvog kvara
MTTA (Mean Time To Acknowledge): Vrijeme do priznanja incidenta

Cilj: Maksimizirati MTBF, minimizirati MTTR

🎯 Service Quality

Latency: P50, P95, P99 percentile response times
Throughput: Requests per second (RPS)
Error Rate: Postotak neuspješnih zahtjeva
Saturation: Iskorištenost kapaciteta resursa

📈 Trend Analysis

Historical Data: Analiza povijesnih trendova
Seasonality: Prepoznavanje sezonskih uzoraka
Anomaly Detection: Identifikacija odstupanja
Forecasting: Predviđanje budućih potreba

Automation & Toil Reduction

Smanjenje ručnog rada i povećanje efikasnosti

🤖

Infrastructure as Code

Terraform, Ansible, CloudFormation. Deklarativna konfiguracija infrastrukture, version control, reproducibilnost.

🔄

CI/CD Pipelines

Automatizacija build, test, deploy procesa. Jenkins, GitLab CI, GitHub Actions. Blue-green deployments, canary releases.

📦

Configuration Management

Centralizirano upravljanje konfiguracijama. Consul, etcd, ConfigMaps. Dynamic configuration updates bez restarta.

🚀

Auto-scaling

Automatsko skaliranje resursa prema opterećenju. Horizontal Pod Autoscaler (HPA), AWS Auto Scaling Groups.

🛡️

Self-healing Systems

Kubernetes liveness/readiness probes. Automatski restart failed komponenti, health check driven recovery.

📊

Automated Remediation

Runbook automation. Automatsko izvršavanje korektivnih akcija za poznate probleme. Smanjenje MTTR-a.

Post-Mortem Analiza

Učenje iz incidenata i kontinuirano poboljšanje

📝 Post-Mortem Struktura

Blameless pristup analizi incidenata fokusiran na sistemske probleme, ne na individualne greške.

1. Sažetak Incidenta

Datum, trajanje, utjecaj na korisnike, severity level, involvirani servisi.

2. Timeline Događaja

Kronološki prikaz detekcije, dijagnoze, akcija i rješenja incidenta.

3. Root Cause Analysis

Dubinska analiza temeljnog uzroka. "5 Whys" tehnika, fishbone dijagrami.

4. Action Items

Konkretni koraci za prevenciju ponavljanja. Assigned owners, deadlines, prioriteti.