Aujourd'hui, lorsqu'on souhaite héberger une application web un peu conséquente le recours à un (ou plusieurs) serveurs dédiés n'est plus la seule solution. On s'oriente de plus en plus souvent vers un système virtualisé offrant beaucoup plus de souplesse et d’options en matière d'administration. Je suis pour ma part entièrement convaincu par ce type d'offres et je ne vois plus beaucoup d’intérêt à opter pour un "vrai" serveur dédié ...
On trouve de nombreux acteurs sur ce marché, mais j'ai décidé de me concentrer sur 3 fournisseurs de serveurs privés virtuels particulièrement bien implantés sur ce secteur : Amazon avec son offre "Elastic Cloud Computing / EC2", Linode et DigitalOcean.
Comparer leurs offres n'est pas simple. En effet certains fournisseurs comme Amazon propose une multitude de configurations différentes ...
J'ai donc arbitrairement décidé de me mettre à la place d'un bloggeur souhaitant héberger son site avec un budget mensuel aux alentours de 20$. J'ai mis en place une méthodologie de test (certainement perfectible) permettant de comparer les points suivants : les performances des accès disques, des processeurs, de la mémoire ainsi que de la connectivité réseau.
Les outils utilisés sont les suivants :
- "fio" : pour le premier test d'accès disques. Le test est basé sur une lecture aléatoire
- "hdparm" : pour le deuxième test d'accès disques (test réalisé sans cache)
- "sysbench" : pour le test du processeur et de la mémoire
- "byte-unixbench" : pour obtenir un score de performance global
- "Speedtest_Cli" : pour le test de débit (raccordement à l'Internet - les tests sont effectués en sélectionnant les serveurs d'OVH à Roubaix comme cible)
Afin de réaliser ces tests, j'ai commandé (le dimanche 13/4/2014) 3 serveurs virtuels auprès des différents fournisseurs. Ces serveurs étaient tous équipés d'une distribution "Ubuntu 13.10 - 64bits" et localisés en Europe (Irelande pour Amazon, Amsterdam pour DigitalOcean et Londres pour Linode). Les tests réalisés sont rigoureusement identiques sur les 3 VPS.
Les résultats des tests sont les suivants :
Test | Amazon EC2 | DigitalOcean | Linode |
---|---|---|---|
HD test1 (bande passante) | 9,56Mo/s | 48,31Mo/s | 13,21Mo/s |
HD test2 (iops) | 2 391 iops | 12 800 iops | 3 301 iops |
HD Hdparm (sans cache) | 9,76Mo/s | 379,81Mo/s | 223,68Mo/s |
CPU (durée du calcul) | 18,47s | 14,45s | 11,91s |
MEM (durée du test) | 9,30s | 7,52s | 12,53s |
MEM (bande passante) | 5 504Mo/s | 6 807Mo/s | 4 085Mo/s |
score "Byte Unix" (1 proc) | 235,7 | 1 167,7 | 522,2 |
Score "Byte Unix" (tous les procs.) | 235,7 | 1 939,5 | 1 563.3 |
Speedtest Download | 87,28Mbit/s | 785.05Mbit/s | 691,19Mbit/s |
Speedtest Upload | 106,12Mbit/s | 104,59Mbut/s | 160,22Mbit/s |
Les caractéristiques (en date du 13/4/2014) des différentes offres souscrites pour ces tests sont les suivantes :
- Amazon AWS EC2
- instance de type "t1.micro" (à la demande)
- abonnement mensuel : 22,05$
- ram : 615Mo
- disque : 30Go (EBS)
- bande passante par mois : 51 Go
- Mode de calcul du prix mensuel :
- instance : 14,40$ / mois
- disque EBS : 30Go x 0.055$ / mois = 1,65$ / mois
- bande passante : 50Go x 0,120$ / mois = 6 $ / mois
- DigitalOcean (premier pour 8 critères)
- offre : "2Go"
- abonnement mensuel : 20$
- ram : 2Go
- disque : 40Go
- bande passante par mois : 3 To
- Linode (premier pour 2 critères)
- offre "Linode 1GB"
- abonnement mensuel : 20$
- ram : 1Go
- disque : 48Go
- bande passante par mois : 2To
C'est donc l'offre de DigitalOcean (premier pour 8 critères) qui présente les meilleures caractéristiques (pour un budget mensuel d'environ 20$). Le fait d'utiliser, en standard, des disques SSD lui donne un avantage certain sur ses concurrents (12 800 iops en lecture !). L'offre de Linode (premier pour 2 critères) est en deuxième position suivi par Amazon.
A signaler également le coût relativement important de la bande passante pour l'offre d'Amazon. En effet seul 1Go est intégré au coût mensuel de l'instance et le Go supplémentaire est facturé 0,12$ (pour une consommation inférieure à 1To / mois - une dégressivité est ensuite appliquée - attention quand même car 1To = 1000Go = 1000 x 0,12$ = 120$ / mois ...).
Il ne faut pas interpréter ce test trop négativement pour Amazon. En effet comme je l'ai précisé au début de ce billet le scénario retenu ici pour comparer les offres est spécifique (cas d'un bloggeur avec un budget mensuel de 20$ / mois ...). Amazon propose des offres très performantes mais avec un positionnement plus haut de gamme et destinées principalement aux entreprises. A signaler également qu'Amazon propose gratuitement des fonctionnalités spcécifiques et exclusives : load balancer, création automatique et "à la volée" de nouvelle instances en fonction de la charge ... On ne trouve actuellement pas d'équivalent chez les autres prestataires.
Bref, si vous disposez d'un budget de 20$ / mois et que vous souhaitez mettre en place un VPS, c'est probablement vers DigitalOcean que vous devez vous orienter !
Ce type d'offres étant en perpétuelle évolution je pense réaliser régulièrement d'autres tests de ce style en conservant ces 3 prestataires et en y ajoutant éventuellement d'autres fournisseurs.
- crédit photo : "BobMical"