Lexique · DevOps / Cloud / Data

DevOps : définition, principes CALMS et métriques DORA

La culture et l'ensemble de pratiques qui rapprochent les équipes de développement et d'exploitation pour livrer plus souvent et plus sereinement : origine, modèle CALMS, boucle DevOps, métriques et outils.

Par Équipe Blent· Mis à jour le · 15 min de lecture· Niveau débutant

DevOps en bref

Nature
Culture et ensemble de pratiques
Origine
Patrick Debois, DevOpsDays à Gand, 2009
Modèle de référence
CALMS
Mesure de la performance
Les quatre métriques DORA
Pratiques clés
CI/CD, Infrastructure as Code, observabilité
Métier associé
DevOps Engineer

Définition : DevOps

Le DevOps est une culture et un ensemble de pratiques qui rapprochent les équipes de développement logiciel (Dev) et d'exploitation informatique (Ops) autour d'un objectif commun : livrer de la valeur aux utilisateurs rapidement, fréquemment et de manière fiable. Il repose sur la collaboration entre ces équipes, l'automatisation des tâches répétitives (tests, déploiements, provisionnement), la mesure continue des performances et le partage des responsabilités sur le logiciel en production. Le DevOps n'est ni un outil ni un poste unique : c'est une façon d'organiser le travail, outillée par l'intégration et le déploiement continus, l'Infrastructure as Code et l'observabilité.

En une phrase : le DevOps fait travailler développeurs et opérationnels comme une seule équipe, responsable du logiciel de l'écriture du code jusqu'à la production.

Dans cette définition

Qu'est-ce que le DevOps ?

Le DevOps désigne une manière de concevoir, livrer et exploiter un logiciel dans laquelle les développeurs et les opérationnels ne forment plus deux mondes séparés, mais une seule chaîne de valeur partagée.

Pendant longtemps, les deux équipes ont eu des objectifs contradictoires. Les développeurs étaient évalués sur leur capacité à livrer des nouveautés, les équipes d'exploitation sur la stabilité de la production. Résultat : des mises en production rares, volumineuses et redoutées, suivies d'incidents dont chacun rejetait la responsabilité sur l'autre. Le DevOps propose de casser ce mur en partageant les objectifs, les outils et la responsabilité du logiciel en production.

Le mouvement prend forme à la fin des années 2000. En 2009, John Allspaw et Paul Hammond présentent à la conférence Velocity leur talk « 10+ Deploys per Day: Dev and Ops Cooperation at Flickr ». La même année, le consultant belge Patrick Debois organise à Gand les premiers DevOpsDays, qui donnent son nom au mouvement. Le roman The Phoenix Project (2013) puis le livre Accelerate (2018), fondé sur les données du programme de recherche DORA, achèvent de le populariser.

Concrètement, le DevOps s'outille par l'automatisation : CI/CD pour tester et déployer chaque modification, Infrastructure as Code pour décrire les serveurs et les réseaux, conteneurs et orchestration pour rendre les environnements reproductibles, observabilité pour savoir ce qui se passe en production.

À retenir : le DevOps n'est pas une équipe ni un outil. C'est une organisation du travail dans laquelle ceux qui construisent le logiciel partagent la responsabilité de son fonctionnement en production.

Comment fonctionne la boucle DevOps ?

Le cycle DevOps est souvent représenté par un symbole de l'infini : huit étapes qui s'enchaînent sans fin, la partie Dev à gauche, la partie Ops à droite. Chaque tour de boucle doit être court et automatisé autant que possible.

  1. Plan

    L'équipe définit les fonctionnalités et les corrections à livrer, découpées en petits incréments. Les retours issus de la production (incidents, métriques, usages) alimentent directement cette planification.

  2. Code

    Les développeurs écrivent le code applicatif, mais aussi les tests, les fichiers de configuration et la description de l'infrastructure, le tout versionné dans Git et relu par des pairs.

  3. Build

    Chaque modification déclenche une compilation et la fabrication d'un artefact reproductible : paquet, binaire ou image de conteneur.

  4. Test

    Les tests unitaires, d'intégration, de qualité de code et de sécurité s'exécutent automatiquement. Un échec bloque la suite de la chaîne et prévient immédiatement l'auteur.

  5. Release

    L'artefact validé est versionné, stocké dans un registre et marqué comme candidat à la mise en production. Il sera déployé tel quel dans tous les environnements.

  6. Deploy

    Le déploiement est automatisé et répétable, souvent progressif (blue/green, canary) pour limiter l'impact d'un problème et permettre un retour arrière rapide.

  7. Operate

    L'application tourne en production : mise à l'échelle, gestion de la configuration, sauvegardes, correctifs. L'équipe qui a écrit le code partage la responsabilité de son bon fonctionnement.

  8. Monitor

    Métriques, journaux et traces mesurent la santé technique et l'usage réel. Les alertes, les incidents et leurs analyses reviennent nourrir l'étape de planification.

Le modèle CALMS : les cinq piliers du DevOps

Pour évaluer la maturité DevOps d'une organisation, on utilise souvent le modèle CALMS. Il dérive de l'acronyme CAMS proposé par John Willis et Damon Edwards, auquel Jez Humble a ajouté le L du Lean.

  • Culture : des objectifs communs entre Dev et Ops, une responsabilité partagée et des analyses d'incident sans recherche de coupable (« blameless postmortems »).
  • Automation : tout ce qui est répétitif est automatisé, des tests au provisionnement de l'infrastructure, en passant par le déploiement.
  • Lean : travailler en petits lots, limiter les tâches en cours, éliminer les attentes et les gaspillages dans la chaîne de livraison.
  • Measurement : mesurer la performance de livraison, la santé de la production et l'usage réel pour décider sur des faits.
  • Sharing : partager les connaissances, les outils, la documentation et les retours d'expérience entre équipes.

Le modèle rappelle un point essentiel : l'automatisation n'est qu'un pilier sur cinq. Une organisation qui installe une chaîne CI/CD sans changer sa culture ni ses indicateurs n'obtient qu'une partie des bénéfices.

Les métriques DORA : mesurer la performance DevOps

Le programme DevOps Research and Assessment (DORA), fondé par Nicole Forsgren, Jez Humble et Gene Kim puis racheté par Google en 2018, a étudié des milliers d'équipes. Ses travaux ont identifié quatre indicateurs qui distinguent les organisations les plus performantes.

MétriqueCe qu'elle mesureDimension
Fréquence de déploiementÀ quelle fréquence l'équipe met en productionVitesse
Délai de mise en production des changementsTemps entre un commit et son arrivée en productionVitesse
Taux d'échec des changementsPart des déploiements qui provoquent un incident ou un retour arrièreStabilité
Temps de rétablissementDurée nécessaire pour rétablir le service après une défaillanceStabilité

Le principal enseignement de ces études est contre-intuitif : vitesse et stabilité ne s'opposent pas. Les équipes qui déploient le plus souvent sont aussi celles qui ont le moins d'incidents et qui les résolvent le plus vite, parce que chaque changement est petit, testé et facile à annuler.

Bon usage : ces métriques servent à piloter l'amélioration d'une équipe dans le temps, pas à comparer ou classer des équipes entre elles.

Exemple concret : le parcours d'une modification

Prenons une équipe qui doit corriger un bug sur une API de commande. Dans une organisation DevOps, le parcours ressemble à ceci :

  1. Code : le développeur corrige le bug, ajoute un test qui le reproduit et ouvre une merge request.
  2. Intégration continue : le pipeline exécute les tests, analyse la qualité et la sécurité du code, puis construit une image Docker.
  3. Revue : un pair relit le code ; la fusion dans la branche principale déclenche la suite.
  4. Déploiement : l'image est déployée en préproduction, puis progressivement en production sur un cluster Kubernetes.
  5. Surveillance : les tableaux de bord Prometheus confirment que le taux d'erreur baisse ; une alerte aurait déclenché un retour arrière automatique.

L'ensemble prend moins d'une heure, sans ticket transmis à une autre équipe ni intervention manuelle sur un serveur. Si une faille avait été détectée dans une dépendance, le pipeline l'aurait bloquée : c'est le terrain du DevSecOps.

Dans quels contextes adopter une démarche DevOps ?

Le DevOps répond à un problème précis : le temps et le risque qui séparent une ligne de code écrite de sa mise à disposition des utilisateurs.

  • Produit numérique en évolution rapide

    Livrer plusieurs fois par semaine, voire par jour, pour tester des idées et corriger vite.

  • Migration vers le Cloud

    Profiter de l'élasticité du Cloud grâce à une infrastructure décrite en code et automatisée.

  • Architecture en microservices

    Coordonner des dizaines de services déployés indépendamment, chacun avec sa propre chaîne.

  • Fiabilisation de la production

    Réduire le nombre d'incidents liés aux mises en production et le temps de rétablissement.

  • Modernisation d'un SI existant

    Remplacer des déploiements manuels et documentés à la main par des procédures automatisées.

  • Industrialisation de projets data et IA

    Appliquer les mêmes principes aux modèles et pipelines de données, ce qui a donné le MLOps.

Quels sont les bénéfices du DevOps ?

Bien mené, le DevOps améliore à la fois la vitesse de livraison et la stabilité, deux objectifs que l'on croyait opposés.

  • Mises en production plus fréquentes, plus petites, donc moins risquées.
  • Détection plus précoce des erreurs grâce aux tests et contrôles automatisés.
  • Temps de rétablissement réduit après un incident, grâce à l'observabilité et au retour arrière automatisé.
  • Moins de tâches manuelles répétitives et d'erreurs humaines lors des déploiements.
  • Responsabilité partagée qui supprime le « ça marche sur ma machine » et les conflits entre équipes.
  • Environnements reproductibles, du poste du développeur jusqu'à la production.

Quelles sont les difficultés du DevOps ?

Le DevOps échoue rarement pour des raisons techniques : les obstacles sont surtout organisationnels et humains.

  • Changement culturel long, qui exige le soutien explicite de la direction.
  • Risque de réduire le DevOps à l'achat d'outils, sans changer l'organisation du travail.
  • Charge cognitive accrue pour des équipes qui doivent maîtriser code, infrastructure et exploitation.
  • Investissement initial important dans l'automatisation, les tests et la supervision.
  • Création fréquente d'une « équipe DevOps » isolée, qui recrée un silo au lieu de le supprimer.
  • Contraintes réglementaires et de sécurité à intégrer dès le départ, sous peine de freiner la chaîne.

DevOps, SRE et Platform Engineering : quelles différences ?

Ces trois termes sont souvent confondus. Ils partagent les mêmes valeurs, mais n'ont pas le même périmètre.

CritèreDevOpsSREPlatform Engineering
NatureCulture et pratiquesDiscipline d'ingénierie de la fiabilitéConstruction d'une plateforme interne
OrigineCommunauté, DevOpsDays 2009Google, années 2000Évolution récente du DevOps à grande échelle
Objectif principalLivrer vite et de manière fiableTenir des objectifs de fiabilité mesurésOffrir des outils en libre-service aux équipes
Outils de pilotageMétriques DORASLI, SLO, budgets d'erreurAdoption et satisfaction des développeurs
Relation au DevOpsLe cadre généralUne façon concrète de l'appliquerUn moyen de le passer à l'échelle

Le Platform Engineering répond à une limite observée dans les grandes organisations : demander à chaque équipe de tout maîtriser, du code à l'infrastructure, crée une charge cognitive excessive. Une équipe plateforme fournit alors des chemins balisés (modèles de pipelines, environnements prêts à l'emploi) que les équipes produit consomment en autonomie.

Le métier de DevOps Engineer

Si le DevOps est une culture, le marché a vu émerger un métier dédié : le DevOps Engineer. Son rôle est d'outiller la démarche, en construisant et en maintenant les pipelines CI/CD, l'infrastructure en code, les clusters de conteneurs et la supervision.

Ses compétences couvrent un large spectre : administration Linux et réseau, scripting, au moins un fournisseur Cloud, Docker et Kubernetes, Terraform ou Ansible, et une bonne compréhension du développement logiciel. Les qualités relationnelles comptent autant : le DevOps Engineer travaille à l'interface de plusieurs équipes et doit faire adopter de nouvelles pratiques. Notre article DevOps Engineer : tout savoir sur ce métier détaille les missions, les salaires et les parcours possibles.

Faut-il adopter une démarche DevOps ?

La question n'est pas de savoir si le DevOps est utile, mais si votre contexte justifie l'effort de transformation qu'il demande.

Pertinent si

Le DevOps est une priorité

  • Vos mises en production sont rares, longues et redoutées.
  • Les incidents en production sont fréquents et longs à résoudre.
  • Développement et exploitation se renvoient la responsabilité des problèmes.
  • Votre produit doit évoluer vite face à la concurrence.
Moins adapté si

L'effort peut attendre ou être allégé

  • Le logiciel évolue très peu et ses livraisons sont rares par nature.
  • Une seule personne développe et exploite un petit outil interne.
  • L'organisation n'est pas prête à faire évoluer ses rôles et ses processus.
  • Une plateforme managée (SaaS, PaaS) prend déjà en charge l'exploitation.

Quels outils pour chaque étape du DevOps ?

Aucun outil ne fait le DevOps à lui seul, mais une chaîne cohérente est indispensable pour automatiser la boucle. Voici les briques les plus répandues, de la gestion du code à la supervision.

Les concepts à connaître autour du DevOps

Le DevOps s'appuie sur plusieurs pratiques qui ont chacune leur propre définition dans le lexique.

Ressources pour approfondir le DevOps

Trois articles du blog Blent pour passer de la culture DevOps à sa mise en pratique.

Questions fréquentes

Questions fréquentes

DevOps est la contraction de « development » et « operations ». Le terme désigne le rapprochement des équipes qui écrivent le logiciel et de celles qui le font fonctionner en production, historiquement séparées et aux objectifs souvent opposés.

Expertise

À propos de l'auteur

Équipe Blent

Les ingénieurs et mentors Blent conçoivent, automatisent et mettent en production des infrastructures Cloud, et forment chaque année des centaines de professionnels au Cloud et au DevOps.

Sources et méthodologie

  • Gene Kim, Kevin Behr, George Spafford, The Phoenix Project, IT Revolution, 2013
  • Nicole Forsgren, Jez Humble, Gene Kim, Accelerate, IT Revolution, 2018
  • Rapports annuels State of DevOps du programme DORA (Google Cloud)
  • Retours d'expérience des projets et formations Blent