Accéder au contenu
DevOps et ingénierie SRE

Boostez vos pratiques DevOps ? Une étude conseille d’essayer SRE !

10 décembre 2021
https://storage.googleapis.com/gweb-cloudblog-publish/images/DevOps_BlogHeader_C_Rnd3_n7MW7mI.max-2200x.max-2200x2200.png
Dave Stanke

Developer Relations Engineer

Essayer GCP

Les nouveaux clients peuvent explorer et évaluer Google Cloud avec des conditions exceptionnelles.

Essayer

La fiabilité, c’est essentiel ! Lorsqu’une application est inaccessible, se montre lente et peu réactive ou se comporte de façon inattendue, les utilisateurs n’en retirent pas la valeur que vous espériez leur fournir. C’est pourquoi chez Google nous ne cessons d’affirmer que la fiabilité est la fonctionnalité la plus importante de tout système, toute application, tout service. Son impact peut être perçu à tous les niveaux car les temps d'arrêt sont très coûteux en termes de revenus, de réputation et de fidélité des utilisateurs.

Dès le début du projet DORA (DevOps Research & Assessment), nous avons insisté sur l’importance d’une expérience cohérente pour les utilisateurs. Nous mesurons cet aspect à l’aide de quatre métriques clés : deux suivent la vitesse de déploiement de nouvelles versions et deux autres capturent la stabilité initiale de ces versions. Une équipe qui obtient de bons scores sur les quatre métriques n’est pas seulement une équipe efficace dans la livraison de codes, c’est aussi une équipe qui produit du code de qualité.

Toutefois, ces quatre signaux – qui se focalisent sur le déploiement et ses effets immédiats – ne mesurent pas les succès obtenus tout au long du cycle de vie d’une version. En 2018, DORA a commencé à étudier la stabilité « en continu » des logiciels livrés sous forme de services (tels que les Web Apps) au travers d’une métrique supplémentaire de « disponibilité » permettant d’explorer l’impact des opérations techniques sur la performance organisationnelle.

Cette année, nous avons encore élargi notre enquête en commençant par renommer la métrique « disponibilité » en « fiabilité ». La fiabilité (Reliability en anglais), parfois abrégée sous l’acronyme « r9y », est un terme plus général qui englobe davantage de dimensions à commencer par la latence des réponses et la validité du contenu en plus de la disponibilité.

Dans notre rapport sur l’état du DevOps en 2021, les équipes ont été réparties en quatre catégories selon quatre critères clés de la livraison de logiciels. De prime abord, on pourrait penser qu’il n’existe pas de corrélation directe entre l’utilisation de pratiques de fiabilité et la performance sur la livraison logicielle. En effet, les équipes qui obtiennent de bons résultats sur les métriques de livraisons ne sont pas forcément les mêmes que celles qui ont adopté un fonctionnement moderne des opérations (ce que l’on appelait autrefois « l’exploitation »).

Néanmoins, combinées, “performance de la livraison logicielle” et “ingénierie de la fiabilité” influent considérablement sur les résultats de l’organisation : les meilleures équipes sur la livraison logicielle qui atteignent également leurs objectifs de fiabilité ont 1,8 fois plus de chances d’afficher de meilleurs résultats Business. Dit autrement, en alliant DevOps et SRE, les entreprises ont quasiment deux fois plus de chance de réussir.


SRE

La recette de Google pour atteindre la fiabilité : SRE

Au début, nous avions chez Google adopté une approche traditionnelle des opérations techniques : l’essentiel du travail se concrétisait par des interventions manuelles face à des problèmes distincts. 

Toutefois, nous avons réalisé que cette approche n’était pas durable. Elle n’était pas adaptée à la taille et à la complexité croissante de nos systèmes. Rien que le fait d’essayer de tenir la cadence supposait des investissements inconcevables en ressources humaines.

Nous avons donc, ces 15 dernières années, pratiqué et amélioré une méthode baptisée Site Reliability Engineering (SRE) ou « ingénierie de la fiabilité des sites ».

SRE fournit un cadre, un framework, pour mesurer, hiérarchiser et partager des informations afin d’aider les équipes à trouver le meilleur équilibre entre rapidité de livraison de nouveaux services et prévisibilité du comportement de ces nouveaux services. Il met l’accent sur l’automatisation. 

Objectif : réduire les risques et libérer les ressources d’ingénierie pour des tâches ayant plus de valeur ajoutée. Cette définition est très similaire à celle de DevOps. De fait, ces deux disciplines partagent de nombreuses valeurs. Cette similitude a d’ailleurs provoqué quelques remous en 2016 quand Google a publié son premier ouvrage sur le Site Reliability Engineering, les acteurs des communautés DevOps y voyant un courant de pensée similaire. Elle a aussi engendré une certaine confusion : DevOps et SRE sont parfois présentés comme deux courants en conflit ou en concurrence.

De notre point de vue - et dans la mesure où DevOps et SRE sont nés des mêmes problématiques et visent des objectifs similaires - ces deux approches sont mutuellement compatibles, voire complémentaires. Métaphoriquement, nous avons fait valoir que « class SRE implements DevOps ». Ce qui signifie que SRE propose un moyen pour réaliser les objectifs DevOps.

Inspirés par des communautés en croissance constante et des échanges continus d’idées, nous avons cherché à approfondir la relation entre ces deux courants. Ainsi, cette année, nous avons étendu le champ de notre étude afin d’évaluer l’adoption de SRE par les entreprises et comprendre comment ces pratiques opérationnelles modernes interagissent avec le modèle DORA (DevOps Research Assessment) d’évaluation des performances de la livraison logicielle.

En appui sur la littérature SRE existante, nous avons enrichi notre étude 2021 d’éléments clés du framework SRE. Nous avons évité le jargon technique pour privilégier un langage simple à même de décrire la façon de travailler des opérationnels ayant adopté une approche moderne.

Les personnes interrogées ont mentionné des pratiques telles que : définition de la fiabilité en termes de comportement visible par l’utilisateur ; utilisation de l’automatisation pour permettre aux opérationnels de se focaliser sur des tâches à valeur ajoutée ; disposer de processus bien définis et correctement appliqués pour réagir en cas d’incident...

Nous avons constaté que l’utilisation de SRE pour mettre en œuvre DevOps était beaucoup plus répandue que nous le pensions.
SRE, et d’autres approches connexes comme le « Production Engineering » de Facebook, ont la réputation d’être des disciplines de niche, pratiquées uniquement par une poignée de géants du Web. Dans les faits, nous avons découvert au cours de cette enquête DORA 2021 que la majorité des équipes interrogées utilisent le SRE, 52% des répondants ayant déclaré avoir recours à une ou plusieurs pratiques SRE.

SRE, un levier puissant pour gagner en excellence sur la livraison logicielle

L’analyse des résultats de cette enquête apporte la preuve que l’approche SRE est efficace dans toutes les organisations. En plus d’améliorer la performance des entreprises, SRE constitue une aide précieuse pour mieux gérer les efforts : les équipes ayant atteint leurs objectifs de fiabilité notent qu’elles consacrent plus de temps à coder parce qu’elles sont moins sollicitées par la gestion des incidents. Ces résultats sont cohérents avec le fait que la fiabilité des services peut directement impacter les revenus de l’entreprise tout en offrant aux opérationnels une plus grande flexibilité, leur permettant de passer plus de temps à améliorer les systèmes plutôt qu’à les réparer.

Toutefois, et bien que SRE se soit largement répandu avec des bénéfices concrets à la clé, peu de personnes interrogées ont indiqué que leurs équipes avaient implémenté la totalité des pratiques SRE examinées. Mais une application étendue de SRE apporte des avantages à tous les niveaux : dans chacune des 4 catégories de maturité de la livraison logicielle, les équipes qui atteignent parallèlement leurs objectifs de fiabilité surpassent les autres en résultats business. 

Sur la route SRE, vers l’excellence DevOps

SRE est plus qu’un ensemble d’outils. C’est un état d’esprit, une certaine culture du rôle des équipes opérationnelles. SRE est une discipline d’apprentissage qui vise à comprendre l’information et savoir itérer en continu. C’est pourquoi l’adoption d’une doctrine SRE prend du temps et nécessite de démarrer modestement et d’itérer.

Voici quelques conseils pour bien démarrer :

* exploitez les livres et contenus proposés sur SRE.Google

* Rejoignez les conversations des spécialistes à différentes étapes de l’implémentation SRE sur bit.ly/reliability-discuss

* Parlez-en à votre responsable de compte GCP pour découvrir nos offres de services professionnelles

Enfin, n’hésitez pas à postuler aux DevOps Awards pour montrer comment votre organisation met en œuvre des pratiques SRE gagnantes grâce aux principes DORA.

Publié dans