Via l’analyse pilotée par l’intelligence artificielle de l’ensemble des ressources CPU
Rendues publiques au début du mois de janvier, Meltdown et Spectre sont deux failles de sécurité majeures affectant directement certains processeurs (Intel, AMD, ARM) et donnant ainsi accès à la mémoire système d’un ordinateur, d’un smartphone ou d’une tablette. Depuis leur découverte, de nombreux articles ont été publiés, décrivant leur mode de fonctionnement et les risques qu’elles représentent pour les organisations et les utilisateurs finaux. Des correctifs ont rapidement été déployés, mais ce qu’on ignore en revanche, c’est l’étendue de l’impact que ces correctifs auront sur la performance des applications et l’expérience des utilisateurs concernés.
Des correctifs aux impacts encore flous
Après la découverte de ces deux failles, les réactions ne se sont pas fait attendre. D’Intel à AMD, en passant par Apple, Microsoft, Google ou encore Amazon, tous les principaux éditeurs mondiaux ont fait part des mesures qu’ils avaient prises face à ces nouvelles vulnérabilités. Et dans presque tous les cas, les correctifs à court terme ont surtout consisté en des patchs logiciels, qui pour la plupart, provoqueront inévitablement une baisse de performance applicative, puisqu’ils impactent directement la façon dont le processeur se comporte à l’exécution du code. Mais l’impact de ces patchs ne se limiterait pas à la seule performance applicative : il pourrait également avoir une incidence majeure sur les serveurs, leur capacité et leur coût d’exploitation.
Tout dépend toutefois de la façon dont les applications ont été déployées, et dont les architectures sur lesquelles elles s’exécutent ont été conçues. Mais quand bien même la majorité des applications ne serait pas impactée par ces correctifs, une question critique demeure : comment savoir lesquelles le sont ?
La performance : un indicateur clé
Pour les applications dites monolithiques (c’est-à-dire hébergées on-premise dans les data centers traditionnels), certains avancent, non sans ironie, que « qui peut le plus peut le moins » : les serveurs de ce type d’applications étant souvent en surcapacité, ils pourraient facilement absorber une légère surcharge du processeur. Mais ce serait oublier que la plupart de leurs composants sont en réalité optimisés en termes de consommation de CPU, ce qui signifie qu’il reste peu de place sur ces serveurs pour en augmenter les performances. De plus, ces applications sont généralement extrêmement complexes, et s’appuient sur une multitude de serveurs, tous potentiellement impactés par Meltdown et Spectre, ainsi que par leurs correctifs. D’où l’importance de monitorer l’ensemble des serveurs, afin d’en mesurer les variations de performance pour détecter de potentielles anomalies.
Dans le cloud, même combat ! Les applications reposent essentiellement sur des environnements virtualisés et de plus en plus conteneurisés, qui sont par nature optimisés et ne tolèrent pas bien les baisses de performance du processeur. Dans les environnements virtualisés, les ressources de CPU sont partagées par l’ensemble des machines virtuelles. Quand l’une d’elle affiche un steal time élevé, cela signifie que des ressources de CPU sont utilisées par une autre. Autrement dit, soit votre machine virtuelle utilise plus que sa part de ressources, soit le serveur physique est sur-sollicité. Dans tous les cas, si les correctifs pour Meltdown et Spectre doivent avoir un impact sur la performance, c’est sans doute par là qu’il faudra commencer à chercher !
Monitorer et analyser l’ensemble des ressources CPU
Dès lors, la mesure seule de l’utilisation de CPU ne suffit pas : pour comprendre l’impact des correctifs sur la performance d’une application, il faut monitorer et référencer l’ensemble des détails relatifs aux ressources CPU : la consommation, mais aussi l’inactivité, le steal time, l’I/O wait, etc. C’est en créant des données de référence sur ces informations de CPU que l’on peut ensuite détecter les anomalies et effectuer les opérations nécessaires pour les résoudre.
Et seul un moteur d’intelligence artificielle permet d’atteindre ce degré de détection et d’analyses automatiques. Dans une architecture conteneurisée par exemple, cette intelligence artificielle peut découvrir les conteneurs et référencer les performances de CPU habituelles pour les processus qui s’y exécutent. Si un serveur Docker rencontre un problème de concurrence de ressources, lié au déploiement des correctifs pour Meltdown et Spectre, ce moteur d’intelligence artificielle est alors capable de le détecter automatiquement, et de déterminer la portion de code qui doit être optimisée pour compenser cet impact. Optimiser ainsi le code permet d’éviter une hausse des coûts d’exploitation qu’entraînerait la nécessaire augmentation des capacités pour maintenir le même niveau de performance.
Meltdown et Spectre, par leur caractère inédit, indétectable et extrêmement étendu, demandent une vigilance toute particulière. Si l’application des correctifs ne fait pas débat, l’impact de ces derniers sur la performance des systèmes est en revanche potentiellement lourd de conséquences. À défaut pour l’instant d’une solution moins préjudiciable, il est essentiel que les organisations parviennent à identifier la portée de ces correctifs sur leur système, sur la performance de leurs applications et la qualité de l’expérience utilisateur. Et ce afin de pouvoir en minimiser les impacts et continuer à délivrer à leurs clients un service optimal. Seul un monitoring intégral de leur infrastructure et une analyse automatique et approfondie de leurs performances par une intelligence artificielle leur permettent aujourd’hui de mieux contrôler ces risques.
_________
Antoine Ferté est Sales Engineer Director chez Dynatrace