Utilisation d’AWS comme infrastructure pour l’application « 9999 Tet » à fort trafic

DANS CET ARTICLE

Nom du partenaire : Rikkeisoft Co., Limited

Étude de cas : Utilisation d’AWS comme infrastructure pour l’application « 9999 Tet » à fort trafic

Périmètre : Développement, déploiement et maintenance

Système d’exploitation : Amazon Linux

Base de données : MySQL

Services AWS : Amazon Elastic Beanstalk, Amazon EC2, Amazon RDS for MySQL, Amazon S3, Amazon Elastic Load Balancing, Amazon ElastiCache for Redis, Amazon CloudFormation, Amazon CloudWatch, Amazon Route 53

 

Informations client :

Nom du client : AIC Joint Stock Company

Secteur : Non divulgué

Nombre d’employés : plus de 1200

Année de création : 2005

URL du système : https://api.tetvietaic.com/api/appstatus

 

Besoin du client :

Notre client, AIC Group, avait pour projet de créer une application destinée aux utilisateurs vietnamiens à l’occasion du Nouvel An chinois au Vietnam, également appelé le Têt. Rikkeisoft a été chargée de l’ensemble des services de conception, de développement, de déploiement et de maintenance. « 9999 Tet » a été conçue comme une application tout-en-un, fournissant des informations sur le Têt dans diverses catégories telles que la culture, le divertissement, la spiritualité, la circulation, la santé et le shopping, etc.

En raison de la nature de l’application, on s’attendait à un pic de trafic durant la période entourant le réveillon du Nouvel An. Par exemple, cette application proposait notamment une fonctionnalité appelée « Lucky Money Shake », qui permettait aux utilisateurs de secouer leur appareil mobile pour recevoir de l’argent porte-bonheur sous forme de cartes-cadeaux pendant le réveillon du Nouvel An. Après le Têt, le trafic devait diminuer considérablement.

AIC souhaitait une solution d’infrastructure flexible, capable de monter automatiquement en charge durant les périodes de pointe, puis de revenir à une charge normale par la suite. Sur le plan de la sécurité, la solution souhaitée devait être robuste face aux attaques malveillantes. Par ailleurs, la solution ne devait pas exiger trop d’efforts humains pour sa surveillance et sa maintenance.

 

Notre solution proposée :

En raison de la nature de l’activité de notre client, AIC s’appuyait jusque-là sur une infrastructure physique ; toutefois, nous avons constaté que, dans ce cas de figure, une approche fondée sur le cloud serait plus avantageuse en termes de temps et de coûts, car l’ensemble du processus de développement et de mise en production ne disposait que de 1,5 mois. C’est pourquoi nous avons proposé AWS comme fournisseur d’infrastructure, grâce à son évolutivité et à sa flexibilité.

Le backend a été développé en Python Django sous la forme d’une application web standard ; AWS Elastic Beanstalk a donc été utilisé pour rationaliser le processus de déploiement. Pour la mise à l’échelle automatique, nous avons proposé d’utiliser AWS CloudWatch afin de surveiller la charge et AWS Autoscaling pour gérer les clusters d’AWS EC2. AWS LoadBalancer a été proposé pour se connecter à ces clusters.

Pour le stockage des données, nous avons proposé une combinaison de trois services :

  • AWS ElasticCache pour la mise en cache de l’application.

  • AWS RDS pour la base de données. Dans notre cas, un cluster RDS MySQL a été proposé avec une configuration à réplique active.

  • AWS S3 pour le stockage et la distribution des médias, y compris le contenu publié, le contenu généré par les utilisateurs ainsi que les ressources telles que les plugins ou les contenus statiques.

Pour la sécurité, nous avons proposé le VPC afin d’isoler les réseaux privés (environnement de développement et nœuds exécutant le CMS) et publics (nœuds pour l’API de l’application).

AWS Route 53 a également été proposé pour la gestion des noms de domaine.

 

Résultats :

Durant les heures de pointe, nous avons augmenté ElasticCache pour améliorer les performances, la plupart des utilisateurs demandant le même contenu. Après l’événement, ElasticCache a été réduit à une instance plus petite afin de réduire les coûts.

Aucun incident de surcharge des serveurs n’a été signalé durant la période entourant le Nouvel An chinois.

L’application a servi plus de 1 million d’utilisateurs et a offert de bonnes performances durant le Têt.

  • Plus de 1 million d’installations de l’application sur Google Play Store et Apple Store

  • Plus de 8000 utilisateurs en ligne durant les heures de pointe

  • Plus de 1,2 million de transactions Lucky Money Shake.

 

Retour du client :

Notre client s’est déclaré satisfait de notre solution reposant sur l’infrastructure AWS, tant sur le plan de la qualité de service que de la rentabilité.

Ce projet a constitué la première expérience d’AIC avec AWS et a été considéré comme une réussite, qui ouvrira la voie à d’autres cas d’usage à l’avenir.

 

Durée du projet : 1.5 mois

 

Architecture du système :

 

Prêt à transformer les analyses en actions ?

Parlez-nous de votre défi ! Nous trouverons ensemble la bonne solution.

Envoyez-nous un message