Foursquare Labs, Inc. est une application sociale basée sur la géolocalisation et utilisée par 40 millions de personnes à travers le monde. Foursquare permet à ses membres de s'enregistrer pour échanger des conseils de voyage et partager leur position avec leurs amis. Plus de 1,5 million d'entreprises utilisent Foursquare Merchant Platform, une plateforme qui aide les professionnels à entretenir et à développer leur précieuse base de clientèle. Foursquare analyse plus de 4,5 milliards d'enregistrements en tout, avec des millions en plus chaque jour. L'entreprise est basée à New York City et compte 160 employés. Elle possède également des bureaux à Londres et à San Francisco.

Foursquare transmet des centaines de millions de logs d'application par jour. L'entreprise repose sur ses capacités d'analyse pour présenter le nombre d'utilisations quotidiennes, évaluer les nouvelles offres et mener des études de tendance sur le long terme. Avec plusieurs millions de nouveaux enregistrements par jour, la charge de travail ne cesse de grandir. Cependant, le système de base de données qu'utilisait Foursquare pour ses analyses imposait des frais de licence annuels très élevés et demandait beaucoup de temps à entretenir. « Il nous fallait une solution sans frais de licence annuels et permettant d'utiliser le temps de travail de manière plus rentable », explique Jon Hoffman, ingénieur logiciel.

Foursquare utilisait déjà Amazon Web Services (AWS) pour ses opérations de stockage et de test, et savait donc déjà que le cloud AWS pouvait l'aider à diminuer ses coûts. « Nous avons constaté qu'Amazon Redshift proposait les performances dont nous avions besoin, tout en nous libérant des frais de licence de notre solution précédente », raconte Jon Hoffman.

Pour ses analyses, Foursquare utilise maintenant Amazon Redshift et un outil du nom de Tableau, qui facilite l'exécution de requêtes vers la base de données. « Avec Amazon Redshift et Tableau, n'importe qui dans l'entreprise peut envoyer les requêtes qu'il souhaite, que ce soit pour voir la réaction des utilisateurs face à une fonctionnalité, pour étudier la croissance par lieu ou par groupe démographique ou encore pour évaluer l'effet des opérations commerciales dans les différentes régions. C'est un système très flexible », affirme Jon Hoffman

L'entreprise utilise Amazon Simple Storage Service (Amazon S3) pour stocker des images et d'autres types de données. « Nous avons également recours à AWS Direct Connect, ce qui nous a permis de préserver certains composants de notre ancienne infrastructure qui tournaient mieux sur Amazon Elastic Compute Cloud (Amazon EC2), mais qui proposaient un temps de latence très cours sur notre propre data center », précise Jon Hoffman.

La société exécute également des clusters de test avec Amazon EC2. Foursquare peut modifier la taille et le matériel utilisé pour ses clusters d'analyse selon l'évolution de ses besoins. Les spécialistes des données peuvent démarrer des clusters ad hoc pour réaliser des analyses urgentes, et les ingénieurs ont la possibilité d'exécuter leurs propres clusters pour tester les nouvelles applications. Les instances Amazon EC2 exécutent la distribution Linux CentOS et utilisent NGINX pour acheminer les demandes vers les services internes. HAProxy est également sollicité pour l'équilibrage de charge.

Jon Hoffman estime que Foursquare économise plusieurs dizaines de milliers de dollars par an, juste en éliminant les frais de licence. L'entreprise peut aussi déployer son personnel informatique et ses ingénieurs sur des projets plus stratégiques et plus rentables, au lieu de leur attribuer la configuration de serveurs et les opérations de sauvegarde et de maintenance.

AWS est suffisamment flexible pour permettre à l'entreprise d'accroître la taille de ses clusters selon ses besoins. « Nous pouvons gagner en capacité en seulement quelques clics, explique Jon Hoffman. L'utilisation d'AWS nous aide à monter en échelle à mesure que nos données s'accumulent et que la complexité de nos requêtes augmente. Il nous est également possible de lancer des nœuds de façon dynamique dès que nous en avons besoin, que ce soit pour lancer une nouvelle fonctionnalité ou pour étendre notre capacité. »

Jon Hoffman conclut en observant qu'Amazon Redshift permet à l'entreprise de mener des analyses plus souples tout en réalisant des économies. « Redshift nous apporte tout ce dont nous avons besoin. »

Pour en savoir plus sur comment AWS peut vous aider à lancer une application mobile, consultez la page détaillée à ce sujet à l'adresse suivante : http://aws.amazon.com/mobile-apps/.