Concepts

Principes SRE

Site Reliability Engineering — les principes de Google pour opérer des systèmes fiables à grande échelle

srefiabilitéslisloerror-budgettoil

SRE en bref

Le Site Reliability Engineering (SRE) est l'approche de Google pour les opérations. La devise :

"SRE is what happens when you ask a software engineer to design an operations function." — Ben Treynor Sloss


SLI, SLO, SLA

SLI (Service Level Indicator)

Métrique quantitative de la qualité du service.

TypeExempleMesure
Disponibilité% de requêtes réussies(requetes 2xx) / (total requetes)
LatenceTemps de réponse p99p99 < 200ms
ThroughputRequêtes par seconde> 1000 req/s
Error rate% d'erreurs< 0.1% erreurs 5xx

SLO (Service Level Objective)

Cible interne pour un SLI. Exemple : 99.9% de disponibilité sur 30 jours glissants.

$# Calcul du budget d'erreur pour 99.9% SLO sur 30 jours
Budget = 30 jours × 24h × 60min × (1 - 0.999) = 43.2 minutes de downtime autorisé

SLA (Service Level Agreement)

Contrat avec les clients. Toujours moins ambitieux que le SLO (marge de sécurité).

SLA ≤ SLO ≤ réalité mesurée
Exemple : SLA 99.5% < SLO 99.9% < mesure réelle 99.95%

Error Budget

L'error budget est la différence entre 100% et votre SLO. C'est la quantité de fiabilité que vous pouvez "dépenser" pour aller plus vite.

SLOError Budget (30 jours)
99%7h 12min
99.5%3h 36min
99.9%43min 12s
99.95%21min 36s
99.99%4min 19s

Politique d'error budget :

  • Budget restant > 50% → déploiements normaux, expérimentation autorisée
  • Budget restant 10-50% → déploiements prudents, revues supplémentaires
  • Budget épuisé → gel des déploiements, focus fiabilité

Toil — le travail à éliminer

Le toil est le travail opérationnel manuel, répétitif, automatisable et sans valeur durable.

Caractéristiques du toil

  • Manuel : un humain doit intervenir
  • Répétitif : même tâche encore et encore
  • Automatisable : un script pourrait le faire
  • Réactif : déclenché par un événement, pas proactif
  • Sans valeur durable : pas d'amélioration permanente du service

Règle des 50%

Un SRE ne devrait pas passer plus de 50% de son temps sur le toil. Le reste est consacré à l'ingénierie : automatisation, amélioration des outils, projets de fiabilité.


Incident Management

Sévérités

NiveauImpactResponse
SEV-1Service complètement downPage immédiate, war room
SEV-2Dégradation significativePage, investigation prioritaire
SEV-3Impact mineurNotification, traitement heures ouvrables
SEV-4Cosmetic, non urgentTicket, backlog

Roles en incident

  • Incident Commander (IC) : coordonne la réponse
  • Communication Lead : informe les stakeholders
  • Operations Lead : exécute les actions techniques
  • Subject Matter Experts : expertise spécifique au problème

Post-mortem blameless

  1. Timeline : chronologie des événements
  2. Impact : métriques affectées, durée, utilisateurs touchés
  3. Root cause : analyse des causes profondes (5 Whys)
  4. Action items : correctifs concrets avec owners et deadlines
  5. Lessons learned : ce qu'on a appris

On-call

Bonnes pratiques

  • Rotations de 1-2 semaines maximum
  • Pas plus de 2 incidents par shift de 12h (objectif)
  • Playbooks documentés pour les alertes communes
  • Handoff structuré entre shifts
  • Compensation adéquate (temps libre, prime)

Pyramide d'alerting

        ▲ PAGE (réveille quelqu'un)
       / \    → symptômes utilisateur, SLO en danger
      /   \
     / TICKET \  → dégradation non urgente
    /         \
   / DASHBOARD \ → métriques de surveillance
  /             \
 /    LOGS       \ → debug, investigation
/                 \