Là où le bât blesse, les performances…

Dans ce deuxième volet, on va essayer d’analyser les performances de nos 3 concurrents afin de voir si ils sont à la hauteur de leurs prétentions, pour cela nous allons benchmarker leurs VMs et leurs DBs, en faisant attention à prendre des ressources de niveau comparable.

Tests des machines virtuelles

Pour le benchmark des machines virtuelles, je vais me baser sur sysbench et geekbench. Sysbench sera utilisé pour des tests simples sur le CPU, la mémoire et les capacité du stockage et geekbench éprouvera un peu plus notre CPU en le soumettant à des tests plus complexe.

test AWS – m5.xlarge GCP – n2-standard-4 Scaleway – GP1-XS
sysbench cpu 32 662 36 164 53 211
sysbench mémoire 91 153 286 97 257 191 46 709 779
sysbench IO 52 335 466 896 66 941
geekbench (single core score / multi core score) 844 / 1988 906 / 2166 601 / 1968

Eh bien on peut à première vue être surpris de la performance du CPU de Scaleway, qui a un score plus important que ses concurrents, cependant, au lieu de creuser l’écart lors du test plus complexe (geekbench) il descend à la troisième position. En effet, geekbench va faire des tests sur les performances en exécutant des minis programmes/algorithmes et calculer l’indice de performance à partir d’un processeur témoin.

Sur la mémoire, nos deux géants sont à égalité quand malheureusement notre petit français est un peu à la traine…

Mais sur les IO, là par contre GCP s’impose (j’ai vérifié et refait le test plusieurs fois) en patron, et ce ne sont que les disques ssd « standard », idem pour AWS mais on sait que la taille des disques améliore les performances chez AWS, par contre sur Scaleway on est sur les disques locaux de l’instance, pas d’excuse… Ceci dit, ces performances (AWS et Scaleway) sont suffisantes pour faire tourner des services de production.

J’ai hâte de voir ce que ça donne pour les DBs !

Tests des bases de données managées

Pour le benchmark des DBs managées on va utiliser pgbench avec 200000 records dans la base puis nous allons exécuter la commande pgbench avec 10 clients pendant 10 secondes afin de voir combien d’opération nous sommes capables d’effectuer, en effet, nous allons mettre à l’épreuve le réseau entre les machines (la commande pgbench sera lancé depuis des instances dans le même réseau et même région/datacenter que les DBs) et les DBs ainsi que les capacités de la DB elle-même.

test AWS – m5.xlarge GCP – n2-standard-4 Scaleway – GP1-XS
pgbench 15 551 9574 2631

Sans surprise, AWS est en tête avec RDS, qui est pour moi le service le mieux abouti d’AWS avec EC2, où ils sont 50% plus performants que GCP ce qui est déjà impressionnant car GCP à fait beaucoup de travail sur ses bases de données. Malheureusement pour notre Français les performances de sa base de données managée laisse à désiré, mais c’est un produit qu’ils ont sorti il y a peu et même Scaleway reste une jeune pousse, il y a de la place à l’amélioration.

Conclusion du round 2 – les performances

Le Duel  est serré entre nos deux géants sur le plan des performances.

Sur les VMs, AWS a fait de gros effort sur sa cinquième génération d’instances, basculé de Xen vers KVM comme hyperviseur ils en ont aussi profité pour améliorer le réseau entre EC2 et EBS afin de permettre des bandes passantes plus grande et de réduire la latence. Les processeurs ont aussi bénéficié de cette bascule pour gagner en performances. Plus d’infos ici: AWS Nitro

GCP, plus jeune qu’AWS sort sa deuxième génération d’instances, les N2 qui sont comparables aux M5 d’AWS et les E2 qui sont un petit peu différentes des autres car on ne définit pas ici le matériel car il dépend de celui qui est disponible dans le centre de donnée, elles sont donc moins chères et les performances matérielles oscillent entre N1 et N2, mais sont moins chèrent que les deux. On notera sur la partie VM que GCP a un vrai avantage point de vue système de fichier.

Scaleway, fait des efforts pour essayer d’avoir un catalogue lui permettant d’être considéré comme une alternative aux grands noms de l’Iaas. On saluera les efforts car ils proposent tout de même assez d’instances différentes pour nous permettre de construire notre infrastructure à des prix abordables.

Pour les DBs, AWS et GCP sont des maîtres dans le domaine, quand GCP est spécialisé dans le Big Data avec des solutions comme Cloud Spanner, Big Table ou encore Big Query. AWS a consolidé son offre de base de données grand public avec AWS RDS Aurora et sa compatibilité avec MySQL et PostgreSQL. AWS a lui aussi des produits de Big Data comme Redshift ou Athena, ils restent tout de même moins aboutis que chez GCP. Scaleway quant à lui vient d’arriver dans la course et on peu se réjouir qu’un fournisseur aussi jeune soit capable de fournir ce type de service.

1 – GCP

Bien que les performances de la DB de GCP soient un peu moins élevées qu’AWS elles sont plus que correcte et je dirais qu’elles sont adaptées à la taille de l’instance quand les performances des VMs de GCP sont meilleures sur tous les points, j’accorde donc ce point à GCP.

2 – AWS

AWS aurait pu être ex-aeco avec GCP pour être honnête… Je connais très bien AWS et je n’ai jamais eu à me plaindre des performances et même plutôt été agréablement surpris des capacités de certains services, comme aurora. Mais les tests étant ce qu’ils sont et devant être objectif (Je connais bien mieux AWS que GCP) ce ne serait pas juste que cela profite à l’un ou à l’autre. AWS est second et puis c’est tout ! 😀

3 – Scaleway

Bon dernier ici, pas vraiment de surprise, l’inverse aurait été étonnant, nos deux géants sont quand même des sommités dans le monde de l’innovation et de la technologie.

L’auteur

Charles-Alban, en quelques mots:

Je suis passionné de technologie et tout particulièrement d’architecture de système cloud et de base de données. De formation ops, j’ai fait évoluer ma carrière en qualité de DevOps pour ensuite devenir Data engineer.

J’aime tout particulièrement les start-up, j’aime créer les choses de zéro ou presque et les concevoir de manière scalable, sûre et performante. C’est pour cela que j’adore mon rôle de consultant qui me permet de travailler en collaboration avec des start-up différentes et les aider à se développer et leur apprendre comment tirer parti des ressources qu’offre le cloud aujourd’hui !