customer_landing_page_graphics166x_pokemon_co

The Pokémon Company migra a bases de datos personalizadas de AWS

2020

Tras su lanzamiento en Japón en 1996, Pokémon se ha convertido en una de las marcas de entretenimiento más conocidas en todo el mundo. Cientos de millones de personas de todas las edades disfrutan al entrenar a las criaturas de Pokémon y al luchar con ellas a través del juego de cartas coleccionables de Pokémon y el juego móvil Pokémon GO.

En Bellevue, Washington, los ingenieros de The Pokémon Company International (TPCi) son los responsables de asegurarse de que los seguidores de Pokémon fuera de Asia puedan hacer un seguimiento de sus logros a través de cuentas de usuario con todas las funciones. Conocido como el club de entrenadores Pokémon, la solución no solo debe ofrecer una experiencia perfecta cada vez que un “entrenador” quiera inscribirse, sino que también debe cumplir con la ley de protección de la privacidad infantil en Internet y el reglamento general de protección de datos.

“Nuestro sistema de perfiles de usuario está compuesto en gran medida por dos conjuntos de datos: los usuarios de Pokémon GO y los usuarios del juego de cartas coleccionables de Pokémon”, dice Jeff Webb, director de desarrollo de TPCi. “Los perfiles de usuario de los diferentes tipos de juego requieren diferentes procesos y mantenimiento, pero todos ellos habitan el sistema del club de entrenadores de Pokémon. Debido a la complejidad y el volumen de los datos que gestionamos, la escalabilidad y la fiabilidad de la base de datos son absolutamente críticas para ofrecer una gran experiencia al usuario”.

Tras el lanzamiento de Pokémon GO en 2016, el número de usuarios que requieren acceso a este sistema aumentó a más de 300 millones en dos años. La compañía optó por migrar a una solución completamente administrada para liberar tiempo y recursos para centrarse en iniciativas estratégicas.

iniciar un tutorial de python
CustomerReferences_QuoteMark

Mediante el uso de Amazon Aurora, pasamos de 300 nodos a 30, y ya no debemos pagar por licencias de bases de datos. El costo mensual de nuestra base de datos ha disminuido en decenas de miles de dólares cada mes”.

Jeff Webb
Gerente de desarrollo, The Pokémon Company International

La batalla de las bases de datos

Originalmente, el club de entrenadores de Pokémon se basaba en una base de datos de documentos NoSQL externa, que contenía todos los datos de perfiles de usuario y registros de cambios de más de 300 millones de usuarios de Pokémon GO. Los fragmentos de la base de datos contenían la base de datos principal de las criaturas Pokémon, los datos de los usuarios del juego de cartas coleccionables en línea y los datos de los grupos de “juegos organizados” presenciales. Memcached permitía un acceso rápido a los datos de la sesión del usuario. La compañía alojaba su base de datos y su sistema de almacenamiento en caché en Amazon Elastic Compute Cloud (Amazon EC2), mientras que Elastic Load Balancing administraba el tráfico y Amazon Simple Storage Service (Amazon S3) se encargaba del almacenamiento de objetos. “Elegimos nuestra anterior base de datos NoSQL por sus rápidas búsquedas”, señala Webb. “Sin embargo, descubrimos que alcanzar la velocidad que queríamos requería mantener muchos índices y administrar muchos nodos complejos, que alcanzaron a superar los 300 en algún momento”.

Mantener los nodos en funcionamiento sin problemas era un desafío. Cuando los nodos de índice o de base de datos no estaban disponibles, aumentaba la latencia. Si un nodo de Memcached se caía, los usuarios no podían iniciar sesión. Cuando se presentaban errores en los nodos de datos primarios, el equipo tenía que suspender sus actividades para dedicarse a reconstruirlos mientras el sistema funcionaba con los nodos de reserva. Tras años de problemas de administración diaria, agudizados por la afluencia masiva de usuarios de Pokémon GO, TPCi decidió migrar a Amazon Web Services (AWS) para obtener sus servicios de bases de datos completamente administrados.

“Estábamos satisfechos con el rendimiento y la fiabilidad de Amazon EC2, Elastic Load Balancing y Amazon S3”, recuerda Webb. “Por eso decidimos investigar los servicios de bases de datos administrados por AWS”. El equipo realizó pruebas exhaustivas para encontrar una solución que satisficiera sus necesidades de seguridad, escala, rendimiento y resistencia, y finalmente optó por Amazon Aurora con compatibilidad con PostgreSQL. “Debido a que las solicitudes de autenticación constituyen la mayoría del tráfico de TPCi, seleccionamos PostgreSQL de Amazon Aurora por sus características de seguridad de nivel empresarial, incluido el cifrado en reposo y en tránsito, además de su fiabilidad en un entorno que se extiende por varias regiones”.

El equipo también decidió trasladar el almacenamiento en caché de los usuarios a Amazon ElastiCache, con las ventajas de Redis y Memcached. Redis asigna las tareas a la cola para los nuevos usuarios, de modo que se les puede pedir que completen tareas posteriores a la autenticación, como la aceptación de los términos y condiciones. Memcached ayuda a mantener los tickets activos para que las sesiones de los usuarios existentes no se interrumpan cuando se incorporan nuevos usuarios. El equipo migró la configuración global y los datos de tiempo de vida (TTL) a Amazon DynamoDB, una base de datos de clave valor que ofrece rendimiento en milisegundos de un solo dígito a escala. Además, trasladaron datos de eventos, como el historial de inicio de sesión y los registros de auditoría de cambios de usuario, a Amazon S3.

Reducción de costos, aumento de la capacidad y sin tiempo de inactividad

Primero se migraron los almacenes de datos no relacionales, seguido de los datos de usuarios y los fragmentos de bases de datos a Amazon Aurora. El proyecto se llevó a cabo en solo nueve meses. “Dedicamos los primeros meses a crear casos de uso y pruebas de presión”, dice Webb. “A continuación, relacionamos todos los datos y descompusimos los datos de JSON. Completamos la migración sin tiempo de inactividad para nuestro proceso de autenticación, lo cual es notable considerando que 300 personas se conectan al club de entrenadores de Pokémon cada segundo desde todo el mundo”.

Desde la migración, TPCi ha reducido significativamente el tiempo y el dinero gastado en las bases de datos. “Mediante el uso de Amazon Aurora, pasamos de 300 nodos a 30, y ya no debemos pagar por licencias de bases de datos”, afirma Webb. “El costo mensual de nuestra base de datos ha disminuido en decenas de miles de dólares cada mes. Lo más importante es que tuvimos 168 horas de inactividad o degradación del rendimiento en los seis meses anteriores a la migración. Desde entonces, hemos tenido cero”.

La migración también ha brindado otros beneficios. “Gracias a la configuración TTL incorporada en Amazon DynamoDB, podemos rastrear cuando un usuario supera el umbral máximo de intentos de inicio de sesión y negar el acceso”, afirma Webb. “El resultado ha sido una reducción del 90 por ciento en los intentos de inicio de sesión por parte de robots, lo que libera los recursos del sistema para los usuarios legítimos y reduce nuestra necesidad de aumentar demasiado la escala sin que sea necesario”.

Aprovechar el servicio completamente administrado de Amazon ElastiCache reduce significativamente la sobrecarga de la administración de los nodos Memcached. Los datos de la sesión de usuario y los estados de los tickets almacenados en el clúster aceleran el proceso de autenticación y eliminan la necesidad de que el usuario mantenga una conexión con un solo servidor.

Menos tiempo en la administración de las bases de datos permite dedicar más tiempo a la innovación. La compañía tiene previsto utilizar la informática sin servidores, los contenedores y los microservicios para obtener una mayor eficiencia y rendimiento. A medida que sus servicios mejoran, TPCi permite a millones de personas de todo el mundo disfrutar del universo de Pokémon bajo demanda.

Para obtener más información, visite aws.amazon.com/gametech/databases.


Acerca de The Pokémon Company International

The Pokémon Company International, una subsidiaria de The Pokémon Company de Japón, administra la propiedad fuera de Asia y es responsable de la administración de la marca, el juego de cartas coleccionables de Pokémon, el entretenimiento en casa y el sitio web oficial de Pokémon.

Beneficios de AWS

  • Reduce los costos mensuales en decenas de miles de dólares
  • Reduce el número de nodos de 300 a 30
  • Reduce los intentos de inicio de sesión por parte de robots en un 90 %
  • Elimina los costos de licencia de la base de datos
  • No se presentan periodos de inactividad ni degradación del rendimiento después de la migración
  • Gestiona hasta 300 inicios de sesión por segundo

Servicios de AWS utilizados

Amazon Aurora

Amazon Aurora es una base de datos relacional compatible con MySQL y PostgreSQL creada para la nube. Combina el rendimiento y la disponibilidad de las bases de datos empresariales tradicionales con la simplicidad y la rentabilidad de las bases de datos de código abierto.

Más información »

Amazon ElastiCache

Amazon ElastiCache permite configurar, ejecutar y escalar de manera sencilla los conocidos almacenes de datos en memoria compatibles con el código abierto en la nube. Cree aplicaciones con uso intensivo de datos o impulse el nivel de desempeño de las bases de datos existentes mediante la recuperación de datos a partir de almacenes de datos en memoria de baja latencia y alto grado de procesamiento. Amazon ElastiCache es una excelente opción para casos de uso en tiempo real como el almacenamiento en caché, los almacenes de sesiones, los juegos, los servicios geoespaciales, el análisis en tiempo real y los servicios de colas.

Más información »

Amazon DynamoDB

Amazon DynamoDB es una base de datos de clave-valor y documentos que ofrece rendimiento en milisegundos de un solo dígito a cualquier escala. Se trata de una base de datos duradera de varias regiones y con varios maestros, completamente administrada, que cuenta con copia de seguridad, restauración y seguridad integradas, y almacenamiento de caché en memoria para aplicaciones a escala de Internet.

Más información »

Amazon S3

Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento de objetos que ofrece escalabilidad, disponibilidad de datos, seguridad y rendimiento líderes en el sector. Gracias a Amazon S3, clientes de todos los tamaños y sectores pueden almacenar y proteger cualquier volumen de datos para los más variados fines, como usarlos en sitios web, aplicaciones móviles, procesos de copia de seguridad y restauración, operaciones de archivado, aplicaciones empresariales, dispositivos IoT y análisis de big data.

Más información »


Introducción

Organizaciones de todos los tamaños y de todos los sectores se transforman y cumplen sus misiones todos los días gracias a AWS. Contacte con nuestros expertos e inicie hoy mismo su proceso de traspaso a la nube de AWS.