Transformez votre IT d'une équipe de développement de logiciels en un fournisseur de services pour votre entreprise.
Le SRE (Site Reliability Engineering) est devenu une pratique essentielle pour garantir la fiabilité et la performance des systèmes logiciels complexes. Dans cet article, nous explorons les idées clés et les meilleures pratiques partagées lors d'une discussion sur la SRE, couvrant divers aspects de cette discipline critique.
En ce qui concerne la terminologie entourant le SRE, comme ce qu’on retrouve dans les discussions autour des termes Agile et DevOps, il existe diverses interprétations de ce qu'implique le SRE. Pour certains, les seules définitions valables sont celles proposées par Google, à l'origine de l'acronyme. D'autres considèrent le SRE comme un nouveau titre de poste à la mode pour les équipes d'exploitation qui gèrent les systèmes distribués. Dans cet article, lorsque nous parlons de pratiques SRE, nous englobons toutes les pratiques visant à améliorer la fiabilité, qui sont généralement classées dans les cinq dimensions suivantes :
Cependant, il existe une sixième dimension, souvent négligée, qui joue un rôle essentiel dans la réussite d'entreprises telles que Google, Facebook et Amazon : la conception (ou Design). Les organisations qui maintiennent des services hautement fiables tout en delivrant fréquemment des nouvelles fonctionnalités veillent à ce que le SRE ait une influence directe sur la conception des services. Cette influence s'étend du code source à l'implication dans l'architecture logicielle et aux interactions quotidiennes avec les équipes de développement.
Un piège courant dans toute transformation est de pousser fortement ces dimensions et d'anticiper que cela améliorera intrinsèquement la fiabilité. L'approche recommandée est de commencer par la fiabilité, suivie de la conception, puis d'utiliser les autres dimensions comme leviers.
Voyons maintenant un peu plus concrètement la contribution d’un SRE à lors d’un incident majeur. A ce moment, un SRE doit analyser six moments critiques et agir en conséquence :
En réalité, l'amélioration de la fiabilité est invariablement un compromis impliquant au moins trois parties prenantes : les équipes de développement, les équipes d'exploitation et le Métier. Les observations suivantes reflètent les réactions potentielles de chaque équipe après un incident :
Les systèmes d'information complexes, pour lesquels la SRE est particulièrement utile, impliquent souvent plus de trois parties prenantes, dont les utilisateurs, les ingénieurs de production d'applications, les gestionnaires et les tours de contrôle. C'est pourquoi le SRE est vraiment la pierre angulaire, pour s'assurer que tous les acteurs se parlent, en même temps, autour du même service, afin de prendre ensemble les meilleures actions pour améliorer la fiabilité au bon coût, et ne pas tomber dans la facilité en ne faisant que ce qui est facile pour chaque équipe.
Un des plus grands défis consiste à savoir comment démarrer votre approche SRE. Il n'existe pas d'approche unique, mais sur la base de notre expérience en tant que consultants et professionnels SRE dans de grandes entreprises technologiques, voici les points critiques qui méritent d'être sérieusement pris en compte pour une transformation réussie :
En conclusion, la mise en œuvre réussie du SRE est une mission à multiples facettes qui nécessite une approche réfléchie. Il est impératif de reconnaître que le SRE ne se limite pas à des mesures réactives face à des incidents, mais qu'il s'agit également de stratégies proactives qui couvrent de multiples dimensions.
La nature dynamique du SRE, influencée par l'évolution constante du paysage technologique, nécessite une collaboration et une communication permanentes entre les différentes parties prenantes. La capacité du SRE à rassembler ces parties autour d'un objectif commun - améliorer la fiabilité tout en gérant les coûts - est la pierre angulaire de son succès.