On-call et astreintes¶
Organiser des rotations saines, compenser equitablement, assurer un handoff efficace et préserver la sante de l'équipe.
Organisation des rotations¶
Une rotation on-call bien organisée est le fondement d'une exploitation saine. Sans structure claire, l'astreinte devient une source de stress permanent et de burn-out.
Taille minimale d'équipe¶
Une rotation saine nécessité au minimum 5 a 6 personnes. En dessous, chaque membre est d'astreinte trop fréquemment pour récupérer entre les cycles.
| Taille équipe | Fréquence astreinte | Risque |
|---|---|---|
| 2-3 personnes | 1 semaine sur 2-3 | Très élevé, épuisement rapide |
| 4 personnes | 1 semaine sur 4 | Élevé, peu de marge pour conges/maladie |
| 5-6 personnes | 1 semaine sur 5-6 | Acceptable, rotation saine |
| 7+ personnes | 1 semaine sur 7+ | Confortable, bonne récupération |
Primary / Secondary¶
Un modèle robuste définit deux niveaux d'astreinte :
- Primary : premier a être contacte, géré les incidents de premier niveau
- Secondary : escalade si le primary ne répond pas ou si l'incident dépassé son périmètre
- Le secondary peut aussi être en training (shadowing) pour les nouveaux membres
sequenceDiagram
participant Alert as Alerte
participant P as Primary on-call
participant S as Secondary on-call
participant M as Manager
Alert->>P: Page (alerte)
P->>P: Acknowledge (< 5 min)
alt Incident resolu
P->>Alert: Resolu
else Primary non disponible ou depasse
P->>S: Escalade
S->>S: Acknowledge
alt Incident resolu
S->>Alert: Resolu
else Impact majeur
S->>M: Escalade management
end
end Règles de compensation¶
L'astreinte est une contrainte réelle qui merite une compensation juste et transparente.
Formes de compensation¶
| Type | Description | Recommandation |
|---|---|---|
| Monetaire | Prime par semaine ou par intervention nocturne | Selon conventions, cadre legal local |
| Récupération | Heures récupérées après intervention nocturne | Minimum : heure pour heure |
| Temps libre | Jours offerts après semaine chargee | Encourager si volume important |
| Recognition | Valorisation dans les revues de performance | Toujours, en complement du monetaire |
On-call épuisé = risque opérationnel
Un membre d'équipe épuisé par des astreintes trop fréquentes ou trop chargees prend de mauvaises décisions en incident. La sante de l'équipe est une composante de fiabilité du système, pas un sujet RH annexe.
Handoff : transfert d'astreinte¶
Le handoff est le moment critique du changement de garde. Un mauvais transfert laisse le nouveau primary sans contexte sur des incidents en cours ou des systèmes fragilises.
Contenu d'un handoff complet¶
- Incidents en cours ou surveilles : statut, actions en attente, contacts clés
- Systèmes fragilises : dégradations connues, contournements actifs
- Changements récents : déploiements, migrations, modifications de config
- Alertes "bruyantes" connues : faux positifs recurrents a ne pas ignorer
- Points d'attention particuliers pour la periode a venir
Journal d'astreinte¶
Tenir un journal pendant la periode on-call facilite le handoff et fournit une trace pour l'analyse post-incident.
- Horodater chaque événement significatif
- Noter les actions effectuees et leurs résultats
- Mentionner les systèmes vérifiés même sans incident
- Lier aux tickets ou runbooks utilisés
Runbooks d'astreinte¶
Un runbook d'astreinte est un guide pas-a-pas pour les scenarios les plus courants. Il doit être actionnable a 3h du matin par quelqu'un qui vient d'être reveille.
Critères d'un bon runbook¶
- Court et direct : pas de prose, des étapes numerotees
- À jour : décrit le système tel qu'il est, pas tel qu'il etait il y a 6 mois
- Testable : l'équipe peut vérifier que les commandes fonctionnent
- Lienable : l'alerte pointe directement vers le runbook
Voir Documenter les opérations pour le format détaillé des runbooks.
Outils d'astreinte¶
| Outil | Type | Forces | Limites |
|---|---|---|---|
| PagerDuty | SaaS commercial | Mature, riche en integrations, analytics | Coût élevé à grande échelle |
| Opsgenie (Atlassian) | SaaS commercial | Bonne intégration Jira/Confluence | Moins d'analytics que PagerDuty |
| Grafana OnCall | Open source / SaaS | Intégré Grafana, auto-heberge possible | Plus jeune, moins de connecteurs |
| VictorOps (Splunk) | SaaS commercial | Fort pour les alertes Splunk | Écosystème ferme |
Sante d'équipe : métriques a suivre¶
| Métrique | Objectif | Seuil d'alerte |
|---|---|---|
| Pages par semaine par personne | < 5 pages actionables | > 10 : revoir les seuils d'alerte |
| Interventions nocturnes | < 2 par semaine | > 3 : charge insoutenable |
| Taux de faux positifs | < 20% des alertes | > 30% : bruit qui épuisé |
| Durée moyenne d'intervention | < 30 min | > 60 min : runbooks a améliorer |
Revue mensuelle des métriques on-call
Inclure ces métriques dans la revue mensuelle de l'équipe. Une dégradation progressive est difficile à percevoir au quotidien mais visible sur un graphique.