Métier
Ingénieur fiabilité (SRE)
Garantir que les services de production tiennent leurs objectifs de fiabilité, de disponibilité et de performance, en mesurant ce que vivent les utilisateurs, en automatisant le travail répétitif et en tirant de chaque incident une amélioration durable.
Viser ce métierCe que fait ce métier
- 7 responsabilités
- 14 missions
- 44 compétences
- 217 heures de travail une estimation, en partant de zéro
Le métier
Ce que fait un Ingénieur fiabilité (SRE)
Sept responsabilités. Chacune s’exerce à travers des missions concrètes, qui demandent des compétences.
Résoudre les problèmes récurrents à leur cause
Missions qui la composent
-
Remettre en état un serveur cassé
Livrableun serveur réparé dont les services sont rétablis et le restent après redémarrage
Gérer les incidents
Missions qui la composent
-
Mener un postmortem et suivre ses actions
Livrableun postmortem sans blâme, ses causes et ses actions suivies jusqu'à leur clôture
-
Tenir une astreinte et documenter l'exploitation
Livrableune rotation d'astreinte et son escalade définies, chaque alerte reliée à son runbook, un incident traité jusqu'au rétablissement
-
Remettre en service une application sur un cluster
Livrableune application qui répond de nouveau, ses défauts trouvés sans ticket ni procédure
Assurer la continuité et la résilience
Missions qui la composent
-
Assurer la continuité et la capacité d'un service
Livrableun plan de reprise éprouvé par un exercice, des objectifs de reprise (RTO, RPO) tenus et une capacité anticipée
-
Garantir la disponibilité d'un service sur Kubernetes
Livrableun service qui survit aux perturbations volontaires et à la perte d'un nœud, sans interruption mesurée
Réduire le travail répétitif par l'automatisation
Missions qui la composent
-
Automatiser une tâche répétitive d'exploitation
Livrableun outil testé qui remplace une manipulation manuelle sur un parc, lit et produit des données structurées
- Lire et transformer des données (JSON, YAML, API)
- Maintenir un parc : mises à jour, dérive, dette
- Écrire un outil en ligne de commande testé
- Automatiser l'administration d'un parc depuis Python : SSH, déploiement et scan réseau
- Lire, installer et modifier un petit outil Python
- Lancer des tests pytest, lire un échec et corriger un défaut simple
-
Livrer un outil interne aux autres équipes
Livrableun outil interne testé, relu, versionné et installable par les autres équipes sans aide
Observer et mesurer le service rendu
Missions qui la composent
-
Rendre un service observable
Livrableun service dont les métriques et les journaux sont collectés, interrogeables et visualisés, avec des alertes actionnables sur ses symptômes
- Interroger les métriques d'un service pour répondre à une question d'exploitation
- Centraliser les journaux d'un service et les interroger
- Collecter les métriques d'un service et en contrôler la qualité
- Construire un tableau de bord qui répond à une question d'exploitation
- Définir une alerte actionnable et la router sans bruit
-
Définir un SLO et alerter sur son budget d'erreur
Livrableun objectif de fiabilité mesuré sur un indicateur du service rendu, une alerte sur la consommation de son budget d'erreur
Demandé aussi, hors mission
Changer et déployer sans mettre le service en risque
Missions qui la composent
-
Décrire une infrastructure en code, partageable et rejouable
Livrableune infrastructure découpée en modules versionnés, son state partagé et verrouillé, rejouée à l'identique
- Prévoir ce qu'un outil IaC va créer, modifier ou détruire : déclaratif, idempotence, état et plan
- Tenir un dépôt IaC sain : structure par couche, revue du plan, pyramide de contrôles et secrets hors du code
- Structurer une infrastructure en code à l'échelle : stacks, modules versionnés, environnements et dette
- Partager un state Terraform distant, verrouillé et récupérable
- Consommer et versionner des modules Terraform de façon reproductible
- Concevoir, structurer et tester un module Terraform réutilisable
-
Déployer en GitOps
Livrablenotes-api déployée et promue entre deux environnements depuis Git
-
Livrer un changement progressivement, sans interrompre le service
Livrableune nouvelle version déployée par étapes, sa disponibilité tenue et son retour arrière prêt
Garantir la fiabilité et la performance des services
Missions qui la composent
-
Dimensionner un service et anticiper sa charge
Livrableun service dont les ressources, la mise à l'échelle et la capacité future sont mesurées et justifiées
Les moyens
Avec quels outils ?
Choisissez vos outils : le choix change les leçons à lire, jamais les responsabilités.
Outil GitOps
Langage d’automatisation
Pour aller plus loin
Les spécialisations
Facultatives, mesurées à part du métier.
Administrer la plateforme d'exécution
Diagnostiquer un service adossé à une base relationnelle
Développer des outils Python maintenables
- Manipuler listes, tuples, ensembles et découpes en Python
- Concevoir des classes Python : encapsulation, héritage, abc et mixins
- Exécuter des traitements concurrents et choisir le bon modèle
- Durcir une suite de tests Python : Hypothesis, fixtures pytest, couverture et mutation
- Modéliser et typer des données en Python avec dataclasses, Enum et annotations
- Écrire du Python idiomatique : décorateurs, générateurs, context managers et itertools
- Profiler et optimiser un programme Python, jusqu'à l'extension native
Travailler avec un agent IA de code, sous contrôle
- Cadrer une tâche confiée à Claude Code et valider son résultat par plan, diff et tests
- Confiner l'exécution de Claude Code : permissions, secrets et bac à sable
- Automatiser et outiller Claude Code avec des hooks, des skills et des plugins
- Brancher un serveur MCP à Claude Code et déléguer à des subagents isolés
- Reprendre le contrôle d'une session Claude Code qui dérive et dépanner sa configuration
- Livrer un projet complet piloté par Claude Code, tranche verticale par tranche verticale
- Exécuter Claude Code sans session interactive, en CI, avec le modèle et le coût adaptés
Ce que le site ne couvre pas encore
Corrélation des signaux et traçage distribué : enseignés en concepts (module facultatif de la formation Observabilité), sans pratique publiée (labs de traçage distribué Tempo et de corrélation en brouillon), sans compétence active. Instrumenter un service (traces émises et vérifiées) et tracer les appels d'une application LLM jusqu'à Tempo sont pratiqués et recommandés ; corréler les signaux et suivre une trace distribuée entre services restent en concepts.
Tests non fonctionnels (SFIA NFTS) : portés par le dimensionnement et la mise à l'échelle. L'injection de panne contrôlée est en préparation (brouillon ops.fault.inject) ; la mission « Éprouver la fiabilité d'un service par une panne provoquée » rejoindra le métier quand elle sera enseignée. Le test de charge n'est pas encore enseigné.
Résolution des problèmes (SFIA PBMG niveau 4) : la responsabilité n'est aujourd'hui portée que par la réparation d'un incident ; le geste de niveau 4 (tendance d'incidents, cause racine, correctif durable) est en préparation (brouillon ops.problem.resolve).
Analyse de données (SFIA DAAN) : limitée à la lecture des mesures de service, niveau 2.