Nous pouvons assurément soutenir davantage de clients et de données en utilisant les volumes plus grands et plus rapides d'Amazon EBS. Nous n'avons plus peur de ne pas être en mesure de combler nos besoins en matière de stockage, car nos clusters continuent de se développer au fil du temps. 
Joseph Poirier Senior Manager of Platform Infrastructure

Bazaarvoice fournit des solutions de commerce sociales aux plus grandes marques à l'échelle internationale, y compris aux principaux détaillants mondiaux comme Best Buy et The Home Depot, ainsi qu'à des grandes marques telles qu'Adidas et Samsung. Les solutions Bazaarvoice aident les sociétés à saisir, afficher et analyser divers éléments produits par les utilisateurs, notamment les résultats, les revues, les recommandations et le contenu publié sur les réseaux sociaux à propos des marques, produits et services de ces sociétés. Les clients Bazaarvoice se servent de ces données pour augmenter leurs ventes, acquérir de nouveaux clients, améliorer leurs produits et services, et accroître la participation des utilisateurs à plusieurs canaux. Tous les mois, plus de 700 millions de personnes consultent du contenu et partagent leurs avis et expériences associés à des dizaines de millions de produits du réseau Bazaarvoice.

Depuis sa création en 2005, Bazaarvoice a toujours cherché à accroître l'élasticité de sa plateforme technologique. « Nous souhaitions passer d'une architecture SQL à cloisonnement traditionnel et d'un environnement de colocalisation géré à une architecture NoSQL plus élastique », déclare Gary Allison, vice-président exécutif du service Ingénierie de Bazaarvoice. « A titre d'exemple, à mesure que nous nous développions, nous souhaitions avoir la souplesse voulue pour acheter des capacités de stockage selon nos besoins, plutôt que de devoir faire des hypothèses à grande échelle concernant le matériel physique, qui s'avéreraient être vraies ou non », ajoute Joseph Poirier, haut responsable en charge de l'infrastructure des plateformes pour Bazaarvoice.

En 2008, Bazaarvoice s'est tournée vers le cloud pour combler ses besoins en élasticité. A l'heure actuelle, la société a transféré tous ses principaux services essentiels à son interface client sur Amazon Web Services (AWS). « Nous avons adopté très tôt AWS », explique Allison. « Afin de devenir réellement élastiques, nous savions que nous avions besoin d'un prestataire de services cloud puissant, comme AWS, pour l'hébergement de notre environnement. »

Bazaarvoice a commencé à utiliser AWS en tant que plateforme cloud principale pour son environnement. Cette société utilise plus de 20 services AWS, y compris des instances Amazon Elastic Compute Cloud (Amazon EC2) pour héberger la plateforme de son site Web, Elastic Load Balancing pour la répartition des requêtes réseau entrantes et Amazon Simple Storage Service (Amazon S3) pour le stockage des données. « Nous exécutons pratiquement tout sur AWS, notamment 50 applications liées au développement, à l'AQ et à la production », indique Allison. « A tout moment donné, nous avons environ 4 000 instances Amazon EC2 exécutées sur plusieurs zones de disponibilité. »

Amazon Elastic Block Store (Amazon EBS) est une composante essentielle de l'implémentation d'AWS par Bazaarvoice. Elle fournit des volumes de stockage permanents au niveau bloc à utiliser avec les instances Amazon EC2. « L'"aspect élastique" d'Elastic Block Store est un concept clé pour nous », ajoute Poirier. « Nous pouvons gérer notre capacité de stockage et de calcul beaucoup plus facilement en utilisant Amazon EBS. » Amazon EBS joue également un rôle essentiel pour Bazaarvoice car il achève le transfert de ses services de l'environnement de colocalisation à AWS. « Amazon EBS facilite la migration pour notre société, parce que nous avons été en mesure de tout répliquer sur AWS », déclare Allison. « Etant donné que les utilisateurs du monde entier visitent des sites de commerce électronique et lisent des revues, ils rencontrent des bases de données maîtres et esclaves, en plus des bases de données répliquées. »

En raison de la croissance rapide de ses activités, Bazaarvoice craignait les limitations potentielles des données de son déploiement existant d'Amazon EBS. « Le volume de notre contenu double tous les 18 mois et nous nous rapprochions dangereusement du volume EBS maximum d'un téraoctet », explique Poirier. « Parallèlement, nous continuons notre transition d'une base de données maître vers une architecture NoSQL, nous disposons donc de plusieurs séparations logiques de clients en clusters. Certains de ces clusters se rapprochaient de la limite d'un téraoctet pour la réplication AWS de la base de données maître. »

Par conséquent, Bazaarvoice avait peur de devoir reconcevoir certaines de ses applications. « Le volume EBS fut notre porte d'accès à AWS et il a permis de faire fonctionner tous les autres services », déclare Poirier. « Nous avions effectué un travail d'ingénierie conséquent pour réduire le volume de données que nous envoyions aux réplicas AWS, et nous avions peur de devoir déployer davantage d'efforts pour résoudre le problème de la limitation des données. »

Tandis qu'elle cherchait à relever ce défi, Bazaarvoice fut invitée par Amazon à adopter de façon précoce les nouveaux volumes EBS plus grands et plus rapides. Ces nouveaux volumes supportent jusqu'à 16 To et fournissent jusqu'à 20 000 volumes IOPS dimensionnés, à partir de 4 000 volumes IOPS pour les anciennes versions. Par ailleurs, les nouveaux volumes créés peuvent transférer les données plus de deux fois plus vite. « Nous avons eu l'opportunité de tester des volumes EBS plus grands et plus rapides, et nous avions hâte de le faire parce que cela semblait être la solution idéale à notre problème de croissance des données », explique Poirier.

Bazaarvoice fut en mesure d'évaluer les performances des nouveaux volumes EBS avant la production. « Nous avons répliqué l'un de nos plus gros clusters, qui s'approchait de sa taille maximale, et de placer une petite version de l'infrastructure de la base de données dans le nouveau volume EBS », continue Poirier. « Nous avons saisi environ une semaine de requêtes entrantes, des milliards de requêtes, et testé le nouveau volume EBS pour évaluer ses performances par rapport à celles des anciens volumes », dit-il. « Nos tests ont révélé qu'Amazon avait fourni des performances de volume EBS plus rapides que celles qu'elle avait espéré obtenir de la version bêta du programme. »

Bazaarvoice peut maintenant soutenir sans problème sa croissance de données phénoménale, et ce sans s'inquiéter des limitations des données. « Nous avons commencé à transformer certains de nos clusters pour les faire passer de volumes d'un téraoctet à des volumes de deux téraoctets, ce qui nous a permis de mieux soutenir la croissance des données. Il ne sera pas non plus difficile de les transformer en volumes de trois téraoctets, s'il le faut. Dans un environnement traditionnel, il nous faudrait des mois de planification », estime Poirier. « Nous pouvons assurément soutenir davantage de clients et de données en utilisant les volumes plus grands et plus rapides d'Amazon EBS. Nous n'avons plus peur de ne pas être en mesure de combler nos besoins en matière de stockage, car nos clusters continuent de se développer au fil du temps. »

Par ailleurs, puisqu'elle dispose de davantage d'espace de stockage de données et est en mesure d'accéder plus rapidement à ces données, la société peut se concentrer sur la conception de nouvelles applications, plutôt que de perdre plus de temps à essayer de réduire le volume des données envoyées aux réplicas AWS. « Nous envisagions de prendre un ou plusieurs clusters et de les diviser en d'autres clusters, ce qui aurait été onéreux et difficile », explique Poirier. « Il y avait également un grand nombre de liaisons entre les clusters, que nous aurions dû dupliquer également. Il s'agissait d'efforts considérables que nous ne voulions pas avoir à déployer, et nous les avons complètement évités en utilisant les volumes Amazon EBS plus grands et plus rapides. »

Bazaarvoice pourra également bénéficier de capacités de performance puissantes avec les volumes EBS plus grands et plus rapides. « Au cours de nos tests, nous avons validé l'augmentation du taux d'E/S par seconde et du débit qu'AWS nous avait indiqué, et par-dessus tout, nous avons constaté des performances aussi bonnes, voire meilleures, pour nos clusters de base de données », ajoute Poirier. « Nous sommes convaincus que nous retrouverons ces résultats au niveau de la production. » Des performances optimisées permettront à la société de recréer plus rapidement les bases de données esclaves. « Lorsque nous créons une base de données esclave, il faut du temps pour que l'instance s'échauffe à partir d'un instantané », déclare Poirier. « Pendant la phase de test, nous avons découvert que le temps d'échauffement était deux fois plus rapide avec les nouveaux volumes EBS. Cela signifie que, si nous devons mettre en service une autre base de données esclave pour gérer le trafic accru d'un site Internet, nous pourrons le faire deux fois plus rapidement. »

La société dispose également de davantage de souplesse alors qu'elle achève sa transition vers une architecture NoSQL. « Nous n'avons pas complètement fini de transférer le reste de nos bases de données sur AWS », concède Poirier. « Quand nous l'aurons fait, nous aurons davantage de solutions pour le stockage, les instances de calcul et même la tarification à la demande. » De plus, Bazaarvoice continuera de profiter de l'élasticité offerte par AWS. « EC2 est une composante essentielle de la façon dont nous servons nos clients en termes de capacité à mettre des ressources en service ou hors service pour satisfaire la demande », ajoute Poirier. « Nous pouvons effectuer des mises à niveau en toute transparence, et obtenir des prix plus intéressants et davantage de performances à chaque fois qu'Amazon présente de nouveaux types d'instances. »

Dans les mois à venir, Bazaarvoice prévoie d'élargir son implémentation d'AWS. « Notre réussite repose sur AWS et nous avons hâte d'ajouter d'autres services à l'avenir », explique Allison. « Nos homologues AWS se sont révélés être très utiles, que ce soit pour nous parler des nouvelles architectures ou des nouvelles orientations du service que nous fournissons à des centaines de millions de personnes. Puisqu'AWS alimente notre plateforme, nous pouvons nous concentrer sur l'innovation destinée à nos clients et à la réussite de leurs sociétés. »

Pour savoir comment AWS peut vous aider à gérer votre site Web, consultez notre page détaillée Sites Web et hébergement de sites Web.