customer_landing_page_graphics166x_pokemon_co

Pokémon Company migre vers des bases de données AWS dédiées

2020

Lancée en 1996 au Japon, la société Pokémon est devenue l'une des marques de divertissement les plus populaires au monde. Des centaines de millions de personnes de tous âges font évoluer des créatures Pokémon et les font s'affronter grâce au jeu de cartes Pokémon et au jeu mobile Pokémon GO.

À Bellevue, Washington, des ingénieurs chez Pokémon Company International (TPCi) ont pour mission de s'assurer que les fans de Pokémon en dehors de l'Asie peuvent suivre leur progression grâce à des comptes utilisateurs complets. Cette solution, dénommée Pokémon Trainer Club, doit non seulement offrir une expérience harmonieuse dès qu'un « formateur » souhaite se connecter, mais aussi respecter la loi relative à la protection de la vie privée infantile en ligne et le règlement général sur la protection des données.

« Notre système de profils utilisateurs est majoritairement composé de deux ensembles de données : les utilisateurs de Pokémon GO et les utilisateurs du jeu de cartes Pokémon », explique Jeff Webb, responsable développement chez TPCi. « Les profils utilisateurs de différents types de jeux demandent une maintenance et des processus différents, mais ils sont tous présents dans le système Pokémon Trainer Club. En raison de la complexité et du volume de données que nous traitons, l'évolutivité et la fiabilité des bases de données sont deux éléments essentiels pour offrir une expérience utilisateur exceptionnelle. »

Après le lancement de Pokémon GO en 2016, le nombre d'utilisateurs demandant d'accéder à ce système a augmenté pour franchir la barre des 300 millions en deux ans. La société a décidé de migrer vers une solution entièrement gérée pour libérer du temps et des ressources, afin de se concentrer sur les initiatives stratégiques.

démarrer un didacticiel python
CustomerReferences_QuoteMark

Grâce à Amazon Aurora, nous sommes passés de 300 à 30 nœuds, et nous ne devons plus payer de licences de bases de données. Les coûts mensuels de notre base de données ont diminué de dizaines de milliards de dollars par mois. »

Jeff Webb
Responsable développement, Pokémon Company International

La guerre des bases de données

Le Pokémon Trainer Club était à l'origine pris en charge par une base de données de documents NoSQL tierce, qui comprenait toutes les données des profils utilisateurs et les journaux de modifications de plus de 300 millions d'utilisateurs de Pokémon GO. Les partitions de bases de données comprenaient la base de données principale des créatures Pokémon, les données des utilisateurs en ligne des jeux de cartes et les données des groupes de « jeu organisé » en personne. Memcached a permis d'accéder rapidement aux données de la session de l'utilisateur. La société a hébergé sa base de données et son système de mise en cache de la mémoire sur Amazon Elastic Compute Cloud (Amazon EC2). La solution Elastic Load Balancing gérait le trafic et Amazon Simple Storage Service (Amazon S3) stockait les objets. « Nous avons choisi notre précédente base de données NoSQL en raison de sa recherche rapide », explique Jeff Webb. « Nous nous sommes toutefois rendus compte que pour atteindre la vitesse que nous voulions, nous allions devoir gérer de nombreux indices et nœuds complexes : plus de 300 à un certain point. »

Assurer une exécution parfaite des nœuds n'était pas une chose facile. Lorsque les index ou les nœuds de base de données sont devenus indisponibles, la latence a augmenté. Si un nœud Memcached tombait en panne, les utilisateurs ne pouvaient pas du tout se connecter. Lorsque les nœuds principaux tombaient en panne, l'équipe devait se consacrer à 100 % pour les reconstruire, alors que le système fonctionnait grâce à des nœuds de sauvegarde. Après des années marquées par des soucis de gestion, exacerbés par l'afflux massif d'utilisateurs de Pokémon GO, TPCi a décidé de migrer vers Amazon Web Services (AWS) pour ses services de bases de données entièrement gérés.

« Nous étions satisfaits des performances et de la fiabilité d'Amazon EC2, d'Elastic Load Balancing et d'Amazon S3 », explique Jeff Webb. « Nous avons donc décidé d'étudier les services de bases de données gérés par AWS. » L'équipe a procédé à des tests approfondis afin de trouver une solution qui répondrait à ses besoins en termes de sécurité, d'évolutivité, de performance et de résilience. Ils ont alors choisi Amazon Aurora, compatible avec PostgreSQL. « Étant donné que les requêtes d'authentification représentent la majorité du trafic TPCi, nous avons choisi Amazon Aurora PostgreSQL pour ses fonctions de sécurité au niveau de l'entreprise, dont le chiffrement au repos et en transit, ainsi que sa fiabilité dans un environnement multi-région. »

L'équipe a également décidé de migrer la mise en cache des utilisateurs vers Amazon ElastiCache, utilisant à la fois Redis et Memcached. Redis place les tâches dans une file d'attente pour les nouveaux utilisateurs afin qu'ils soient invités à effectuer des tâches post-authentification, comme l'acceptation des conditions générales. Memcached permet de maintenir les tickets en activité, afin que les sessions des utilisateurs existants ne soient pas interrompues lorsque de nouveaux utilisateurs les rejoignent. L'équipe a migré les données de configuration globale et de durée de vie (TTL) vers Amazon DynamoDB, une base de données de valeurs clés proposant des performances à l'échelle de l'ordre de quelques millisecondes. Ils ont également migré vers Amazon S3 les données des événements, comme l'historique de connexion et les enregistrements d'audit de modification des utilisateurs.

Réduction des coûts, augmentation des capacités sans aucune interruption

Les magasins de données non relationnelles ont été migrés en premier. Ce fut ensuite le tour des données utilisateurs et des partitions de bases de données vers Amazon Aurora. Le projet n'a pris que neuf mois. « Nous avons passé les premiers mois à créer des cas d'utilisation et des tests de pression », explique Jeff Webb. « Ensuite, nous avons mis en relation toutes les données et déconstruit les données JSON. Nous avons terminé la migration sans que notre processus d'authentification connaisse la moindre interruption, ce qui est exceptionnel quand on sait que 300 personnes se connectent au Pokémon Trainer Club chaque seconde à travers le monde. »

Depuis la migration, TPCi a considérablement réduit le temps et l'argent investis dans les bases de données. « Grâce à Amazon Aurora, nous sommes passés de 300 à 30 nœuds, et nous ne devons plus payer de licences de bases de données », explique Jeff Webb. « Les coûts mensuels de notre base de données ont diminué de dizaines de milliards de dollars par mois. Plus important encore, nous avons connu 168 heures d'interruption ou de dégradation des performances au cours des six mois précédant la migration. Depuis la migration, nous n'avons eu aucune interruption. »

Cette migration a également offert d'autres avantages. « Grâce aux réglages TTL intégrés dans Amazon DynamoDB, nous pouvons suivre lorsqu'un utilisateur dépasse le seuil maximal de tentatives de connexion et lui refuser l'accès », poursuit Jeff Webb. « Cela a permis de réduire de 90 % les tentatives de connexion par des robots, ce qui libère des ressources du système pour les utilisateurs légitimes et diminue notre besoin d'augmenter nos ressources. »

L'utilisation du service Amazon ElastiCache entièrement géré réduit considérablement la surcharge liée à la gestion des nœuds Memcached. Les données des sessions utilisateurs et les états des tickets stockés dans le cluster ont accéléré le processus d'authentification. De même, les utilisateurs n'ont plus besoin de conserver une connexion à un seul serveur.

La réduction du temps nécessaire à la gestion des bases de données permet de libérer du temps pour l'innovation. La société envisage d'utiliser le calcul serverless, les containers et les microservices pour encore plus d'efficacité et de performance. Alors que ses services continuent à s'améliorer, TPCi permet à des millions de personnes à travers le monde de découvrir l'univers Pokémon à la demande.

Pour en savoir plus, consultez le site aws.amazon.com/gametech/databases.


Pokémon Company International

Pokémon Company International, une filiale de Pokémon Company au Japon, gère la marque en dehors de l'Asie et est responsable de la gestion de la marque, du jeu de cartes Pokémon, du divertissement à domicile et du site Web Pokémon officiel.

Avantages d'AWS

  • Réduit les coûts mensuels de dizaines de milliards de dollars
  • Réduit le nombre de nœuds de 300 à 30
  • Réduit de 90 % les tentatives de connexion par des robots
  • Élimine les coûts liés aux licences de bases de données
  • Aucune heure d'interruption ou de dégradation des performances après la migration
  • Gère jusqu'à 300 connexions par seconde

Services AWS utilisés

Amazon Aurora

Amazon Aurora est une base de données relationnelle compatible avec MySQL et PostgreSQL créée pour le cloud, qui associe les performances et la disponibilité des bases de données d'entreprises traditionnelles à la simplicité et à la rentabilité des bases de données à source libre.

En savoir plus »

Amazon ElastiCache

Amazon ElastiCache vous permet de configurer, d'exécuter et de mettre à l'échelle de manière transparente les magasins de données en mémoire compatibles open source courants dans le cloud. Créez des applications à utilisation intensive des données ou améliorez les performances de vos applications existantes en récupérant des données à partir de magasins de données en mémoire à haut débit et à faible latence. Amazon ElastiCache est une solution plébiscitée pour les cas d'utilisation en temps réel comme la mise en cache, les magasins de sessions, les jeux, les services géospatiaux, l'analyse en temps réel et la file d'attente.

En savoir plus »

Amazon DynamoDB

Amazon DynamoDB est une base de données de clés-valeurs et de documents, offrant des performances de latence de l'ordre de quelques millisecondes, quelle que soit l'échelle. Il s'agit d'une base de données multi-région et multi-maître et durable entièrement gérée avec un système intégré de sécurité, de sauvegarde, de restauration et de mise en cache en mémoire pour les applications à l'échelle d'Internet.

En savoir plus »

Amazon S3

Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objet offrant une évolutivité, une disponibilité des données, une sécurité et des performances de pointe. Les clients de toutes tailles et de tous secteurs peuvent ainsi utiliser ce service afin de stocker et protéger n'importe quelle quantité de données pour un large éventail de cas d'utilisation comme des sites web, des applications mobiles, la sauvegarde et la restauration, l'archivage, des applications d'entreprise, des appareils IoT et des analyses du Big Data.

En savoir plus »


Démarrer

Les entreprises de toutes tailles et de tous les secteurs d'activités transforment et exécutent chaque jour leurs missions à l'aide d'AWS. Contactez nos spécialistes et entamez votre transition vers le cloud AWS dès aujourd'hui.