Qu’est-ce que l’ingénierie de fiabilité de site (SRE) et en quoi est-elle importante ?
Le meilleur endroit pour commencer est souvent le début. Commençons par nous poser une question fondamentale : « En quoi consiste l’ingénierie de fiabilité de site ? » On entend ici et là de nombreuses réponses à cette question, notamment celle souvent citée par la personne ayant « inventé » le terme (Ben Treynor Sloss de Google). Nous vous donnons la définition qui nous semble la plus concrète :
L’ingénierie de fiabilité de site (SRE) est une discipline d’ingénierie qui aide les organisations à atteindre durablement le niveau de fiabilité approprié dans leurs systèmes, services et produits.
Par la suite, nous préciserons peut-être cette définition, mais commençons par là. Cette définition comporte trois éléments essentiels que nous devons examiner afin de répondre à la question « Pourquoi est-elle importante ? ». .
Fiabilité
Le terme essentiel est ici « fiabilité ». La définition ne dit pas « niveau de performances approprié », ni « niveau d’efficacité approprié », ni « niveau de stabilité approprié », ni même « atteindre le niveau de revenus approprié ». Elle dit « niveau de fiabilité approprié ». Pourquoi ?
Clarifions cela à l’aide d’une petite démonstration. Voici une capture d’écran. Que pensez-vous qu’elle montre ? Essayez de ne pas poursuivre la lecture avant d’avoir une idée (ou d’abandonner). Remarque : s’il est difficile de voir les détails dans l’image suivante, ne vous inquiétez pas. Elle est parfaitement restituée dans votre navigateur.
Cette image est une capture d’écran de ce à quoi ressemble une application PHP (sans autre prise en charge du débogage ajoutée) quand elle échoue. Vous pourriez voir quelque chose comme ceci pour une application Java :
Pourquoi nous intéressons-nous à ces exemples ? Chacun d’eux représente une application dont la création a potentiellement exigé de la part de l’entreprise de grandes quantités de temps, d’énergie et de ressources. Mais si l’application ne fonctionne pas, si elle n’est pas opérationnelle quand un client souhaite y accéder, si elle n’est pas fiable, ça n’est bon pour personne, surtout pas pour l’entreprise. En fait, un manque de fiabilité peut entraîner de réels dommages (en termes économique, contractuel, moral, de réputation et ainsi de suite) pour l’entreprise.
Cette importance est la raison pour laquelle l’ingénierie de fiabilité des sites choisit de considérer la fiabilité comme une propriété fondamentale d’un service, système ou produit. La fiabilité peut englober de nombreux aspects (comme nous le verrons plus loin), mais passons à la deuxième partie cruciale de la définition.
Niveaux de fiabilité appropriés
Vous ne l’aurez peut-être pas remarqué lors de la première lecture de la définition, mais soulignons un autre mot important :
L’ingénierie de fiabilité de site est une discipline d’ingénierie ayant pour vocation d’aider une organisation à atteindre durablement le niveau de fiabilité approprié dans ses systèmes, produits et services.
Pourquoi ce mot est-il si important ?
Les spécialistes en ingénierie de fiabilité des sites se sont aperçus d’une chose : peu de systèmes et de services doivent être fiables à 100 %. Les situations de vie et de mort comme l’aviation, les dispositifs médicaux, et ainsi de suite sont une exception notable.
En fait, il existe même peu de situations où cela est souhaitable. Les efforts et les ressources (et donc le coût) nécessaires pour obtenir une fiabilité supérieure augmentent de manière incrémentielle à mesure que l’on recherche une fiabilité optimale. Autrement dit, tenter d’atteindre un niveau de fiabilité non nécessaire représente un pur gaspillage de temps et d’argent. Vous souhaitez atteindre le niveau de fiabilité approprié dans votre système, vos produits et vos services.
Le niveau doit correspondre aux besoins de l’entreprise et être pragmatique. Supposons que les clients entrent en contact avec vous sur un réseau qui n’est pas fiable à 100 % (disons qu’il fonctionne 90 % du temps). Consacrer des efforts et des moyens pour s’assurer que votre service présente une fiabilité de 95 % constitue par définition une perte sèche. Vous souhaitez atteindre le niveau de fiabilité approprié dans votre système, vos produits et vos services.
L’ingénierie de fiabilité de site pousse ce pragmatisme un peu plus loin. Si l’on considère qu’il existe un niveau de fiabilité souhaitable, y a-t-il quelque chose que nous devrions faire si nous parvenons à atteindre ou à dépasser ce niveau ? De même, qu’en est-il si nous n’y parvenons pas ? Nous répondrons à ces questions plus tard dans le module.
Atteindre durablement
Le dernier mot de notre définition que nous devons expliquer avant de poursuivre est durablement. Ce terme fait référence au rôle des personnes. Il est essentiel de mettre en place des pratiques opérationnelles durables. Les personnes construisent des systèmes, des services et des produits fiables. Si nous ne faisons rien pour nous assurer que notre travail est durable. Si nous réveillons nos collaborateurs à 3 h toutes les nuits avec une page, et que nous ne leur laissons pas le loisir de passer du temps avec leur famille. S’ils n’ont pas le temps de prendre soin d’eux-mêmes. Dans ces conditions, il n’y a aucune chance qu’ils puissent créer des systèmes fiables. L’ingénierie de fiabilité des sites part du principe que la mise en place de pratiques opérationnelles durables est essentielle pour permettre à nos collaborateurs d’être les plus performants possible dans leur travail.