Expliquer l'absence d'études à grande échelle en informatique

Les professionnels de l'informatique les réclament chaque jour et pourtant, aucune n'existe – des études à grande échelle sur le risque et la performance du matériel et des logiciels informatiques. Cela recouvre un vaste éventail de possibilités, mais les exemples courants sont les taux de défaillance entre différents modèles de serveurs, disques durs, systèmes d'exploitation, types de grappes RAID, ordinateurs de bureau, portables, etc. Et pourtant, indépendamment de la forte demande pour de telles données, il n'en existe aucune de disponible. Comment cela se peut-il.
Tous les cas ne se ressemblent pas, bien entendu, mais dans l'ensemble, trois facteurs vraiment déterminants entrent en jeu pour empêcher ce type de données d'apparaître dans le domaine. Il s'agit du coût élevé de la conduite d'une étude, de la longue échelle de temps qu'une étude nécessite et de l'absence d'incitation à produire ces données et/ou à les partager avec d'autres entreprises.
Le coût est de loin le facteur le plus important. Si l'on parvenait à surmonter le coût des études à grande échelle, il serait possible de trouver des solutions à tous les autres facteurs. Mais, malheureusement, la nature même d'une étude à grande échelle fait qu'elle sera coûteuse. À titre d'exemple, nous pouvons considérer les taux de fiabilité des serveurs.
Afin de déterminer les taux de défaillance d'un serveur, il nous faut un grand nombre de serveurs pour recueillir ces données. Cela peut sembler un exemple extrême, mais le taux de défaillance des serveurs est l'un des chiffres d'étude à grande échelle les plus fréquemment demandés, et l'exemple est donc important. Il nous faudrait peut-être quelques centaines de serveurs pour une étude très modeste, mais pour obtenir des données statistiquement significatives, il nous faudrait vraisemblablement des milliers de serveurs. Si nous partons du principe qu'un seul serveur coûte cinq mille dollars, ce qui correspondrait à un serveur d'entrée de gamme relativement basique, nous parlons aisément de vingt-cinq millions de dollars d'équipement ! Et cela suffit tout juste à réaliser un test d'envergure plutôt modeste (cinq mille serveurs seulement) portant sur un appareil au coût relativement faible. Si nous évoquions des serveurs d'entreprise, nous atteindrions aisément trente, voire cinquante mille dollars par serveur, portant le coût jusqu'à un quart de milliard de dollars.
Or ce coût, bien entendu, concerne le test d'une seule configuration d'un seul modèle de serveur. Pour qu'une étude ait un sens, il nous faudrait vraisemblablement de nombreux modèles de serveurs différents. Peut-être plusieurs de chaque fournisseur afin de comparer les différentes gammes et fonctionnalités. Peut-être de nombreux fournisseurs différents. On voit aisément à quelle vitesse le coût d'une étude devient incommensurable.
Ce n'est cependant que le début du coût. Mener une bonne étude exigera des environnements rigoureusement contrôlés, à la hauteur des meilleurs centres de données, afin d'isoler autant que possible les facteurs environnementaux. Cela suppose une alimentation électrique, un refroidissement, une circulation d'air, un contrôle de l'humidité, des vibrations et de la poussière hautement fiables. De bonnes installations de ce type sont très onéreuses et c'est la raison pour laquelle de nombreuses entreprises ne les financent pas, même pour des charges de production précieuses. Dans une étude de grande ampleur, ce coût pourrait aisément dépasser celui de l'équipement lui-même sur la durée de l'étude.
Ensuite, bien entendu, nous devons répondre aux besoins en capteurs et en tests spécifiques. Qu'est-ce qui constitue exactement une défaillance ? Même dans les systèmes de production, cela fait souvent débat. Un disque dur qui tombe en panne dans une grappe constitue-t-il une défaillance, même si la grappe, elle, ne tombe pas en panne ? Une défaillance prédictive est-elle une défaillance ? Lorsqu'on traite de la défaillance de disques dans une étude, comment prendre en compte les composantes humaines telles que le remplacement de disque, qui peut ne pas être effectué de manière uniforme ? Il existe des moyens de gérer cela, mais ils ajoutent de la complexité et font dévier les études des données du monde réel vers des données artificielles propres à l'étude. Établir des lignes directrices d'étude qui soient pertinentes et utiles pour les utilisateurs finaux est bien plus difficile qu'il n'y paraît.
Et le coût le plus important : la main-d'œuvre. Maintenir un environnement destiné à une étude de grande ampleur exigera un capital humain qui pourrait égaler le coût de l'étude elle-même. Il faut un grand nombre de personnes pour entretenir un environnement d'étude, mener l'étude proprement dite, la surveiller et recueillir les données. Au bout du compte, les coûts sont généralement, tout simplement, impossibles à assumer.
Nous pourrions bien sûr réduire considérablement le test, n'utiliser qu'une poignée de serveurs et seulement deux ou trois modèles, mais la valeur du test chute rapidement et l'on risque d'aboutir à des résultats que personne ne peut exploiter, tout en ayant dépensé une somme considérable.
Le deuxième problème insurmontable est le temps. La plupart des éléments doivent être testés en matière de taux de défaillance sur la durée et, comme l'équipement informatique est généralement conçu pour fonctionner de manière fiable pendant des décennies, recueillir des données sur les taux de défaillance requiert de nombreuses années. Les valeurs de temps moyen avant défaillance (MTTF) n'ont qu'une valeur limitée ; le temps moyen entre défaillances (MTBF), ainsi que les types, modes et statistiques de ces défaillances, sont très importants pour qu'une étude soit utile. Cela signifie que pour qu'une étude soit véritablement utile, elle doit se dérouler sur une très longue période, engendrant un coût toujours plus élevé.
Mais ce n'est pas le plus grand problème. Le souci bien plus important est que, pour qu'une étude dispose d'assez de temps pour produire des chiffres de défaillance utiles, même si ces chiffres tombaient “en direct” à mesure qu'ils se produisent, il serait déjà trop tard. L'équipement en question serait déjà vieillissant et proche du moment de son remplacement sur le marché de la production au moment où l'étude commencerait à produire de premiers résultats véritablement utiles. L'équipement de production n'est souvent acquis que pour une durée de vie totale de trois à cinq ans. Obtenir des résultats ne serait-ce qu'un an après le début de cette période n'aurait que peu de valeur. Et de nouveaux produits sont susceptibles de remplacer ceux de l'étude encore plus rapidement que les produits ne vieillissent naturellement, ce qui ne confère à l'étude de valeur que dans un contexte historique, sans aucune utilité pour orienter les choix dans le cadre d'une décision de production – les résultats seraient trop anciens pour être utiles au moment où ils deviendraient disponibles.
Le dernier facteur majeur est l'absence d'incitation à fournir les données existantes à ceux qui en ont besoin. S'il existe peu de sources de données, il en existe néanmoins quelques-unes, mais presque toutes sont incomplètes et existent pour permettre aux grands fournisseurs de mesurer la qualité de leur propre équipement, leurs taux de défaillance et autres. Ces données sont rarement recueillies dans des environnements contrôlés et impliquent souvent des données collectées sur le terrain. Dans bien des cas, ces données peuvent même être confidentielles vis-à-vis des clients et ne pas pouvoir être légalement partagées, quoi qu'il en soit.
Mais les fournisseurs qui recueillent des données ne le font pas de manière homogène et contrôlée, de sorte que le partage de ces données pourrait leur être très préjudiciable, car rien ne garantit que des données équivalentes existeraient chez leurs concurrents. Des statistiques non contrôlées de la sorte n'offriraient aucun bénéfice réel au marché, pas plus qu'aux fournisseurs qui les détiennent ; les fournisseurs sont donc fortement incités à garder de telles données sous haute surveillance.
La rare exception est constituée par certaines études matérielles émanant de fournisseurs tels que Google et BackBlaze, qui possèdent un grand nombre de disques durs grand public dans des environnements relativement contrôlés et recueillent les taux de défaillance à leurs propres fins, mais ne courent que peu ou pas de risque de voir leurs concurrents exploiter ces données, tout en y trouvant un intérêt en termes de relations publiques ; aussi publient-ils, à l'occasion, une étude sur la fiabilité du matériel à une échelle limitée. Ces études sont avidement dévorées par le secteur, même si elles ne présentent en général qu'une valeur relativement faible, leurs données étant anciennes et recueillies dans des conditions et selon des seuils inconnus, et ne contenant souvent pas de données statistiquement significatives permettant la comparaison de produits ; au mieux, elles font apparaître des tendances statistiques générales à l'échelle du secteur, quelque peu utiles pour prévoir, au mieux, les trajectoires de fiabilité à venir.
La plupart des autres entreprises suffisamment grandes pour disposer de statistiques de fiabilité internes les détiennent sur une gamme d'équipement restreinte et considèrent cette information comme exclusive, comme un risque potentiel si elle était divulguée (elle révélerait des détails importants sur les choix d'architecture) et comme un avantage concurrentiel. C'est donc pour ces raisons qu'elles ne sont pas partagées.
J'ai en réalité eu la chance d'avoir participé à un test de fiabilité du stockage à grande échelle, et de l'avoir mené, de façon quelque peu informelle mais très précieuse, sur plus de dix mille serveurs d'entreprise pendant huit ans, ce qui représente quatre-vingt mille années-serveur d'étude, une occasion rare. Mais ce qui a été conclu dans cette étude, c'est que, si elle s'est révélée extrêmement précieuse, ce qu'elle a avant tout montré, c'est que sur un ensemble aussi vaste, nous étions toujours incapables d'observer la moindre défaillance ! L'absence de défaillances était, en soi, très précieuse. Mais nous étions incapables de produire la moindre statistique standard telle que le temps moyen avant défaillance. Pour produire le type de données auquel les gens s'attendent, nous savons qu'il nous aurait fallu des centaines de milliers d'années-serveur, au minimum, pour obtenir une quelconque signification statistique, et encore ne pouvons-nous affirmer avec certitude que cela aurait même suffi. Peut-être des millions d'années-serveur auraient-ils été nécessaires. Il n'y a aucun moyen de le savoir véritablement.
Tout cela nous amène au constat que les études à grande échelle en informatique n'existent tout simplement pas et n'existeront, vraisemblablement, jamais. Lorsqu'elles existeront, elles seront isolées et presque certainement bridées par les contraintes de la réalité. Il n'existe aucun moyen de monétiser des études à l'échelle nécessaire pour être utiles, surtout parce que les taux de défaillance du matériel d'entreprise sont si faibles tandis que l'équipement est si onéreux ; ainsi, des firmes tierces ne peuvent jamais couvrir le coût de la production d'une telle recherche. En tant que secteur, nous devons accepter que ce type de données n'existe pas et rechercher activement des solutions de substitution à l'accès à de telles données. Il est surprenant que tant de personnes dans le domaine s'attendent à ce que ce type de données soit disponible alors que cela n'a jamais été le cas historiquement.
Nos seules véritables options, compte tenu de ce vide, consistent à recueillir les preuves anecdotiques qui existent (une démarche très dangereuse qui exige une prise en compte attentive du contexte) et à appliquer la logique pour évaluer les approches et techniques de fiabilité. Il s'agit d'une situation générale où l'observation nous fait nécessairement défaut et où seules la logique et l'intuition peuvent être mises à profit pour combler le vide de connaissance qui en résulte.
