Quatre étapes pour bien démarrer votre initiative SRE
Ayelet Sachto
Strategic Cloud Engineer, Infra, AppMod, SRE
Essayer GCP
Les nouveaux clients peuvent explorer et évaluer Google Cloud avec des conditions exceptionnelles.
EssayerIl y a quelques mois, nous abordions le sujet de l'ingénierie de fiabilité des sites ou SRE (Site Reliability Engineering) en indiquant que pour mener à bien ce type d’approche, il fallait commencer par définir un leadership. Dans ce billet de blog, nous allons voir comment, en tant que leader IT, vous pouvez aborder les étapes suivantes et accélérer l’approche SRE au sein de vos équipes.
Étape 1 : Démarrer petit et itérer
« Rome ne s’est pas faite en un jour » comme le rappelle l’adage populaire. Mais il faut bien commencer quelque part. Pour mettre en pratique les principes de SRE, nous conseillons de démarrer par un PoC (Proof of Concept), d’apprendre de ses erreurs et d’itérer.
Commencez par identifier une application et/ou une équipe pertinente. De nombreux facteurs peuvent influencer le choix d’une équipe ou d’une application spécifique pour votre PoC SRE. Il s’agit cependant souvent d’une décision stratégique pour la DSI ou l’entreprise, qui dépasse le champ de cet article. Les candidats possibles peuvent être par exemple une équipe qui évolue d’opérations traditionnelles ou DevOps vers SRE ou un besoin particulier d’augmenter la fiabilité d’un produit clé pour l’entreprise.
Quelles que soient les raisons, il est essentiel de sélectionner une application qui soit à la fois :
- Critique pour l’entreprise – sa disponibilité et sa fiabilité impactent profondément la satisfaction client.
- En cours de développement – il faut choisir une application sur laquelle l’entreprise investit activement ses ressources.
- Et, idéalement, qui fournit de nombreuses données et métriques sur son comportement.
À l'inverse, évitez les logiciels propriétaires. Si l’application n’a pas été construite en interne, elle n’est pas une bonne candidate au SRE ! Car vous aurez besoin de prendre des décisions stratégiques sur sa conception et son ingénierie.
Pro tip : De manière générale, si vous disposez de workloads à la fois sur site (on-premises) et dans le cloud, privilégiez les applications cloud. Il sera plus facile à des ingénieurs habitués à un environnement d’opérations traditionnel de se défaire de leur mentalité orientée « bare-metal » et métriques d’infrastructure si l’application est hébergée dans le cloud. Une infrastructure managée transforme en effet les opérationnels en utilisateurs et les oblige à consommer l’IT comme des développeurs (API, Infra as Code, etc.).
Rappel : fixer des objectifs accessibles. Des attentes trop irréalistes ne peuvent que décourager votre équipe et impacter l’initiative de façon négative.
Étape 2 : Encourager votre équipe
La mise en œuvre des principes SRE suppose le développement d’une culture d’apprentissage. À cet égard, il convient de souligner qu’il ne suffit pas de former son équipe. Elle doit bien entendu monter en compétences mais aussi en responsabilité et en autonomie.
Bâtir un programme de formation est déjà un défi en soi mais il est tout aussi important de réfléchir dès le départ à une stratégie pour se donner les moyens de réussir. Particulièrement au sein des grandes organisations, il est essentiel d’anticiper des sujets comme la promotion interne, le perfectionnement, l’embauche, l’accroissement de l’équipe tout comme le onboarding (intégration de nouveaux équipiers) et la création d’une communauté d’apprentissage.
Cette stratégie doit être personnalisée en fonction des niveaux et fonctions des membres de l’équipe. Typiquement, la formation des responsables sera très différente de celles des opérationnels IT. Pour imposer un tel changement à l’échelle d’une organisation, il peut ainsi s’avérer nécessaire de dispenser aux responsables une formation supplémentaire sur les concepts culturels et les bonnes pratiques.
Pour les leaderships et/ou les managers intermédiaires (managers qui gèrent d’autres managers), il convient de prévoir une formation qui mixte les concepts culturels de haut niveau (afin de favoriser le développement d’une culture SRE) à des pratiques techniques SRE avancées, essentielles pour comprendre la priorisation, l'allocation des ressources, la création de processus et les besoins futurs.
Concernant les opérationnels, il est préférable que l’ensemble de l'organisation soit aligné sur les mêmes valeurs, tant du point de vue culturel que de celui des compétences. Toutefois, comme nous l’avons mentionné précédemment, il vaut mieux commencer simplement, avec une seule équipe.
Pour revenir aux équipes, il est préférable de commencer par leur inculquer la notion de fiabilité et des concepts clés tels que SLAs, SLOs, SLIs ou encore les error budgets. SRE étant focalisé sur l’expérience client, la capacité des systèmes à répondre aux attentes des clients est au cœur de la démarche. Ce qui implique un changement de posture de la part des équipes qui peut parfois prendre du temps.
Une fois la première application sélectionnée, il convient d’identifier le parcours client proposé. Autrement dit les interactions déclenchées par le client pour réaliser une action spécifique (du simple clic à une succession d’opérations). Il ne reste plus ensuite qu’à les classer en fonction de leur impact business. Les plus critiques sont appelées CUJ (Critical User Journeys) et doivent servir de point de départ à l’élaboration de vos SLO (Service Level Ojectives) et SLI (Service Level Indicators).
Pro tip : Il existe quelques bonnes pratiques générales pour adopter une approche SRE plus rapidement. Par exemple, utiliser moins de repositories contribue à réduire les silos au sein de l’organisation et à mieux exploiter les ressources.
De même, donner la priorité aux processus automatiques et aux systèmes d’auto-maintenance peut non seulement améliorer la fiabilité, mais aussi accroître la satisfaction de toute l'équipe. Satisfaction essentielle pour aider l’entreprise à retenir ses talents.
Note finale : Comme dans toutes décisions d'architecture que vous prenez, la technologie, les solutions et les outils d'implémentation choisis doivent vous permettre d’atteindre vos objectifs et non vous handicaper dans votre initiative.
Étape 3: Propager ces enseignements
Après avoir éprouvé ces pratiques sur une ou plusieurs équipes, l’étape suivante consiste à mettre en place une communauté SRE et à formaliser les processus à travers toute l’entreprise. Certaines organisations entreprennent cette étape tout en finalisant la phase 2. D’autres préfèrent attendre la réussite de quelques implémentations avant d’attaquer cette nouvelle phase.
Au cours de cette étape, plusieurs sujets doivent impérativement être abordés : communauté, culture, autonomisation, processus… Aucun ne devra être oublié d’autant qu’ils sont imbriqués. Mais il appartient à chaque entreprise de définir ses propres priorités.
Ainsi, la création d’une communauté SRE est une composante essentielle, tant du point de vue des apprentissages que pour construire une base de connaissance des meilleures pratiques, former des experts sur le sujet, aider à la création de garde-fous indispensables et harmoniser les processus.
Mais la création de cette communauté va de pair avec le développement d’une culture de la fiabilité et la formation des équipes. Objectif : ambassadeurs SRE, les pionniers partagent ce qu’ils ont appris et forment les nouvelles équipes.
C’est pourquoi il convient d’identifier les potentiels ambassadeurs ou les champions au sein des équipes de développement : passionnés de SRE, ils faciliteront l’adoption de ces pratiques.
Il est également essentiel de créer des formations aisément répétables pour chaque rôle fonctionnel, y compris des sessions portant sur l’intégration de nouveaux membres. Accueillir de nouveaux membres dans une équipe constitue en effet un volet essentiel de tout programme de formation et participe au développement d'une culture SRE généralisée. En d’autres termes, il faut être très attentif au processus d’intégration tout en s’assurant que les connaissances ne sont pas perdues lorsqu’un membre de l'équipe change de rôle.
Cette phase est également le moment idéal pour encourager le développement d’une culture à l’échelle de l’entreprise qui promeut le bien-être psychologique, qui accepte l’échec et qui permet aux équipes d’apprendre de leurs erreurs. Pour y parvenir, les dirigeants doivent formaliser la culture qu’ils souhaitent mettre en place et promouvoir la transparence.
Enfin, des processus formalisés et structurés contribuent à réduire le stress face aux situations d’urgence. Les processus apportent de la clarté, facilitent la collaboration et rendent les équipes plus efficientes.
Pour un impact maximal, commencez par traiter les tâches les plus pénibles relevant des compétences de votre équipe. Effectuez, par exemple, un nettoyage des alertes afin d’éviter la surcharge de travail engendrée par les faux positifs. De la même façon, automatisez les processus de gestion du changement. Enfin, n’impliquez que les personnes nécessaires pour économiser la bande passante de l’équipe. Les membres d’une équipe ne devraient pas avoir à travailler sur des projets d’ingénierie logicielle tout en étant responsables de la gestion des incidents. Assurez-vous qu’ils ont la bande passante pour effectuer ces deux tâches séparément. Orientez vos décisions en vous appuyant sur des données factuelles, comme les activités qui reviennent le plus souvent et le temps que vos équipes y consacrent.
Si vous rencontrez des difficultés pour collecter ce type de données, qu’elles soient d’ordre qualitatif ou quantitatif, commencez par vos processus d’intervention d’urgence (processus d’escalade, gestion des incidents et politiques connexes) : ils ont généralement un impact direct sur le business.
Pro tip: Toutes ces pratiques contribuent à réduire les silos et à aligner toute l’entreprise sur des objectifs communs. Pensez également à intégrer vos fournisseurs et partenaires techniques. À cette fin, assurez-vous que les contrats signés avec eux intègrent bien ces objectifs.
Étape 4 : Développer une culture de la donnée
Même si vous ne l’appliquez qu’à une seule équipe, mettre en place une démarche SRE prend du temps. La collecte de données et la réalisation d’analyses « post-mortem » irréprochables (aussi appelées « PIR » ou « Revue post-incident ») permettent d’obtenir des résultats rapides.
Toute initiative SRE cherche à s’appuyer autant que possible sur des données à même de mesurer le niveau de fiabilité. Aussi est-il essentiel de développer une culture de la mesure au sein de votre organisation. Au moment de hiérarchiser la collecte des données, focalisez vos efforts sur celles qui mesurent l’expérience utilisateur. Collecter ces données vous aidera à mieux identifier vos lacunes et à hiérarchiser vos priorités en fonction des besoins de votre entreprise et de l’attente de vos clients.
Parallèlement, réaliser des analyses « post-mortem » constitue un excellent moyen d’apprendre de ses échecs et de favoriser une forte culture SRE. Il est important de garder en tête que ces analyses doivent être irréprochables de sorte que l’équipe se sente en confiance pour partager ses découvertes et apprendre de l’échec. Et afin d’éviter de répéter les mêmes erreurs, il est important d’intégrer dans ces analyses post-mortem des éléments d’action clairement assignés à un « owner », autrement dit à un responsable identifié.
Enfin, créer un repository partagé des analyses ‘post-mortems’ peut avoir un impact majeur sur les équipes : un tel repository améliore la transparence, réduit les silos et contribue à établir une culture d’apprentissage. Cela permet également de montrer aux équipes que l’organisation « pratique ce qu’elle prêche ». D’autant que l’implémentation d’un tel repository ne présente aucune difficulté et peut se limiter à la simple création d’un dossier partagé.
Pro Tip : Les analyses “post-mortem” doivent être irréprochables et suggérer des actions pour remédier aux causes de l’échec.
Plus loin avec le fast track SRE
Bien sûr, il n'y a pas deux organisations semblables. Il en va de même des équipes SRE. Mais en suivant ces étapes, vous pouvez guider votre équipe sur la voie du succès SRE plus rapidement. Pour en savoir plus sur l'élaboration d'une pratique efficace des SRE, consultez les ressources suivantes.