Être « en marche » n’est pas la mesure de la performance. Ce n’est pas parce qu’une lampe est alimentée en électricité qu’elle fournit à l’utilisateur suffisamment de lumière pour voir de manière fiable ce qu’il fait. De nombreux facteurs différents, au-delà de la puissance, auront un impact sur la capacité de l'utilisateur à voir ou non. L’ampoule est peut-être faible, soit parce qu’elle est en train de mourir, soit parce qu’elle est alimentée mais pas suffisamment. Si l’ampoule n’a pas assez de puissance pour rester lumineuse, il peut y avoir un problème avec le câblage ou une restriction du flux électrique en raison d’un variateur. Et si l'ampoule est lumineuse, l'abat-jour pourrait être trop sombre, ou l'espace trop grand pour une seule lumière. En bref, de nombreux facteurs influent sur les performances de la lampe et, par conséquent, sur l’expérience de l’utilisateur. De même, l’évaluation des performances et de la fiabilité des systèmes et des applications va au-delà de la mesure traditionnelle du temps de disponibilité. La fiabilité dépend également du niveau de service.
Les systèmes et les applications sont constitués de nombreux composants (infrastructure, API, sécurité, flux de travail, logique, données, etc.) regroupés dans un but précis, et le simple fait d'être actifs ne garantit pas la fiabilité. Comme pour l’analogie de la lampe, vous devez être capable d’évaluer et d’estimer tous les composants pour pouvoir confirmer des performances et une expérience optimales. Alors que dans une entreprise traditionnelle, déterminer une lacune dans le niveau de service peut être aussi simple que de parcourir le « parcours client » pour évaluer l'expérience globale, dans une entreprise numérique, cela peut constituer un défi de taille. Avec les silos commerciaux et informatiques créés par les architectures d'entreprise traditionnelles, identifier un problème et trouver sa cause profonde n'est pas toujours facile ni efficace. Les dirigeants d'entreprise peuvent penser qu'il y a un problème, mais les équipes informatiques qui gèrent leurs composants ne le pensent peut-être pas si tout est « activé ». L'ingénierie de fiabilité du site (SRE) est le pont entre l'entreprise et l'informatique pour garantir l'exécution des engagements commerciaux au moyen d'objectifs de niveau de service (SLO) .
L’ingénierie de fiabilité des sites a été créée chez Google au début des années 2000 et, selon eux, « c’est ce que l’on obtient lorsque l’on traite les opérations comme s’il s’agissait d’un problème logiciel ». Selon nos termes, il s’agit d’un ensemble de processus, de pratiques et d’outils ainsi que d’une culture et d’un état d’esprit utilisés pour créer des systèmes fiables, efficaces et évolutifs qui soutiennent les objectifs commerciaux.
SRE se concentre sur des systèmes fiables (et pas seulement disponibles) et évolutifs. Nous ajoutons qu’il s’agit d’un état d’esprit et d’une culture car, comme pour la sécurité, chacun doit être amené à contribuer positivement à des systèmes de qualité et fiables, quel que soit son rôle. Bien qu’il s’agisse également d’une culture et d’un état d’esprit, la pratique de l’ingénierie de fiabilité des sites (SRE) est souvent intégrée à une équipe de service qui fournit l’ensemble du service de bout en bout. Ces équipes sont généralement chargées d’améliorer le système principal et de permettre l’innovation en surveillant la disponibilité, la latence, les performances et la récupération, tout en favorisant une amélioration continue grâce à l’automatisation et à l’efficacité. En fait, ils examinent toute la pièce et ne vérifient pas seulement que la lampe est allumée.
L'ingénierie de fiabilité du site définit les mesures des SLO et des SLI (indicateurs de niveau de service) pour atteindre les résultats commerciaux. En termes plus simples, SRE réunit les besoins et les objectifs des équipes de développement, de sécurité et d’exploitation pour tenir de manière fiable les promesses faites par l’entreprise à ses clients.
Si l'engagement commercial est que les utilisateurs disposeront de manière fiable de suffisamment de lumière pour voir ce qu'ils font (niveau de service), un SLO pourrait être qu'une lampe bien allumée (disponibilité) soit maintenue pour chaque 10 pieds carrés d'espace. Pendant ce temps, un autre SLO pourrait être un MTTR (temps moyen de récupération) défini, dans cet exemple, la durée pendant laquelle les ampoules mortes ou en fin de vie seront remplacées. Les SLI sont alors les seuils définis par les ingénieurs de fiabilité du site et l'informatique pour garantir que les SLO sont atteints, tels que la surveillance du flux lumineux, du flux électrique vers chaque lampe ou des changements marginaux dans l'emplacement des lampes causés par les chocs ou les déplacements des utilisateurs. Dans les systèmes de distribution d'applications, ces éléments peuvent ressembler à l'utilisation du processeur, au temps d'appel d'API et de requête de base de données, etc. Il appartient aux ingénieurs de fiabilité du site de définir les mesures SLI qui ont un impact sur les SLO de l'entreprise et les réponses qui seront prises lorsqu'elles tomberont en dessous de seuils spécifiques en ajustant les politiques d'exploitation et la configuration.
Les mesures, les seuils et les réponses constituent l’intersection du SRE avec les autres domaines d’une architecture d’entreprise moderne conçue pour la fourniture d’applications d’une entreprise numérique. Les données opérationnelles – la télémétrie – alimentent l’observabilité des mesures et des seuils définis par le SRE. L'automatisation est l'application combinée d'outils, de technologies et de pratiques permettant aux ingénieurs de fiabilité du site de mettre à l'échelle des réponses définies avec moins de travail, permettant ainsi la satisfaction efficace des SLO d'un service numérique. Et la fiabilité du système de services numériques améliore la probabilité d’une expérience utilisateur positive avec votre entreprise numérique.
Pour réitérer, SRE agit comme un pont unifiant les efforts de l'informatique et de l'entreprise en utilisant tous les outils, technologies et processus disponibles pour aller au-delà du simple fait de maintenir les systèmes « allumés », pour également garantir qu'ils fonctionnent de manière fiable. En adoptant SRE dans l'architecture d'entreprise, les entreprises peuvent être proactives dans la gestion de leurs applications système et remarquer plus tôt les baisses ou les irrégularités, que les ingénieurs de fiabilité du site peuvent ensuite étudier et résoudre avant que l'expérience utilisateur ne soit affectée.
Pour savoir comment intégrer SRE dans votre entreprise et soutenir le parcours de transformation vers une entreprise numérique efficace et évolutive, lisez « The Need for Speed », un chapitre de Julia Renouard dans notre livre O'Reilly, Enterprise Architecture for Digital Business .