Fondamentaux de la collaboration en exploitation¶
Comprendre l'historique des silos, les principes DevOps et SRE, et la responsabilité partagee.
Le mur de la confusion¶
Pendant des decennies, les organisations ont séparé strictement les équipes de développement et d'opérations. Les devs livrent une application "par-dessus le mur", les ops la font tourner sans en connaître les entrailles. Résultat : chaque camp optimise ses propres objectifs au detriment de l'ensemble.
graph LR
subgraph Avant
D1["Dev\n(livrer vite)"] -->|"mur de la confusion"| O1["Ops\n(stabilite avant tout)"]
end
subgraph Apres
D2["Dev"] <-->|"collaboration continue"| O2["Ops"]
D2 <-->|"responsabilite partagee"| P2["Prod"]
O2 <-->|"feedback loop"| P2
end Problèmes engendres par les silos¶
- Les bugs de production remontent vers les devs sans contexte
- Les ops bloquent les déploiements pour limiter les risques
- Le blame circule entre équipes sans résolution systematique
- Le temps de mise en production s'allonge (mois, voire trimestres)
- La fiabilité se dégradé car personne n'a de vision globale
DevOps : principes CALMS¶
DevOps n'est pas un outil ni un titre de poste. C'est un ensemble de principes culturels et organisationnels.
Le modèle CALMS¶
| Lettre | Principe | Ce que cela signifie |
|---|---|---|
| C | Culture | Collaboration, confiance, partage des succès et des échecs |
| A | Automation | Automatiser les tâches repetitives : CI/CD, tests, provisioning |
| L | Lean | Éliminer le gaspillage, flux continu de valeur, feedback rapide |
| M | Measurement | Mesurer tout : déploiements, incidents, MTTR, satisfaction |
| S | Sharing | Partager les pratiques, les outils, les connaissances entre équipes |
Ce que DevOps n'est pas¶
- Un titre de poste "DevOps Engineer" qui reabsorbe les silos
- Un outil ou une suite logicielle
- Uniquement du CI/CD ou de l'infrastructure-as-code
- Une transformation qui se fait en quelques semaines
DevOps n'est pas un poste
SRE est un poste qui implémenté cette culture. Un "DevOps Engineer" sans changement culturel ne fait que renommer les ops. La transformation DevOps est organisationnelle avant d'être technique.
SRE : l'implémentation de DevOps par Google¶
Le SRE (Site Reliability Engineering) est une discipline créée par Google pour résoudre à grande échelle les problèmes que DevOps pose en théorie.
Principes fondamentaux du SRE Book¶
- Éliminer le toil : les tâches opérationnelles manuelles repetitives doivent être automatisees
- Error budgets : la fiabilité est un curseur entre rapidité et stabilité, pas un objectif absolu
- Toil cap : les SRE ne passent pas plus de 50% de leur temps sur du toil
- Postmortems blameless : chaque incident devient une source d'apprentissage systematique
- SLO/SLI/SLA : la fiabilité se mesure avec des indicateurs objectifs partagés avec le business
Comparaison des modèles¶
| Critère | Ops traditionnel | DevOps | SRE |
|---|---|---|---|
| Relation dev/ops | Séparée, conflictuelle | Collaborative | Intégrée, responsabilité partagee |
| Déploiements | Rares, risques | Fréquents, automatises | Continus, gouvernes par error budgets |
| Incidents | Blame, escalade | Rétrospectives | Postmortems blameless, systèmes |
| Toil | Accepte | Réduit | Plafonne a 50%, éliminé activement |
| Métriques | Uptime brut | Lead time, MTTR | SLO, error budget burn rate |
"You build it, you run it"¶
Ce principe, popularise par Werner Vogels (CTO d'Amazon), signifie que les équipes qui developpent un service sont egalement responsables de son exploitation en production.
Implications concrètes¶
- L'équipe est d'astreinte pour son propre service
- Elle reçoit les alertes, elle géré les incidents de premier niveau
- Elle voit directement l'impact de ses choix techniques en production
- Elle est incitee a investir dans la fiabilité, l'observabilité et l'automatisation
Conditions de succès¶
L'ownership ne fonctionne que si l'équipe dispose des outils et de l'autonomie nécessaires :
- Accès aux logs, métriques, traces en production
- Capacité de déployer et de rollback sans passer par un autre silo
- Runbooks clairs et à jour pour les scenarios d'incidents courants
- Soutien de l'organisation : l'on-call doit être soutenable, pas epuisant
Responsabilité sans pouvoir = épuisement
Donner l'ownership d'un service sans donner les outils pour l'opérer correctement généré du burn-out. La responsabilité partagee implique aussi les ressources et le temps pour investir dans la fiabilité.