Comparatif clouds publics : Oracle OCI vainqueur en performances/prix
Le bureau d’études Cloud Mercato vient de livrer ses dernières mesures concernant les performances des machines virtuelles parmi les offres des grands hyperscalers. Oracle aurait de loin les tarifs les plus intéressants.
Les machines virtuelles au meilleur rapport performances/prix pour un cloud public américain sont celles d’Oracle. Telle est la conclusion de la dernière étude du cabinet Cloud Mercato qui a comparé, via de minutieux benchmarks, toutes les offres de machines virtuelles x86 proposées par les principaux hyperscalers, à savoir AWS, Azure, Google Cloud Platform (GCP), IBM Cloud et Oracle Cloud Infrastructure (OCI).
« Oracle est le dernier arrivé parmi les grands hyperscalers américains, alors qu’il est, comme IBM, un fournisseur historique du datacenter. À ce titre, le cloud d’Oracle inspire une certaine méfiance de la part des entreprises. À tort : il a la meilleure offre. En l’occurrence, il propose le même gros portefeuille de services qu’AWS, Azure, GCP et IBM, mais les tarifs de ses machines virtuelles (VMs) sont les mêmes que ceux des hébergeurs de cloud locaux, comme OVHcloud, Scaleway ou Outscale, c’est-à-dire trois fois moins cher », explique Anthony Monthe, le fondateur de Cloud Mercato.
L’étude menée par Cloud Mercato a été élaborée à partir d’une série de tests qui mesurent la rapidité de calcul des processeurs d’une VM, la vitesse d’accès à sa RAM, la quantité des lectures/écritures sur son stockage et le débit de son réseau. L’enjeu de cette étude est de déterminer quel hébergeur et quelle configuration proposent le meilleur rapport performances/prix dans chacune de ces catégories.
Puissance brute : les cœurs AMD Epyc d’AWS et Oracle meilleurs sur les petites VMs
Les tests ont été menés chez chacun des hébergeurs sur quatre configurations de machines virtuelles x86. La plus petite configuration correspond à 2 cœurs, 4 Go de RAM et 100 Go de stockage en mode bloc sur SSD. La suivante multiplie ces caractéristiques par deux, celle d’après par quatre et la dernière, qui les multiplie par huit, offre donc 16 cœurs, 32 Go de RAM et 800 Go de stockage sur SSD.
« Les meilleurs ratios performances/prix en termes de calcul sont obtenus chez AWS avec des machines virtuelles ARM [AWS a mis au point son propre processeur ARM, le Graviton, N.D.R.] à condition d’y héberger des applications spécialement recompilées pour ARM. De même, il est possible d’accélérer les calculs de 15 % pour le même prix avec des applications recompilées expressément pour les Intel Xeon des serveurs qui équipent les clouds publics d’Azure, GCP et IBM Cloud. Mais nous sommes partis sur le cas de figure le plus courant, à savoir des applications compilées pour une architecture x86 générique. »
« Dans ces conditions, nous nous apercevons que les meilleurs résultats en termes de puissance brute sont obtenus, concernant les VMs avec peu de cœurs, par les architectures AMD Epyc des serveurs d’AWS et d’Oracle. Tandis que pour les VMs avec de nombreux cœurs, les résultats sont meilleurs sur les processeurs Xeon d’Azure et GCP ». Anthony Monthe précise que, lors de ses tests, les clouds d’IBM et d’Oracle étaient encore équipés de processeurs de génération précédente.
Anthony MontheFondateur de Cloud Mercato
Mais dès lors que l’on rapproche les performances du coût des machines virtuelles, que ce soit à l’heure, comme au mois ou à l’année, c’est Oracle qui l’emporte haut la main : « le tarif des VMs sur OCI est entre 2,5 et 3 fois inférieur à celui de ses concurrents », constate Anthony Monthe. « L’écart se resserre lorsqu’une entreprise négocie un contrat à l’année, mais uniquement sur les petites configurations. Plus les machines virtuelles ont de cœurs, plus Oracle distance ses concurrents. »
Selon lui, Oracle et IBM bénéficient d’un savoir-faire plus éprouvé dans la fabrication des serveurs, alors qu’AWS, Azure et Google n’ont acquis cette compétence que pour appuyer les services qu’ils maîtrisent. « Oracle et IBM savent depuis des années comment fabriquer des serveurs performants et peu chers. Si cela se retrouve directement dans les tarifs des machines virtuelles chez OCI, on constate qu’IBM s’est aligné sur les tarifs des hyperscalers pour les machines virtuelles publiques et a choisi de plutôt casser les prix sur les serveurs physiques dédiés (Bare metal). »
« Cela dit attention aux tarifs d’IBM qui semblent de loin les plus élevés pour des VMs publiques. En réalité, les prix d’IBM sont négociables, contrairement aux pratiques en vigueur chez les autres fournisseurs. Notre tableau ne montre que leurs tarifs publics », prévient l’analyste.
Le temps CPU réellement dédié : une composante impossible à déterminer
Anthony Monthe sait que mesurer les performances brutes des machines virtuelles ne donne qu’une indication partielle du service rendu : encore faut-il que l’hébergeur alloue tout le temps 100 % de cette performance à son client.
« Le problème est que le descriptif officiel des configurations virtuelles en IaaS est assez sommaire. Typiquement, on ignore si les cœurs que l’on a réservés pour une VM correspondent effectivement à des cœurs réels : dans certains cas, les cœurs physiques sous-jacents sont partagés entre plusieurs utilisateurs et la puissance d’un cœur virtuel est donc moindre. Dans d’autres, l’hébergeur utilise des techniques pour minimiser l’effet du partage », dit-il. En l’occurrence, les systèmes de cloud, dont OpenStack, permettent de doser les performances par machine virtuelle ou par client.
Cloud Mercato s’est efforcé de mesurer cette caractéristique avec le test CPU Steal, mais cela n’a pas été concluant. « En l’occurrence, le test CPU Steal semble indiquer que seul Oracle partagerait ses cœurs entre plusieurs utilisateurs. J’en doute fortement ! Je pense plutôt qu’Oracle a moins cherché que ses concurrents à masquer cette pratique », lance Anthony Monthe.
« Par exemple, selon nos tests CPU Steal, AWS dédierait 100 % de la puissance de ses cœurs physiques à des cœurs virtuels. Pour autant, d’autres tests montrent qu’à certains moments les cœurs de nos VMs chez AWS sont des AMD Epyc à 3,2 GHz, et au bout d’un certain temps, ils deviennent des AMD Epyc à 1,6 GHz, avant de repasser à 3,2 GHz. On utiliserait bien donc tout le temps les cœurs à 100 % de leurs possibilités, mais ces possibilités varient. »
Anthony MontheFondateur de Cloud Mercato
Selon l’analyste, les tests dans cette catégorie se heurtent à des résultats bien trop positifs dans tous les cas. Quand bien même les mêmes cœurs ne seraient pas partagés entre plusieurs clients de l’hébergeur, ils devraient en effet afficher de temps en temps moins de 100 % de disponibilité, ne serait-ce que pour exécuter une partie du fonctionnement de l’hyperviseur.
« Cette dissimulation du temps CPU réellement disponible se manifeste au travers de nos tests Sysbench RAM, lesquels mesurent la constance des accès en mémoire depuis une base de données. Normalement, les vitesses de lecture et d’écriture ne devraient jamais varier au cours du temps. Pourtant, elles varient. Et elles varient même beaucoup chez Azure, Google et IBM. »
Dans l’impossibilité de prendre scrupuleusement en compte ce paramètre dans ses tests, Cloud Mercato indique avoir comptabilisé des mesures effectuées à divers moments, pour avoir une idée la plus juste possible des performances moyennes obtenues par un utilisateur.
Réseau : Google est 2 à 10 fois plus rapide, Oracle est 10 fois moins cher
Le grand gagnant de la bande passante réseau est, de loin, Google. « La vitesse du réseau est une constante chez Google parmi toutes les études que nous menons chez les hébergeurs de cloud. À mon avis, la surperformance de Google dans ce domaine s’explique par le fait qu’ils hébergent YouTube », estime Anthony Monthe, qui rappelle que la bande passante du réseau est le paramètre à prendre en compte dans le cas des applications de Big Data, mais aussi pour le web.
En l’occurrence, Cloud Mercato a mesuré que deux VMs de base communiquaient entre elles chez Google à la vitesse de 9,4 Gbit/s, contre 795 Mbit/s chez Azure, 948 Mbit/s chez Oracle, 3,9 Gbit/s chez IBM et 5,15 Gbit/s chez AWS. Pour les VMs disposant de 16 cœurs, la vitesse de la communication grimpe à 28,3 Gbit/s chez Google. Elle est de 6,35 Gbit/s chez Azure, 7,57 Gbit/s chez Oracle, 9,54 Gbit/s chez AWS et 15,7 Gbit/s chez IBM.
En matière de réseau, la mesure de la bande passante entre deux machines virtuelles hébergées dans le même cloud n’est qu’une partie de la question. Le problème est que les hébergeurs de cloud facturent en général lourdement tout le trafic qui sort de leurs infrastructures, soit typiquement les données qui remontent à l’entreprise cliente. Google est le seul à facturer les données sortantes dès le premier octet transmis, à raison de 0,12 $/Go par mois, puis 0,11 $/Go par mois à partir de 1 To et 0,08 $/Go par mois à partir de 10 To.
Chez AWS, le premier Go est gratuit, puis on passe à 0,09 $/Go par mois. Les tarifs sont dégressifs à partir de 10 To transmis par mois : 0,085 $/Go par mois, puis 0,07 $/Go par mois à partir de 100 To et 0,05 $/Go par mois au-delà de 150 To transférés dans le mois.
IBM Cloud et Azure proposent la gratuité en dessous de 10 To/mois. Au-delà, ils facturent 0,083 $/Go par mois, voire 0,05 $/Go par mois au-delà de 150 To/mois.
Mais, encore une fois, c’est Oracle qui fait la différence : il ne facture les exports de données qu’à partir de 10 To/mois pour un tarif de 0,008 5 $/Go/mois, soit un prix dix fois moins cher que celui de ses concurrents.
Stockage : les SSD vraiment rapides sont chez Google et Oracle
Anthony MontheFondateur de Cloud Mercato
Google tire également son épingle du jeu en matière d’IOPS, mais il est cette fois-ci rejoint par Oracle. « Oracle et Google sont les seuls qui proposent des vitesses d’accès au stockage cohérentes par rapport aux performances des SSD actuels, tandis que tous les autres donnent l’impression qu’ils utilisent des SSD fabriqués en 2010 », lance Anthony Monthe. Il précise que ces tests concernent les offres de base de chaque hébergeur. Pour autant, AWS et IBM proposent des services de stockage optionnels plus rapides (souvent associés à une marque de fabricant de baies de stockage pour datacenter, comme NetApp, par exemple), mais à des tarifs autrement plus chers.
La vitesse d’accès aux disques est importante dans le cas des applications qui utilisent des bases de données SQL. Une machine virtuelle simple avec deux cœurs, atteint 6190 IOPS chez Oracle, contre 4 305 IOPS chez Google, 3 146 IOPS chez Azure, 3 099 IOPS chez AWS et 3 097 IOPS chez IBM. Une VM avec 16 cœurs atteint 26 346 IOPS chez Google et 25 627 IOPS chez Oracle, contre seulement 5 182 IOPS chez Azure et 3 098 IOPS chez AWS comme chez IBM.
« En fait, seuls Oracle et Google augmentent en performances au fur et à mesure que la capacité de stockage augmente, ce qui correspond au fonctionnement réel d’une baie de disques dans un datacenter. AWS et IBM ne bougent pas, ce qui signifie qu’ils n’augmentent pas le nombre de disques, mais juste la capacité occupée sur toujours les mêmes disques. »
« Concernant Azure, le calcul est plus subtil : les performances augmentent au fur et à mesure que la capacité augmente non pas par machine virtuelle, mais par client. Cela signifie que votre stockage deviendra de plus en plus rapide chez Azure à chaque fois que vous lui demanderez d’héberger des machines virtuelles en plus. »
En matière de tarifs, AWS a donné le ton en facturant le stockage sur SSD en mode bloc à environ 0,1 $/Go par mois, soit 112 $/mois pour 1 To de stockage. Ses concurrents ont choisi d’être plus chers (120 $ chez IBM, 187 $ chez Google, 210 $ chez Azure), sauf Oracle qui, encore une fois, a de loin le tarif le plus avantageux : 28,05 $/mois à peine pour 1 To de stockage SSD.