Historias de clientes / Videojuegos
2020
The Pokémon Company migra a las bases de datos personalizadas de AWS
Reducción de los costos mensuales
en decenas de miles de dólares
De 300 a 30
90 %
Licencias de bases de datos
Sin tiempo de inactividad
Información general
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 asegurar 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 características. 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”.
Oportunidad | 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, se 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.
“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 en The Pokémon Company International
Resultado | 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 las particiones 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 thinkwithwp.com/gametech/databases.
Acerca de The Pokémon Company International
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.
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.
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.
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.
Descubra cómo los datos impulsan la transformación
Más historias de clientes del sector de los videojuegos
Comenzar
Organizaciones de todos los tamaños y de todos los sectores transforman sus negocios y cumplen sus misiones todos los días con AWS. Contacte nuestros expertos y comience hoy mismo su propia jornada en AWS.