Monter en compétence, interruptions et surcharge opérationnelle
Former les SRE jusqu'à l'astreinte, maîtriser les interruptions, et sortir une équipe de la surcharge opérationnelle.
Aucun SRE n'est une île. La quatrième partie du livre, consacrée au management, part d'une conviction simple : pour faire tourner des systèmes de production à l'échelle de Google, il faut passer à l'échelle les humains plus vite que les machines. Cela commence par la formation. Ce chapitre couvre trois moments-clés de la vie d'une équipe SRE : amener un nouvel arrivant jusqu'à l'astreinte (on-call) par un parcours structuré plutôt qu'en le « jetant dans le grand bain », protéger le travail de fond contre la marée des interruptions, et — quand les conditions se sont dégradées trop longtemps — embarquer un SRE pour sortir une équipe noyée de la surcharge opérationnelle (operational overload). Trois facettes d'un même enjeu : préserver le temps d'ingénierie qui distingue le SRE de l'exploitation traditionnelle.
Amener un SRE à l'astreinte : la structure plutôt que le chaos
Vous avez recruté votre prochain SRE. Et maintenant ? Investir tôt dans son éducation et son orientation technique le façonnera en meilleur ingénieur, et l'amènera plus vite à un état de maîtrise, avec un éventail de compétences plus solide et mieux équilibré. Car les équipes SRE qui fonctionnent reposent sur la confiance (trust) : pour maintenir un service de manière cohérente et globale, vous devez avoir confiance dans le fait que vos collègues d'astreinte savent comment le système marche — et comment il ne marche pas —, savent diagnostiquer des comportements atypiques, sont à l'aise pour demander de l'aide, et savent réagir sous pression pour sauver la mise.
La question « que doit apprendre un débutant pour aller à l'astreinte ? » est donc nécessaire mais insuffisante. Il faut aussi se demander comment les SRE déjà en poste évalueront la maturité du nouveau, et comment capter l'enthousiasme et la curiosité des recrues pour que les anciens en profitent aussi. Surtout, il n'existe aucune formule magique : les gens ont des styles d'apprentissage variés, et se cantonner à un seul style serait myope.
Le contre-modèle est l'épreuve du feu (trial by fire). John, nouvelle recrue, se voit attribuer dès son premier jour tous les tickets entrants ; « on te jette dans le grand bain », lui dit-on, « un jour ça finira par faire tic et tu sauras tout ». Cette méthode naît des équipes réactives, pilotées par l'exploitation, qui « forment » leurs débutants en les faisant… réagir, encore et encore. Avec de la chance, les ingénieurs déjà bons en navigation dans l'ambiguïté s'extrairont du trou où on les a mis. Mais le plus probable est que cette stratégie aura aliéné plusieurs ingénieurs capables. Elle présume aussi qu'un poste s'apprend par le faire plutôt que par le raisonner — or si la file de tickets suffit à former, ce n'est pas un poste de SRE.
Le tableau ci-dessous oppose les pratiques d'éducation recommandées à leurs anti-patterns, tels que les connaît le SRE chez Google.
| Pratique recommandée | Anti-pattern |
|---|---|
| Concevoir des expériences d'apprentissage concrètes et séquentielles | Noyer l'étudiant sous le travail subalterne (tri d'alertes/tickets) ; « épreuve du feu » |
| Encourager la rétro-ingénierie, la pensée statistique, le raisonnement à partir des principes fondamentaux | Former strictement par procédures, check-lists et playbooks |
| Célébrer l'analyse de l'échec en proposant des post-mortems à lire | Enterrer les pannes comme des secrets, pour éviter le blâme |
| Créer des pannes réalistes mais cadrées à réparer avec le vrai outillage | Ne laisser réparer quoi que ce soit qu'une fois déjà à l'astreinte |
| Jouer en groupe des catastrophes théoriques (role-playing) | Créer des experts au savoir cloisonné |
| Faire observer l'astreinte (shadowing) tôt, en comparant ses notes avec l'on-caller | Pousser l'étudiant comme astreinte primaire avant une compréhension d'ensemble |
| Confier à l'étudiant la révision de sections ciblées du plan de formation à l'astreinte | Traiter le plan de formation comme figé et intouchable |
| Découper un vrai projet non trivial donnant une part de responsabilité dans la pile | Réserver tout projet neuf aux SRE les plus seniors, laisser les miettes aux juniors |
À retenir
Le mot d'ordre du chapitre tient en une phrase : « en SRE, vous devez passer à l'échelle vos humains plus vite que vos machines » (scale your humans faster than your machines). La formation n'est pas un coût mais un levier d'échelle : elle instille en quelques semaines des bonnes pratiques qui mettraient sinon des mois ou des années à s'accumuler.
Des parcours cumulatifs et ordonnés
Tout type de formation vaut mieux que des tickets aléatoires, mais l'effort conscient consiste à doser théorie et application : les concepts abstraits qui reviendront sans cesse sont chargés en début de parcours (frontloading), tandis que la pratique vient aussi tôt que possible. Apprendre une pile a besoin d'un point de départ. Pour une pile de service temps réel orientée utilisateur, on peut ordonner le curriculum selon le chemin normal d'exécution.
PARCOURS D'APPRENTISSAGE (ordre d'exécution d'une requête)
1. Comment une requête entre dans le système
réseau, datacenter, équilibrage de charge frontal, proxies
2. Service frontal
frontends applicatifs, journalisation des requêtes, SLO d'expérience utilisateur
3. Services de niveau intermédiaire
caches, équilibrage de charge backend
4. Infrastructure
backends, infrastructure, ressources de calcul
5. Tout relier ensemble
techniques de débogage, procédures d'escalade, scénarios d'urgence L'équipe SRE de Google Search structure cet apprentissage par un document appelé check-list d'astreinte (on-call learning checklist). Pour chaque composant — par exemple le serveur de mélange des résultats, le « Mixer » —, la fiche n'encode pas de procédures ni de diagnostics : elle reste relativement à l'épreuve du temps en énumérant les contacts experts (SRE et développeurs), les documents les plus utiles à lire, les connaissances de base à internaliser, et des questions de compréhension qui ne trouvent réponse qu'une fois ces bases absorbées (« comment corriger un mauvais déploiement du jeu de géolocalisation ? »). Elle fixe enfin des résultats concrets, pour que l'étudiant sache ce qu'il aura gagné.
Cette check-list sert de contrat social : la maîtriser fait entrer dans les rangs de l'astreinte. À mentors et managers, elle offre une visibilité sur la progression (« sur quelles sections travailles-tu ? quelles sont les plus déroutantes ? »). On peut y associer un modèle d'accès par paliers : le premier palier donne un accès en lecture seule aux entrailles des composants, un palier ultérieur autorise à muter l'état de production. L'équipe Search nomme ces niveaux atteints des « powerups », clin d'œil aux jeux vidéo d'antan, sur la route de l'astreinte.
Un vrai projet, pas du travail subalterne
Les SRE sont des résolveurs de problèmes : donnez-leur un vrai problème à résoudre. Même un sentiment minimal de propriété (ownership) sur le service fait des merveilles pour l'apprentissage et bâtit la confiance avec les seniors, qui viendront interroger le junior sur le nouveau composant. Partager son temps entre apprentissage et projet donne un sentiment de but et de productivité qu'aucune des deux activités seule ne procure. Trois patrons de projet de démarrage fonctionnent bien :
- Un petit changement visible par l'utilisateur dans une pile de service, accompagné de bout en bout jusqu'en production — pour comprendre la chaîne de développement et le processus de release, et nourrir l'empathie envers les développeurs.
- Ajouter du monitoring là où il y a des angles morts — l'étudiant doit raisonner sur la logique de supervision tout en réconciliant sa compréhension du système avec son (mauvais) comportement réel.
- Automater un point de douleur pas tout à fait assez douloureux pour l'avoir déjà été — pour faire apprécier la valeur que les SRE accordent à l'élimination du toil.
Rétro-ingénieurs, penseurs statistiques, improvisateurs
À l'échelle et à la complexité où opèrent les SRE, ils ne peuvent pas se contenter d'être des administrateurs système traditionnels, focalisés sur l'exploitation. Au-delà d'un état d'esprit d'ingénierie à grande échelle, on cherche à cultiver trois traits.
| Trait visé | Pourquoi | Comment l'entraîner |
|---|---|---|
| Rétro-ingénierie | On tombera toujours sur des systèmes jamais vus (ou des versions méconnaissables de systèmes connus) | Enseigner les surfaces de diagnostic et de débogage, les frontières des appels distants (RPC), les journaux ; faire tirer des inférences jusqu'au réflexe |
| Pensée statistique et comparative | À l'échelle, les anomalies sont dures à détecter ; il faut penser statistiquement, pas procéduralement | Entraîner à élaguer l'arbre de décision par hypothèses ; jouer au « lequel de ces éléments diffère des autres ? » (version du noyau, architecture CPU, mix de trafic régional…) |
| Improvisation | Quand les procédures standard s'effondrent et que le développeur est introuvable, il faut improviser | Apprendre plusieurs outils par problème (défense en profondeur) ; savoir « dézoomer » plutôt que s'entêter dans des hypothèses non testées |
Une classe phare illustre tout cela : « Rétro-ingénierie d'un service de production (sans l'aide de ses propriétaires) ». Le scénario : toute l'équipe de Google News est partie en croisière dans le triangle des Bermudes et reste introuvable depuis trente jours ; les étudiants sont la nouvelle équipe SRE et doivent comprendre la pile de bout en bout pour la reprendre en main. Guidés, ils tracent le chemin de leur requête à travers l'infrastructure, exploitant les binaires hautement instrumentés qui rapportent eux-mêmes leur connectivité RPC, ainsi que le monitoring en boîte blanche et en boîte noire. En cours de route, on bâtit un diagramme du système, on découvre qu'une hypothèse initiale était trop étroite, et l'on cherche d'autres points d'entrée. De retour dans leur équipe, les étudiants diagrammment seul une pile dont ils seront responsables, et la présentent à un senior — qui apprend souvent lui-même quelque chose, tant les systèmes dérivent vite.
Astuce
Bienvenez toute occasion de réapprendre un système, y compris auprès des membres les plus récents de l'équipe plutôt que des plus anciens. La rapidité du changement en production rend cette « refamiliarisation » précieuse : le débutant, par ses questions naïves, expose les dérives de compréhension des vétérans.
Cinq pratiques pour les aspirants à l'astreinte
L'astreinte n'est pas la finalité ultime d'un SRE, mais « capable de tenir l'astreinte » est un bon proxy de « en sait assez et saura trouver le reste ». Cinq pratiques y mènent.
- Une faim d'échec : lire et partager les post-mortems. « Ceux qui ne peuvent se souvenir du passé sont condamnés à le répéter » (Santayana). Le public le plus reconnaissant d'un post-mortem peut être un ingénieur pas encore embauché. Collectez et soignez vos meilleurs post-mortems « pédagogiques », ceux qui révèlent des défaillances structurelles ou inédites. Certaines équipes tiennent des clubs de lecture de post-mortems ou des « tales of fail » où l'auteur présente lui-même la panne.
- Le jeu de rôle catastrophe (disaster role playing), aussi appelé « roue de l'infortune » (Wheel of Misfortune) ou « walk the plank ». Chaque semaine, un maître du jeu (game master) choisit deux SRE comme astreintes primaire et secondaire ; une alerte fictive tombe, et pendant trente à soixante minutes ils tentent de trouver la cause racine pendant que le maître du jeu décrit l'état des graphes, joue les autres équipes en cas d'escalade, et écarte les fausses pistes. « C'est comme un Zork du SRE », résume un ancien SRE : un labyrinthe de consoles de monitoring toutes semblables. Au mieux, tout le monde apprend quelque chose.
- Casser pour de vrai, réparer pour de vrai. L'expérience pratique dépasse tout. Idéalement, l'équipe dispose d'une instance multi-sites qu'on peut détourner du trafic réel, ou d'un environnement de pré-production sous charge synthétique approchant le trafic réel. L'exercice de Search se nomme « brûlons un cluster de recherche jusqu'au sol ! » : on discute des caractéristiques de performance qui changeront, on sonde les participants sur leurs prédictions, puis on dégrade lentement la pile et l'on valide les raisonnements. Trimestriel, il débusque des bugs car les systèmes ne se dégradent pas toujours aussi gracieusement qu'espéré.
- La documentation comme apprentissage. La check-list d'astreinte doit être internalisée avant de pouvoir « shadower ». Comme la doc se périme vite et que ce sont les débutants — non les seniors, qui gardent l'état du monde en tête — qui en ont le plus besoin, on confie au nouvel arrivant la refonte d'une ou deux sections les plus obsolètes, relue par les experts listés. On capte ainsi l'enthousiasme du débutant et le savoir du senior pour garder tout le monde à jour.
- Observer l'astreinte tôt et souvent. Une fois les fondamentaux acquis, configurez l'alerting pour copier les pages au débutant, d'abord en heures ouvrées. Sans aucune pression temporelle puisqu'il n'est pas l'on-caller désigné, l'étudiant a une place au premier rang pendant que la panne se déroule ; primaire et débutant partagent parfois une même session de terminal. Certaines équipes ajoutent un « reverse shadow » : le débutant devient primaire tandis que le senior, tapi dans l'ombre, diagnostique en parallèle sans toucher à l'état, prêt à valider ou souffler un indice.
Note
Si une panne survient pendant le shadowing et mérite un post-mortem, l'on-caller doit inclure le débutant comme co-auteur — jamais lui refiler seul la rédaction. Le contraire ferait croire, à tort, que les post-mortems sont un travail subalterne réservé aux plus juniors.
Aller à l'astreinte est un rite de passage à célébrer en équipe, parfois validé par un examen final ou par l'achèvement de la check-list. Mais l'apprentissage ne s'arrête jamais : pendant qu'on regarde ailleurs, des pans de la pile sont réarchitecturés. D'où l'utilité d'une série d'apprentissage régulière où les SRE présentent les changements à venir, co-animée au besoin avec les développeurs, et enregistrée pour bâtir une bibliothèque de formation.
Gérer les interruptions : protéger le « flow »
La charge opérationnelle (operational load), appliquée aux systèmes complexes, est le travail nécessaire pour maintenir le système en état de marche — comme entretenir une voiture. Tout système complexe est aussi imparfait que ses créateurs, eux-mêmes des machines imparfaites. Cette charge se range en trois grandes catégories.
| Catégorie | Nature | SLO de réponse |
|---|---|---|
| Pages (alertes) | Alertes de production et leurs retombées, déclenchées par une urgence ; parfois monotones, parfois exigeantes en réflexion tactique | Souvent en minutes |
| Tickets | Demandes de clients exigeant une action (revue d'une config, aide sur un plan de capacité ou de design) | En heures, jours ou semaines |
| Responsabilités opérationnelles continues | Déploiements de code ou de flags, questions ad hoc urgentes — du toil, qui interrompt sans avoir d'SLO défini | Souvent aucun |
Google gère chaque type différemment. Les pages reviennent à un on-caller primaire unique — un seul ingénieur, pour minimiser l'interruption infligée à l'équipe et éviter l'effet spectateur (bystander effect), où chacun suppose qu'un autre s'en occupe. Un secondaire sert de filet de sécurité ; ses devoirs varient, de la simple reprise des pages tombées dans le vide à une aide active en cas de fort volume. Les tickets peuvent revenir au primaire, au secondaire, ou à un préposé dédié hors astreinte.
Machines imparfaites et état de flux
Les humains sont des machines imparfaites : ils s'ennuient, ont des processeurs mal compris et ne sont pas très efficaces. Reconnaître l'élément humain comme « fonctionnant comme prévu » conduit au concept central : l'état de flux cognitif (cognitive flow state), « la zone ». Y être augmente productivité et créativité, et pousse à réellement maîtriser et améliorer la tâche. Le flux exige des objectifs clairs, un retour immédiat, un sentiment de contrôle et la distorsion du temps associée.
Or une interruption suffisamment perturbante vous éjecte de cet état. Le livre distingue deux flux possibles en SRE. Le premier, « créatif et engagé », est le travail de fond profond : on perd la notion du temps et l'on ignore les interruptions. Le second, surnommé « Angry Birds », survient quand on se concentre à plein temps sur les interruptions : fermer des bugs et stopper les pages devient un jeu d'objectifs clairs et de feedback immédiat. Le problème naît de l'entre-deux : la plupart des on-callers stressés essaient de coder tout en étant d'astreinte, vivant dans un état d'interruptibilité permanente, extrêmement éprouvant.
Attention
Une interruption de vingt minutes implique deux changements de contexte (context switches) ; réalistement, elle coûte quelques heures de travail vraiment productif. Voir un ingénieur comme une « unité de travail interruptible » dont les commutations sont gratuites est l'erreur de fond. Assignez un coût aux changements de contexte.
ÉTAT DE FLUX vs INTERRUPTIBILITÉ
Travail de fond pur ──────────────────► flux « créatif » ✓ (zone)
Interruptions à plein temps ──────────► flux « Angry Birds » ✓
Projet + astreinte mélangés ──────────► interruptibilité permanente ✗
(le pire des mondes)
Levier : POLARISER le temps — chaque jour, soit projet, soit interruptions. Faire une seule chose, bien
La parade tient en un mot : polariser le temps (polarizing time). En arrivant le matin, chacun doit savoir s'il fait uniquement du projet ou uniquement des interruptions, sur des périodes aussi longues que possible — idéalement une semaine, sinon une journée ou une demi-journée. On rejoint la notion de make time : minimiser les commutations en concentrant les styles de travail. Quelques règles concrètes en découlent :
- Astreinte. Le primaire se concentre uniquement sur l'astreinte ; si le pager est calme, il peut prendre du travail d'interruption rapidement abandonnable. La semaine d'astreinte est à rayer côté projet : un projet trop important pour glisser d'une semaine signifie que cette personne ne doit pas être d'astreinte — escaladez pour réassigner le créneau.
- Tickets. Si vous distribuez les tickets au hasard à des victimes, arrêtez immédiatement : c'est un manque de respect du temps de l'équipe. Le ticket doit être un rôle à temps plein, sur une durée gérable ; en cas de surcharge, mettez deux personnes sur les tickets, sans étaler la charge sur toute l'équipe.
- Responsabilités continues. Définissez des rôles que n'importe qui peut endosser — un gestionnaire de déploiements (push manager) pour la durée de l'astreinte — avec une passation formalisée, plutôt que de faire porter une tâche à une seule personne pour toute sa vie.
- Être sur les interruptions, ou pas. Travailler des tickets sans y être affecté « pour avoir l'air occupé » fausse les chiffres : on croit la file gérable alors qu'elle ne l'est pas.
Réduire les interruptions
Beaucoup de rotations fonctionnent comme une course de gantelet (gauntlet) qu'on traverse en soupirant de soulagement, sans jamais enquêter sur les causes racines. Il faut une passation pour les tickets comme pour l'astreinte, et un examen régulier (scrub) des classes d'interruptions : si une cause racine est corrigeable en un temps raisonnable, faites taire l'alerte jusqu'à la correction — cela soulage l'on-caller et crée une échéance pour celui qui corrige.
Enfin, respectez-vous autant que vos clients. Votre équipe fixe le niveau de service rendu, et il est légitime de renvoyer une part de l'effort vers le client : préparer un changement de code ou de config et demander au client de l'exécuter puis de le soumettre à votre revue. La politique est un outil aussi puissant que le code. Si un composant fragile, sans ressources de développement, génère des interruptions qu'on ne peut faire corriger, peut-être n'est-il pas si important : envisagez de rendre le pager, de le déprécier ou de le remplacer.
Embarquer un SRE pour sortir de la surcharge opérationnelle
La politique standard chez Google est de répartir le temps des équipes SRE à parts égales entre projets et exploitation réactive. Cet équilibre peut être rompu des mois durant par une hausse du volume de tickets — situation dangereuse : l'équipe peut s'épuiser, ne plus progresser sur ses projets, et voir la fiabilité comme la scalabilité en pâtir. Un remède : transférer temporairement un SRE dans l'équipe surchargée. Embarqué (embedded), il ne vide pas la file de tickets ; il observe la routine quotidienne, améliore les pratiques de l'équipe et lui offre un regard neuf qu'elle ne peut se donner elle-même.
Piège courant
N'embarquez qu'un seul ingénieur. Deux SRE ne produisent pas forcément de meilleurs résultats et peuvent même provoquer des problèmes si l'équipe réagit sur la défensive. La cible n'est pas l'effort héroïque, mais la restauration de bonnes conditions initiales.
Phase 1 — apprendre le service et obtenir le contexte
Le rôle de l'embarqué est d'articuler pourquoi telle habitude contribue, ou nuit, à la scalabilité du service. Le rappel fondamental : plus de tickets ne doit pas exiger plus de SRE ; le modèle SRE n'ajoute des humains qu'à mesure que la complexité du système croît, jamais sa simple charge. C'est l'opposé du mode ops (ops mode), où l'on répond à la croissance en ajoutant des administrateurs — un passage à l'échelle linéaire que le SRE refuse en écrivant du logiciel.
Une fois le service appris, on priorise les pannes selon le stress qu'elles infligent — sachant que de tout petits problèmes peuvent, par historique de l'équipe, générer un stress disproportionné. Puis on identifie le petit bois (kindling), ces urgences en germe :
| Source de risque (kindling) | Signe à repérer |
|---|---|
| Lacunes de connaissance | Sur-spécialisation : un expert isolé sans la vision large nécessaire à l'astreinte |
| Services bâtis par les SRE, montant discrètement en importance | Pas la même attention que les lancements de fonctionnalités, car plus petits et tacitement endossés |
| Dépendance forte au « prochain grand truc » | Des problèmes ignorés des mois durant car la solution future est censée tout régler |
| Alertes courantes jamais diagnostiquées | Triées comme « transitoires », elles distraient sans qu'on enquête ni ne corrige la règle |
| Service objet de plaintes sans SLI/SLO/SLA formel | Aucun seuil quantitatif pour arbitrer |
| Plan de capacité du type « ajouter des serveurs » | Pas assez prospectif (un loadtest qui passe à 1,99 Go pour un besoin modélisé à 2 Go n'est pas sain) |
| Post-mortems aux actions purement correctives | « Remettre le timeout à 60 s » au lieu de « comprendre pourquoi il faut parfois 60 s » |
| Composant critique « c'est les devs qui le possèdent » | Les SRE devraient au moins connaître les conséquences d'une panne et son urgence |
Phase 2 — partager le contexte
L'embarqué ne corrige pas le passé en commentant de vieux post-mortems, ce qui mettrait l'équipe sur la défensive. Il prend en charge le prochain post-mortem : une panne surviendra forcément, et il rédige avec l'on-caller un excellent post-mortem sans blâme (blameless), démontrant par l'exemple que le modèle SRE rend les corrections plus permanentes. Face au réflexe « pourquoi moi ? », il faut nommer et réfuter la théorie de la pomme pourrie (Bad Apple Theory) — l'idée fausse que retirer les fautifs suffirait à garder un système sain, démentie jusque dans la sûreté aérienne.
Astuce
La formulation la plus efficace pour un post-mortem : « Les erreurs sont inévitables dans tout système aux interactions subtiles multiples. Tu étais d'astreinte, et je te fais confiance pour avoir pris les bonnes décisions avec les informations dont tu disposais. Écris ce que tu pensais à chaque instant, pour qu'on trouve où le système t'a induit en erreur et où les exigences cognitives étaient trop fortes. »
Reste à trier les incendies par type : ceux qui ne devraient pas exister causent du toil et doivent être automatisés ; les autres font partie du métier mais réclament des outils pour maîtriser la combustion. On présente cette liste à l'équipe en expliquant clairement, pour chaque feu, pourquoi il relève de l'automatisation ou d'un surcoût acceptable.
Phase 3 — conduire le changement
La santé d'une équipe est un processus, pas un effort héroïque. Les humains étant doués pour l'homéostasie, on se concentre sur la création (ou la restauration) des bonnes conditions initiales et l'enseignement du petit jeu de principes nécessaires à des choix sains.
Le premier objectif est d'écrire un SLO s'il n'en existe pas. Le SLO est le levier unique le plus important pour faire passer une équipe de l'ops réactif à un SRE sain et durable : il fournit une mesure quantitative de l'impact des pannes et de l'importance d'un changement de processus. Sans cet accord, aucun autre conseil ne sera utile. Ensuite, on résiste à la tentation de tout corriger soi-même — ce qui ancrerait l'idée que « changer, c'est pour les autres ». À la place : trouver un travail utile faisable par un membre, lui expliquer comment il règle durablement un point du post-mortem, se faire relecteur du changement, et répéter pour deux ou trois problèmes.
Surtout, expliquez toujours votre raisonnement, même sans qu'on le demande, en vous référant aux principes de base : l'équipe ne lit pas dans vos pensées et, faute d'explication, elle imitera un raisonnement bâclé. Le contraste est net entre une bonne et une mauvaise justification :
EXPLICATIONS SUFFISANTES (ancrées dans les principes)
• « Je ne bloque pas la release parce que les tests sont mauvais,
mais parce que le budget d'erreur (error budget) des releases est épuisé. »
• « Les releases doivent être sûres au rollback car notre SLO est serré :
le tenir exige un MTTR court, donc pas de diagnostic approfondi avant rollback. »
EXPLICATIONS INSUFFISANTES (la conclusion est juste, le raisonnement absent)
• « Je ne pense pas que ce soit sûr, parce qu'on ne le voit pas. »
→ mieux : « ... car un bug dans ce code peut causer une panne corrélée
sur tout le service, et ce code en plus ralentirait un rollback. » Enfin, posez des questions inductrices (leading questions), qui ne sont pas des questions piégées : « Je vois que l'alerte TaskFailures se déclenche souvent mais que les on-callers n'y répondent presque jamais — quel est l'impact sur le SLO ? ». Ce modèle de raisonnement, qu'une équipe en mode ops rejette par définition de la part des siens, renforce la philosophie SRE.
La tâche finale de l'embarqué est un rapport d'après-mission (after-action report), organisé comme un « postvitam » par opposition au postmortem : il réitère perspective, exemples et explications, et liste des actions pour que l'équipe exerce ce qu'elle a appris. Une fois la mission close, l'embarqué reste disponible pour les revues de design et de code, et garde un œil quelques mois sur l'amélioration de la planification de capacité, de la réponse aux urgences et des déploiements.
À retenir
- Formez vos SRE par un parcours structuré, cumulatif et ordonné — check-list d'astreinte, projet réel, accès par paliers — plutôt que par l'épreuve du feu : en SRE, on passe à l'échelle les humains plus vite que les machines.
- Visez trois traits : rétro-ingénierie, pensée statistique et improvisation ; entraînez-les par la lecture de post-mortems, la roue de l'infortune (Wheel of Misfortune), le « brûlons un cluster » sous charge synthétique, et l'observation de l'astreinte (shadowing) tôt et souvent.
- La charge opérationnelle se range en pages, tickets et responsabilités continues ; le toil interrompt sans SLO. Une page revient à un on-caller primaire unique, pour éviter l'effet spectateur.
- Protégez l'état de flux cognitif : le pire des mondes est de mélanger projet et astreinte. La parade est de polariser le temps — chaque jour, soit du projet, soit des interruptions — car un changement de contexte a un coût réel.
- Réduisez les interruptions par une passation des tickets, un examen régulier des alertes (faire taire jusqu'à correction de la cause racine), et le respect de soi : la politique est aussi puissante que le code, et l'on peut rendre le pager d'un composant non essentiel.
- Pour sortir de la surcharge, embarquez un seul SRE qui améliore les pratiques au lieu de vider la file : phase 1 apprendre le service et repérer le kindling ; phase 2 partager le contexte par un post-mortem sans blâme et le tri toil / pas-toil ; phase 3 conduire le changement.
- Le SLO est le levier unique le plus important pour passer de l'ops réactif au SRE durable ; ne corrigez pas tout vous-même, expliquez toujours votre raisonnement, posez des questions inductrices, et clôturez par un postvitam.