Humain
Une astreinte soutenable
Pour : ingénieurs et SRE · managers d’équipePrérequis : Notions de base sur l'alerting et les SLO.
Une astreinte n’est pas soutenable parce que l’équipe est courageuse. Elle l’est parce que quatre choses sont tenues en même temps : une rotation assez large, peu d’alertes et toutes actionnables, une compensation reconnue et une mesure régulière de la charge réelle. Quand l’une manque, les autres finissent par céder.
Cet article rassemble les repères publiés, une méthode de mesure et les règles que je recommande. Il complète la leçon 5 du parcours DSI, qui pose le sujet du point de vue de la direction.
Les repères publiés
Section intitulée « Les repères publiés »Le livre Site Reliability Engineering de Google consacre un chapitre à l’astreinte (Being On-Call). Il donne des ordres de grandeur souvent repris :
| Repère | Valeur proposée par le livre |
|---|---|
| Temps d’astreinte d’un ingénieur | au plus 25 % de son temps |
| Temps consacré à l’ingénierie (hors opérations) | au moins 50 % |
| Incidents par période d’astreinte de 12 heures | au plus deux |
| Taille d’une rotation sur un seul site | au moins huit personnes |
| Taille d’une rotation sur deux sites | au moins six personnes par site |
Ces chiffres décrivent le fonctionnement d’une organisation précise. Je recommande de les traiter comme des points de comparaison et non comme des normes : l’important est de fixer vos propres seuils, de les écrire et de les mesurer.
Dimensionner la rotation
Section intitulée « Dimensionner la rotation »Une rotation trop petite produit mécaniquement de la fatigue, quelle que soit la qualité des alertes. Trois questions suffisent pour vérifier la vôtre.
- Combien de semaines d’astreinte par personne et par trimestre ? Avec quatre personnes en rotation hebdomadaire, chacune est d’astreinte une semaine sur quatre, soit environ trois semaines par trimestre (exemple illustratif). Avec huit, c’est une semaine sur huit.
- Qui est en second ? Un second niveau désigné, qui sait qu’il peut être appelé, évite que l’astreinte principale reste seule face à un incident qui dure. Le chapitre cité plus haut décrit ce principe d’une astreinte primaire et secondaire.
- Que se passe-t-il pendant les congés et les arrêts ? Si la rotation ne tient que lorsque tout le monde est présent, elle est sous-dimensionnée.
Pour une équipe répartie sur plusieurs fuseaux horaires, une rotation qui suit le soleil (follow the sun) supprime les appels de nuit. Elle suppose une passation écrite à chaque changement de fuseau.
La passation. Je recommande une passation courte et systématique en fin de période : incidents en cours, alertes bruyantes repérées, changements prévus, points de vigilance. Cinq lignes dans un canal partagé suffisent. Elle sert aussi de matière première à la revue mensuelle.
Mesurer la charge d’alerte
Section intitulée « Mesurer la charge d’alerte »On ne réduit pas ce qu’on ne mesure pas. Les indicateurs ci-dessous se calculent à partir de l’historique de votre outil d’alerte et d’une question posée à la personne d’astreinte en fin de semaine.
| Indicateur | Comment le calculer | Ce qu’il révèle |
|---|---|---|
| Appels par période d’astreinte | alertes ayant déclenché une notification humaine, par période de 12 heures | la charge brute, à comparer au repère de deux incidents |
| Appels hors heures ouvrées | même décompte, limité à la nuit et au week-end | l’atteinte au sommeil, le facteur d’épuisement le plus direct |
| Part d’alertes actionnables | alertes ayant donné lieu à une action humaine, rapportées au total | le bruit ; une alerte sans action est un candidat à la suppression |
| Alertes récurrentes | nombre d’alertes déclenchées plus de trois fois sur le mois avec la même cause | ce qu’un correctif durable supprimerait |
| Temps d’interruption | heures passées à traiter des alertes et des demandes pendant l’astreinte | ce qui n’a pas été consacré à l’ingénierie |
| Charge ressentie | note de 1 à 5 donnée par la personne en fin de période | la dérive avant qu’elle se voie dans les chiffres |
Le simulateur de fatigue d’alerte estime cette charge à partir de quelques paramètres et dit si une semaine type reste soutenable.
Une revue mensuelle de trente minutes. Je recommande de passer en revue chaque mois les dix alertes les plus fréquentes avec trois décisions possibles par alerte : supprimer, corriger la cause, transformer en ticket non urgent. Une alerte qui revient trois mois de suite sans décision est un problème de gouvernance, pas de technique.
N’appeler un humain que pour un symptôme
Section intitulée « N’appeler un humain que pour un symptôme »La source principale du bruit est, à mon avis, l’alerte sur une cause plutôt que sur un symptôme. Un CPU à 90 %, un disque à 80 % ou un pod redémarré ne disent pas si les utilisateurs souffrent. Le chapitre Monitoring Distributed Systems du même livre recommande d’alerter sur les symptômes visibles des utilisateurs et de réserver les causes aux tableaux de bord et au diagnostic. Il pose aussi que chaque appel doit être actionnable et justifier une réaction urgente.
Les SLO donnent un critère précis pour décider. Le chapitre Alerting on SLOs du Site Reliability Workbook décrit des alertes sur le taux de consommation du budget d’erreur (burn rate) évaluées sur plusieurs fenêtres. Le principe est le suivant :
- une consommation rapide et soutenue du budget, qui l’épuiserait en quelques jours, appelle un humain ;
- une consommation lente, qui l’épuiserait avant la fin de la période sans urgence, crée un ticket traité en heures ouvrées ;
- tout le reste alimente les tableaux de bord, sans notification.
Le workbook propose des seuils précis pour ces fenêtres. Le simulateur de budget d’erreur montre comment ce schéma réduit les appels sans retarder la détection d’un vrai incident.
flowchart LR
S["Signal"] --> Q1{"Symptôme visible<br/>des utilisateurs ?"}
Q1 -->|"non"| D["Tableau de bord,<br/>diagnostic"]
Q1 -->|"oui"| Q2{"Budget d'erreur<br/>consommé vite ?"}
Q2 -->|"oui"| P["Appel de l'astreinte"]
Q2 -->|"lentement"| T["Ticket en<br/>heures ouvrées"]
Q2 -->|"non"| D
Chaque alerte a un propriétaire et une procédure. Je recommande de refuser en revue toute nouvelle alerte d’appel qui n’a ni lien vers une procédure (même courte) ni équipe propriétaire. C’est la règle la plus simple pour empêcher le bruit de revenir.
Compenser et protéger
Section intitulée « Compenser et protéger »La compensation. En France, l’article L3121-9 du Code du travail définit l’astreinte et prévoit qu’elle fait l’objet d’une contrepartie, financière ou en repos ; la durée d’une intervention pendant l’astreinte est un temps de travail effectif. Les articles suivants du même code renvoient les modalités à un accord collectif ou, à défaut, à l’employeur après consultation des représentants du personnel. Le texte est consultable sur Légifrance. Je recommande d’associer les RH dès la conception de la rotation, pas après les premières plaintes.
La récupération. Après une nuit d’intervention, je recommande un temps de récupération accordé sans justification, écrit dans la règle d’astreinte plutôt que laissé à l’appréciation de chaque manager.
La déconnexion. Une personne qui n’est pas d’astreinte n’est pas appelée. Les exceptions sont nommées, écrites et compensées.
Le droit de rendre une alerte. La personne d’astreinte doit pouvoir désactiver temporairement une alerte manifestement bruyante, à condition de la signaler dans la passation. Sans ce droit, le bruit s’installe parce que personne ne se sent autorisé à le couper.
Liste de contrôle
Section intitulée « Liste de contrôle »- La rotation compte assez de personnes pour tenir pendant les congés
- Un second niveau est désigné et le sait
- Les seuils de charge acceptables sont écrits (appels par période, appels de nuit)
- La charge d’alerte est mesurée chaque mois avec les indicateurs ci-dessus
- Chaque alerte d’appel porte sur un symptôme, a un propriétaire et une procédure
- Les alertes d’appel sont dérivées des SLO quand un SLO existe
- La compensation est définie avec les RH, conformément au droit applicable
- La récupération après une intervention de nuit est écrite dans la règle
- La passation de fin de période est systématique
- La personne d’astreinte peut désactiver une alerte bruyante en le signalant
Pour aller plus loin
Section intitulée « Pour aller plus loin »- Quand l’astreinte se termine sur un incident, l’apprentissage passe par le post-mortem sans blâme.
- La leçon 5 du parcours DSI traite l’astreinte avec la culture, les archétypes et la rétention.
- Pour les services d’IA, l’astreinte qualité est décrite dans la méthode GenAI, partie VII.
- Beyer, Jones, Petoff et Murphy (dir.), Site Reliability Engineering, O’Reilly, 2016 : chapitre 11, Being On-Call et chapitre 6, Monitoring Distributed Systems.
- Beyer, Murphy, Rensin, Kawahara et Thorne (dir.), The Site Reliability Workbook, O’Reilly, 2018 : chapitre 5, Alerting on SLOs et chapitre 8, On-Call.
- Code du travail, article L3121-9, sur Légifrance.