plus69free - Fotolia
AWS : « Non, nous ne pratiquons pas la sur-allocation des ressources »
Réagissant aux récentes accusations de ses concurrents dans nos colonnes, l’hébergeur explique qu’il motorise à présent EC2 avec Nitro, un hyperviseur conçu pour la sécurité et qui empêche de simuler des caractéristiques inexistantes.
Non, contrairement à ce que ses concurrents T-Systems et Scaleway ont laissé entendre dans nos colonnes, AWS ne pratiquerait pas plus que tout le monde la sur-allocation des ressources dans son offre de cloud IaaS EC2. Et sur certaines offres, il n’en ferait même pas du tout.
« Sur toutes les instances récentes, nos cœurs virtuels sont alloués statiquement à un cœur physique. C’est le principe de fonctionnement de notre nouvel hyperviseur Nitro et cela nous permet même de simplifier radicalement la gestion en amont de notre offre », jure Stéphan Hadinger, en charge de la technologie chez AWS France, en réaction à nos récents articles.
La tentation de mieux rentabiliser le matériel
La sur-allocation est le fait de commercialiser des caractéristiques techniques – de la puissance et de la mémoire – qui ne correspondent pas aux capacités réellement utilisées. Le prétexte est qu’il serait dommage de mobiliser systématiquement toutes les ressources, alors que les machines virtuelles fonctionneraient rarement à 100 % de leurs possibilités. Tous les fournisseurs de cloud IaaS amélioreraient ainsi la rentabilité de leurs matériels, sauf bien entendu ceux que LeMagIT interroge sur cette pratique.
Rappelons que tous les hyperviseurs traditionnels permettent en effet de définir la puissance d’un processeur virtuel, dit vCPU, selon une fraction du temps de calcul disponible, au lieu de l’associer à un cœur physique. Et Xen, celui qu’AWS utilise depuis en 2006, n’échappe pas à la règle. OpenStack, la plateforme Open source dont se servent de nombreux offreurs de cloud IaaS pour piloter les hyperviseurs, propose même par défaut de simuler 16 cœurs vCPU sur un seul cœur physique. Et cela fonctionne aussi avec la quantité de RAM : avec OpenStack, chaque 1,5 Mo de mémoire dans une machine virtuelle correspond en réalité à un seul Mo dans la machine physique.
Paradoxalement, ce système a justement été conçu pour éviter qu’une machine virtuelle se retrouve avec trop peu de ressources encore disponibles lorsque celles alentour subissent des pics d’activité.
L’inconvénient de cette technique est la difficulté à trouver le bon dosage : le risque existe de devoir affronter des clients mécontents à la vue des piètres résultats qu’affichent leurs VMs. Et ce risque est d’autant plus important avec la multiplication actuelle des algorithmes d’analytique (IA, IoT...) qui sollicitent bien plus la puissance de calcul que les traditionnelles applications web.
La nouvelle stratégie d’AWS est justement de communiquer sur l’impossibilité d’une telle situation sur EC2. Benchmarks et témoignages de clients à l’appui, ses nouvelles VM motorisées par Nitro fonctionneraient pratiquement aussi rapidement que des machines physiques, preuve qu’il n’y a aucune sur-allocation de ressources.
Nitro, l’hyperviseur conçu pour la sécurité mais qui empêche la sur-allocation
A partir de fin 2017, AWS a graduellement remplacé son hyperviseur Xen par Nitro, un nouvel hyperviseur qui, lui, est techniquement obligé d’attribuer un cœur physique à chaque cœur virtuel. Issu du rachat de l’israélien Annappurna Labs en 2015, Nitro est basé sur le classique KVM de Linux, mais ses fonctions d’émulation d’un matériel générique sont remplacées par de véritables composants spécialisés, des ASICs, sur des serveurs spécifiquement construits par AWS. Dès lors, plus question de jouer les apprentis-sorciers : contrairement au logiciel, l'électronique ne se dédouble pas en cochant simplement une case.
La promesse technique de Nitro, au départ, n’est pas tellement d’éviter la sur-allocation, mais plutôt d’accélérer tout ce qui fonctionne autour de la VM, en particulier les communications réseau dans un cluster d’analytique et le chiffrement des données.
Deux caractéristiques qui comptent beaucoup pour un acteur comme AWS. La croissance des fournisseurs du cloud public repose, d’une part, sur l’espoir que les grands comptes qui changent leur datacenter pour supporter des nouvelles applications d’analytique, optent pour une migration vers le cloud. D’autre part, ces prestataires américains doivent convaincre leurs clients que le chiffrement annule la menace d’un vol de secrets industriels, posée par le Cloud Act.
« Avec Nitro, nous proposons aujourd’hui du chiffrement à la volée des paquets IP et des données écrites sur disque. Et ce, sans aucun impact sur la performance des machines virtuelles et sans aucun supplément de prix. Nous avons fait ce choix technologique parce que nos clients sont désormais soumis à des réglementations très fortes », commente Stéphan Hadinger.
Aucune sur-allocation en France
Toutefois, Nitro ne s’est pas généralisé sur toutes les offres AWS. La bonne nouvelle est qu’il est systématiquement utilisé sur la plateforme EC2 de Paris, puisqu’elle a ouvert récemment et qu'elle est constituée des dernières générations de serveurs.
Sur le plan international, plateforme historique en Irlande comprise, Nitro équipe les machines virtuelles M5 (applications), C5 (calcul intensif), R5 (bases de données SQL), T3 (applications en containers), I3 (bases de données In-memory), A1 (serveurs web à base d’ARM), P3dn (Machine learning) et z1d (jeux en ligne). Sur toutes les autres, les vCPU sont soumis à la sur-allocation de ressources, mais AWS ne dit pas dans quelles mesures.
« Les machines virtuelles concernées par la sur-allocation et que nous commercialisons toujours sont les VM T2 et T3, destinées aux serveurs web et dont l’activité est très variable. Toutes les autres – M1, M2, etc. – ne sont plus au catalogue. Nous les maintenons néanmoins en activité car elles sont utilisées par des clients qui n’ont pas encore pris la décision de migrer », assure Stéphan Hadinger.