Airbnb est une place de marché communautaire qui permet aux propriétaires et aux voyageurs d'entrer en contact pour louer des lieux de vacance uniques dans le monde entier. Les activités de la communauté d’utilisateurs d’Airbnb sont réalisées sur le site de la société et via son application iPhone et Android. Basée à San Francisco, Airbnb a lancé ses opérations en 2008 et compte actuellement des centaines d’employés dans le monde pour proposer la locations de propriétés dans environ 25 000 villes de 192 pays.

Airbnb met automatiquement son infrastructure à l'échelle à l'aide d'AWS. (3:18)

airbnb-thumb

Un an après son lancement, Airbnb a décidé de faire migrer la majeure partie de ses fonctions de cloud computing vers Amazon Web Services (AWS) à cause de problèmes d’administration de service rencontrés avec l’ancien fournisseur. Nathan Blecharczyk, co-fondateur et directeur technique d’Airbnb rapporte « qu’au départ, l’intérêt d’AWS a été la simplicité de gestion et de personnalisation de stack. C’était génial de pouvoir ajouter des serveurs sans avoir à contacter qui que ce soit et sans engagements d’utilisation minimale. Alors que la société a continué de grandir, nous nous sommes de plus en plus fiés au cloud d’AWS et à ce jour, nous avons adopté pratiquement toutes les fonctionnalités que propose AWS. AWS offre une réponse simple à toute entreprise web souhaitant passer au niveau supérieur. »

Ces trois dernières années, Airbnb s’est énormément développée. Pour soutenir la demande, la compagnie utilise 200 instances Amazon Elastic Compute Cloud (Amazon EC2) pour son application, le memcache et ses serveurs de recherche. Dans Amazon EC2, Airbnb utilise Elastic Load Balancing qui répartit automatiquement le trafic entrant sur plusieurs instances Amazon EC2. Pour traiter et analysez facilement 50 gigaoctets de données quotidiennes, Airbnb utilise Amazon Elastic MapReduce (Amazon EMR). Airbnb utilise également Amazon Simple Storage Service (Amazon S3) pour héberger les fichiers de sauvegarde et statiques, y compris 10 téraoctets de photos d’utilisateurs. Pour surveiller les ressources de tous ses serveurs, Airbnb utilise Amazon CloudWatch, qui permet à la société de superviser en toute simplicité toutes ses ressources Amazon EC2 via AWS Management Console, les outils de ligne de commande ou une API de services web.

De plus, Airbnb a déplacé sa base de données MySQL principale vers Amazon Relational Database Service (Amazon RDS). Airbnb a choisi Amazon RDS, car le service simplifie une grande partie des tâches administratives chronophages généralement associées aux bases de données. Amazon RDS permet de réaliser des procédures difficiles, comme la réplication et le dimensionnement, grâce à un appel d’API basique ou via AWS Management Console. Airbnb utilise actuellement un déploiement sur plusieurs zones de disponibilité (AZ) pour automatiser davantage la réplication de ses bases de données et améliorer la durabilité des données.

Airbnb a pu procéder à la migration de l'ensemble de ses bases de données vers Amazon RDS en ne subissant que 15 minutes d'interruption. Cette transition rapide a été très importante pour la croissance rapide d’Airbnb qui ne voulait pas que sa communauté d’utilisateurs soit coupée de ses services trop longtemps. Tobi Knaup, ingénieur chez Airbnb déclare, « Grâce à AWS, il y a toujours eu une réponse simple (en termes de temps nécessaire et de coûts) pour le dimensionnement du site. »

Airbnb estime qu'AWS lui a permis d'économiser au moins un poste d'exploitation. De plus, l'entreprise affirme que la flexibilité et la réactivité d'AWS l'aident à se préparer à une plus forte croissance. D’après Knaup, « Nous avons remarqué qu’Amazon Web Services est attentif aux besoins de ses clients. Si une fonctionnalité n’existe pas encore, ce n’est certainement qu’une question de mois. Les faibles coûts et la simplicité de ses services ont été décisifs dans la décision de passer au cloud AWS. »

Pour en savoir plus sur la façon dont AWS peut vous aider à répondre aux besoins de vos applications web, consultez la page dédiée aux applications web, mobiles et réseaux sociaux : http://aws.amazon.com/web-mobile-social/.

Vous trouverez davantage d’informations sur la migration d’Airbnb vers Amazon RDS sur http://nerds.airbnb.com/mysql-in-the-cloud-at-airbnb.