Aller au contenu
Culture DevOps medium
🚧 Section en cours de réécriture — Le contenu est en cours de restructuration et peut évoluer.

Site Reliability Engineer (SRE)

5 min de lecture

Le Site Reliability Engineer (SRE) garantit la fiabilité et la disponibilité des systèmes en production. Discipline créée par Google en 2003, le SRE applique les méthodes de l’ingénierie logicielle aux problèmes d’exploitation.

La définition de Google est limpide :

“SRE is what happens when you ask a software engineer to design an operations function.”

Le SRE n’est pas un administrateur système amélioré. C’est un ingénieur logiciel qui consacre son temps à rendre les systèmes plus fiables, scalables et efficaces. La différence fondamentale : là où l’ops traditionnel réagit aux incidents, le SRE les prévient en automatisant et en concevant des systèmes résilients.

Les Service Level Objectives (SLO) sont au cœur du travail du SRE :

ConceptDescriptionExemple
SLIService Level Indicator — métrique mesurableTaux de requêtes réussies
SLOService Level Objective — cible à atteindre99.9% de requêtes réussies
SLAService Level Agreement — engagement contractuelRemboursement si < 99.5%
Error BudgetMarge d’erreur acceptable0.1% = 43 min de downtime/mois

Le SRE définit ces métriques avec les équipes produit et s’assure qu’elles sont respectées.

L’Error Budget est un concept révolutionnaire : au lieu de viser “zéro incident”, on accepte une marge d’erreur calculée.

Si le SLO est 99.9%, l’Error Budget est 0.1%. Tant qu’il reste du budget :

  • Les équipes peuvent prendre des risques (nouvelles features, expérimentations)
  • Les déploiements continuent normalement

Si le budget est épuisé :

  • Priorité absolue à la stabilité
  • Gel des features, focus sur la fiabilité

Le toil est le travail opérationnel manuel et répétitif :

  • Intervention manuelle sur des alertes
  • Tâches qui pourraient être automatisées
  • Travail sans valeur durable

L’objectif du SRE : automatiser pour réduire le toil à moins de 50% du temps. Le reste est consacré à l’amélioration des systèmes.

Quand un incident survient, le SRE :

  1. Détecte rapidement grâce à l’observabilité mise en place
  2. Mitigue pour restaurer le service au plus vite
  3. Résout la cause racine
  4. Documente via un post-mortem sans blâme

Le post-mortem est essentiel : comprendre ce qui s’est passé pour éviter que ça se reproduise, sans chercher de coupable.

Le SRE met en place les trois piliers de l’observabilité :

PilierUsageOutils courants
MétriquesQuantifier le comportementPrometheus, Datadog
LogsComprendre ce qui s’est passéLoki, ELK, Splunk
TracesSuivre les requêtes distribuéesJaeger, Tempo, Zipkin

L’on-call (astreinte) fait partie du quotidien SRE :

  • Rotation équitable entre les membres de l’équipe
  • Alertes configurées pour minimiser les faux positifs
  • Runbooks documentés pour chaque type d’incident
  • Compensation et repos après les astreintes

Les incidents de production impactent les utilisateurs. Le SRE doit :

  • Rester calme quand tout brûle
  • Analyser méthodiquement sans céder à la panique
  • Prendre des décisions rapides avec des informations incomplètes

Un système distribué est complexe. Le SRE doit :

  • Comprendre les interactions entre composants
  • Anticiper les effets de cascade
  • Voir le système comme un tout, pas comme des pièces isolées

Pendant un incident :

  • Informer les parties prenantes régulièrement
  • Documenter les actions prises
  • Rédiger des post-mortems lisibles par tous

Le SRE n’est pas le “gardien de la production” qui dit non :

  • Travailler ensemble sur la fiabilité dès la conception
  • Partager la connaissance des systèmes
  • Aider les devs à comprendre l’impact de leurs choix

Le SRE écrit du code quotidiennement :

LangageUsage
PythonAutomatisation, scripts, outils internes
GoOutils système performants
BashScripts rapides, glue
DomaineTechnologies
ConteneursDocker, containerd, OCI
OrchestrationKubernetes en profondeur
CloudAWS/Azure/GCP, IaC (Terraform)
NetworkingTCP/IP, DNS, load balancing
CatégorieOutils
MétriquesPrometheus, Grafana, Datadog
LogsLoki, ELK Stack, Splunk
TracesJaeger, Tempo, Zipkin
AlertingAlertmanager, PagerDuty, Opsgenie
  • Chaos Engineering : tester la résilience (Chaos Monkey, Litmus)
  • Capacity Planning : prévoir les besoins futurs
  • Performance Engineering : optimisation, profiling
  1. Maîtriser les fondamentaux

    Linux, networking, scripting. Ces bases sont non négociables.

  2. Apprendre à programmer vraiment

    Python ou Go. Pas juste des scripts, mais des outils maintenables.

  3. Pratiquer Kubernetes

    Déployer, débugger, comprendre les composants internes.

  4. Mettre en place l’observabilité

    Prometheus, Grafana, alerting sur un projet personnel ou professionnel.

  5. Lire le livre Google SRE

    “Site Reliability Engineering” est la bible du domaine. Disponible gratuitement en ligne.

  6. Chercher un rôle SRE junior ou DevOps

    L’expérience terrain est irremplaçable.

LivreAuteurFocus
Site Reliability EngineeringGooglePrincipes fondateurs
The Site Reliability WorkbookGoogleMise en pratique
Seeking SREDavid Blank-EdelmanPerspectives variées
CertificationFocus
CKACertified Kubernetes Administrator
CKSCertified Kubernetes Security Specialist
AWS/Azure/GCPCertifications cloud
OrientationRôle suivant
Senior ICStaff SRE, Principal SRE
PlateformePlatform Engineer, Staff Platform
ManagementEngineering Manager, Director SRE
ArchitectureArchitecte DevOps, Cloud Architect

Pas de SRE dédié. Les développeurs gèrent eux-mêmes la production. L’important :

  • Mettre en place une observabilité basique dès le début
  • Automatiser les déploiements
  • Définir des SLO simples

Premier SRE ou équipe SRE. Focus :

  • Structurer les astreintes
  • Formaliser les SLO/Error Budgets
  • Créer les premiers runbooks

Équipes SRE par domaine métier. Pratiques avancées :

  • Embedded SRE : SRE intégré dans les équipes produit
  • SRE as a Service : équipe centrale qui accompagne
  • Chaos Engineering, game days
  • Le SRE applique l’ingénierie logicielle aux problèmes d’exploitation
  • Les SLO et Error Budgets sont les outils clés de pilotage
  • L’objectif est d’automatiser pour éliminer le toil (travail répétitif)
  • Les post-mortems sans blâme permettent d’apprendre des incidents
  • L’observabilité (métriques, logs, traces) est le fondement du travail
  • Le SRE code : Python, Go, Bash font partie du quotidien
  • C’est un rôle qui demande calme sous pression et pensée systémique