Quels sont les indicateurs clés de performance du DevOps ?

Quels sont les indicateurs clés de performance du DevOps ? Combinant les équipes de développement et d'exploitation informatique, la démarche a pour but d'améliorer l'efficacité de l'informatique. Mais comment mesurer sa réussite ?

En associant les équipes de développement logiciel, de recette et de production informatique, le DevOps répond à l'un des grands enjeux de l'économie numérique : la rapidité d'exécution. De là découlent les principaux indicateurs clé de performance (KPI) d'une telle démarche.

"La vitesse de mise en prod étant l'objectif premier du DevOps, c'est aussi le KPI numéro 1 à prendre en compte", assure Didier Girard, vice-président de l'ingénierie chez Sfeir, une société experte en développement logiciel. Dans cette optique, le DevOps n'implique d'ailleurs pas seulement une collaboration entre devs et ops. Il passe aussi par la mise en œuvre d'une chaîne de montage IT intégrée et automatisée. "Si le chantier a été bien mené, le temps de correction d'un bug par exemple devra pouvoir être estimé en minutes", précise Didier Girard.

Et Victor Mignot, consultant senior DevOps pour le cabinet de conseil Octo Technology (groupe Accenture), renchérit : "Cet indicateur de vitesse renvoie également au temps de mise sur le marché d'un nouveau produit numérique, ou time to market." En fonction du paysage concurrentiel, le degré d'urgence du time to market pourra se révéler plus ou moins élevé. Il dépendra en parallèle du champ applicatif. "Dans l'IA par exemple, si un modèle de machine learning met trop de temps à être inféré, il risque de se retrouver inadapté au terrain, en particulier s'il évolue dans un contexte qui change en permanence, comme la publicité par exemple", illustre Didier Girard.

Temps moyen de mise en production ou de réparation d'une panne : des jauges à ne pas manquer

Autre indicateur de résultat du DevOps : le nombre de builds mis en production sans échouer. Un objectif qui implique évidemment d'aligner finement les équipes de développement et d'opération. "Si les devs en charge des tests n'ont pas été mis au courant d'un changement sur la plateforme de production, ils ne pourront mécaniquement pas le prendre en compte... avec le risque de voir un déploiement aller dans le mur", souligne Didier Girard.

De la capacité des équipes à collaborer dépendra aussi l'indicateur de MTTR, pour mean time to repear, ou temps moyen pour réparer une panne ou un bug. Ici, la culture collaborative et organisationnelle jouent une fois de plus un rôle clé. "Au-delà de leur bon alignement, il est important que les intervenants travaillent en mode produit et qu'ils couvrent ainsi tout le cycle de vie de l'application, et non en mode projet en s'arrêtant à la livraison de celle-ci", martèle Victor Mignot.

Pour optimiser le MTTR, les équipes devront être autonomes et responsables. "C'est-à-dire avoir l'habilitation et les moyens de gérer l'application dont ils sont en charge du sol au plafond", résume Victor Mignot. La prise de décision sera d'autant plus éclairée si, dans une approche agile, tous les acteurs concernés sont mis en dans la boucle. Y compris des représentants des utilisateurs de l'application côté métier, et jusqu'aux experts de la sécurité informatique dans une logique DevSecOps.

"La capacité de mise en œuvre sans interruption de service fait figure de KPI clé"

Le ratio entre le volume de bugs détectés en phase de recette et celui détecté une fois le déploiement réalisé est une autre mesure clés de la performance du DevOps. "Evidemment, il devra être le plus élevé possible", prévient Arnaud Mazin, senior manager référent chez Octo Technology. "Cet objectif est conditionné par la mise en œuvre d'une infrastructure de CI/CD (pour continuous integration / continuous development, ndlr). Avec à la clé des tests de régression, de sécurité... à la fois performants et intégrés aux pipelines de déploiement."

L'infrastructure-as-code

Optimiser les processus de DevOps passe par la case de l'infrastructure-as-code (IaC). "Provisioning d'infrastructure, demande d'ouverture de flux, activation d'accès pare-feu... L'IaC permet de tout automatiser", estime Victor Mignot. Sur ce terrain, l'outil Terraform fait sans surprise l'unanimité des consultants que nous avons interrogés.

Didier Girard reconnaît : "L'IaC noue rendement et flexibilité, en particulier quand elle est exploitée dans le cadre d'un cloud équipé d'API." Combinant différents types d'architectures (avec ou sans état), les clouds publics comme AWS, Google Cloud ou Microsoft Azure sont en effet équipés d'un grand nombre de process APIsés que l'IaC pourra venir orchestrer, tels la répartition de la charge machine, l'auto-dimensionnement à la volée de la puissance informatique, ou encore le déploiement à chaud.

"Cette capacité de mise en œuvre à chaud,  sans interruption de service, ou zero downtime deployment, fait aussi partie des KPI du DevOps", insiste-t-on chez Octo Technology. Le process en question pourra s'accompagner d'une démarche de Canary Release qui, dans une logique d'A/B testing, consiste à confronter une nouvelle version d'une application à une population restreinte d'utilisateurs, tandis que la majorité continuera à accéder à la version antérieure. Utilisée par Facebook ou Microsoft, cette méthode permet de réajuster les développements le cas échéant. "Par exemple, dans le cas d'un tunnel de vente, on pourra itérer pour optimiser le taux de transformation", complète Arnaud Mazin.