mai 152012
 

Chez Nexylan, on adore tester tout et n’importe quoi ! Alors quand un de nos clients est venu vers nous pour s’assurer que son site de vente privée tiendrai le choc de la prochaine vente, on s’est dit que c’était l’occasion de tester du Cloud public.

Le Cloud public, c’est quoi ?

C’est la possibilité d’avoir accès à une puissance informatique illimitée que l’on paye à la consommation. C’est un peu comme EDF : on considère que c’est illimité (à l’échelle de la maison, de l’entreprise, ou même du pays), l’on paye uniquement ce que l’on utilise.

Le Cloud public, sous quelle forme ?

Il existe principalement 3 types de services Cloud :

  • Le IaaS : du serveur (AWS, Rackspace, Joyent, etc…
  • Le PaaS : de l’hébergement basé sur un langage en particulier (Azure avec le .Net, Heroku avec leRuby, Google Engine avec GWT, etc.)
  • Le SaaS : de l’application (BaseCamp, Google Apps, etc.)

Etude de cas

L’architecture est simple : un serveur web (Nginx), des serveurs PHP (FPM) alimentés par un load-balancer (HaProxy) et une base de données (MySQL). La boutique de vente-privée a été intégrée sur la solution Open-Source Prestashop (dernière version).

Nous savons que si le nombre de visiteurs est important, c’est la partie PHP et la base de données qui vont souffrir le plus. Nous avons donc défini 2 cas de figures :

  • Les serveurs PHP/FPM dans le Cloud
  • Les serveurs PHP/FPM et la base de données MySQL dans le Cloud

 

A l’aide de nos outils de Benchmark (aka « lance-requêtes » ou « lance-patates»), nous avons simulé des visites sur le site, allant de 1 à 1000 utilisateurs simultanés (1 visiteur étant considéré comme un psychopathe qui rafraichit sa page 1 fois par seconde avant l’ouverture de la vente privée).

Quel Cloud ?

Côté Cloud, le choix a été plutôt simple : Amazon Web Services (N°1 en IaaS), et Rackspace (le N°2).

Résultats des tests

Après 2 semaines de tests intenses et d’optimisations, voici notre bilan :

  • Le nombre de CPU chez Rackspace est limité à 4, ce qui est trop peu pour nos besoins.
  • Les temps de création de machines chez Rackspace sont particulièrement longs (jusqu’à 5min). Depuis qu’AWS a ajouté des fonctions de check sur la création de ses serveurs, le temps est presque identique. Pas facile d’être réactif si on perd 5min par serveur…
  • La distribution Gentoo, qui représente la quasi-totalité du parc Nexylan, n’existe pas chez Amazon en tant que distribution officielle.
  • S’il est possible de stopper un serveur chez AWS (et de ne plus être facturé), ce n’est pas le cas chez Rackspace. Il est possible de s’en sortir en faisant une sauvegarde de la machine, et d’en recréer une nouvelle à partir de là. On perd donc 5min à nouveau.
  • Les performances MySQL de la solution RDS (hébergement de base de données) sont bien inférieures à ce que nous avons sur nos propres machines, alors que la configuration matérielle est inférieure chez nous.
  • Les temps de lecture / écriture sur les disques sont courts chez Rackspace, ce qui est un bon point. Cette vitesse est identique quelle que soit la taille de la machine que l’on prends. Ce qui n’est pas le cas chez AWS : pour obtenir des performances similaires, il faut prendre les machines les plus chères…
  • Les réseaux d’AWS et de Rackspace sont publics. Ce qui signifie qu’en terme de sécurité, il est nécessaire de passer en SSL pour les transactions MySQL. Bien que possible, cela joue beaucoup sur les performances de façon significative.
  • Le réseau chez AWS est très problématique avec une configuration vraiment spécifique. Il se trouve que les machines ne sont pas directement accessibles par Internet (NAT), ce qui n’arrange rien aux temps de réponse :
    • 15ms pour relier notre réseau à celui d’AWS
    • 15ms supplémentaire pour accéder au serveur à partir du réseau AWS

Au total, 30ms séparent donc nos serveurs internes à ceux d’Amazon. C’est beaucoup trop pour être efficace. Prestashop effectuant des centaines de requêtes pour chaque page de la boutique de notre client, si on multiplie par la latence, le temps total de chargement devient vite inacceptable.

Chez Rackspace, situé en Angleterre, le temps de réponse est de 10ms, ce qui est bien plus acceptable mais toujours impactant.

En conclusion, le résultat de notre étude est décevant. Bien qu’attrayant à la base, les solutions Cloud proposées par Rackspace et Amazon ne répondent pas à toutes les promesses qu’on attend du Cloud (rapidité d’installation, puissance temporaire, facturation à l’heure, etc…).

Dans notre cas d’étude, leur offre est parfaite pour des plateformes « full » hébergées chez eux (Web, load-balancer, PHP, MySQL)… Autant dire que pour un site e-commerce de vente privée (concept évènementiel), le tarif atteint vite des sommets comparé à un hébergement dédié (par exemple).

Pour ce client, nous avons choisi de passer par notre propre Cloud, d’ailleurs vous en saurez plus très prochainement ;-)
 

mai 092012
 

Ce mois-ci, Jonathan intégère Nexylan et rejoint le reste de l’équipe en plein développement !

D’un profil orienté système, Jonathan amène avec lui toute l’expérience qu’il a acquise lors de ses précédents postes : maitrise des environnements Linux, plateformes Web à fort-trafic, projet Open-Source, et surtout, intégration et exploitation de plateformes dans le Cloud.

Son expérience et ses compétences vont être un véritable atout pour renforcer l’équipe technique. Il vient développer l’exploitation des plateformes existantes, apporter un oeil neuf sur notre organisation tout en proposant des améliorations et des évolutions qui vont venir renforcer la qualité de service que l’on propose à nos clients.

Enfin, il vient surtout pour développer de nouveaux produits et proposer de nouvelles solutions innovantes à nos clients, notamment liées au Cloud. Vous en entendrez parler prochainement ;-)

Bienvenue dans l’équipe !

nov 252010
 

Lorsqu’on débute en CSS, le lancer de PC ou MAC à travers la fenêtre du sixième étage de votre immeuble devient monnaie courante.

Par exemple le fameux bug de IE6 (Internet explorer 6) lorsqu’on couple un float et un margin où on voit le margin se faire multiplier par 2.
Continue reading »

nov 242010
 

Chaque jour, nous rencontrons de nouveaux défis. Généralement, il s’agit de difficultés déjà rencontrées par le passé qui ne demandent qu’à être résolues en quelques minutes.

Mais début novembre, c’est pour gérer un incident totalement inédit et particulièrement périlleux qu’est venu nous voir le webmaster du site Zimagez.

Continue reading »