customer_landing_page_graphics166x_pokemon_co

The Pokémon Company migra para os bancos de dados especialmente criados pela AWS

2020

Lançada no Japão em 1996, a Pokémon se tornou uma das marcas de entretenimento mais populares do mundo. Pessoas de todas as idades — centenas de milhões delas — gostam de treinar e lutar contra criaturas Pokémon por meio do Pokémon Trading Card Game e do jogo Pokémon GO para celular.

Em Bellevue, Washington, os engenheiros da The Pokémon Company International (TPCi) são responsáveis por garantir que os fãs de Pokémon fora da Ásia possam rastrear as suas conquistas por meio de contas de usuário com todos os recursos. Conhecida como Pokémon Trainer Club, a solução não só deve proporcionar uma experiência perfeita sempre que um “treinador” quiser se inscrever, mas também deve cumprir a Lei de Proteção à Privacidade On-line de Crianças e o Regulamento Geral de Proteção de Dados.

“Nosso sistema de perfil de usuário consiste basicamente em dois conjuntos de dados: usuários do Pokémon GO e usuários do Pokémon Trading Card Game”, afirma Jeff Webb, gerente de desenvolvimento da TPCi. “Perfis de usuário de diferentes tipos de jogo requerem diferentes processos e manutenção, mas todos habitam o sistema Pokémon Trainer Club. Devido à complexidade e ao volume de dados com os quais lidamos, a escalabilidade e a confiabilidade do banco de dados são absolutamente essenciais para fornecer uma ótima experiência de usuário.”

Após o lançamento do Pokémon GO em 2016, o número de usuários que precisam de acesso a esse sistema aumentou para mais de 300 milhões em dois anos. A empresa decidiu migrar para uma solução totalmente gerenciada a fim de liberar tempo e recursos para se concentrar em iniciativas estratégicas.

inicie um tutorial de python
CustomerReferences_QuoteMark

Usando o Amazon Aurora, passamos de 300 nós para 30 e não estamos mais pagando por licenças de banco de dados. O nosso custo mensal de banco de dados tem caído dezenas de milhares de dólares a cada mês”.

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

Batalha dos bancos de dados

Originalmente, o Pokémon Trainer Club tinha o suporte de um banco de dados de documentos NoSQL de terceiros, que continha todos os dados de perfil do usuário e changelogs para mais de 300 milhões de usuários Pokémon GO. Fragmentos de banco de dados continham o banco de dados mestre de criaturas Pokémon, dados de usuários on-line do Trading Card Game e dados de grupos de “jogos organizados” pessoalmente. O Memcached forneceu acesso rápido aos dados da sessão de usuário. A empresa hospedou o seu banco de dados e o sistema de cache de memória no Amazon Elastic Compute Cloud (Amazon EC2), com o Elastic Load Balancing gerenciando o tráfego e o Amazon Simple Storage Service (Amazon S3) para armazenamento de objetos. “Escolhemos nosso banco de dados anterior NoSQL por causa de suas pesquisas rápidas”, observa Webb. “Descobrimos, no entanto, que para atingir a velocidade que desejávamos, era necessário manter muitos índices e gerenciar muitos nós complexos — mais de 300 em um ponto.”

Manter os nós funcionando sem problemas foi um desafio. Quando o índice ou os nós do banco de dados ficam indisponíveis, aumenta a latência. Se um nó do Memcached caísse, os usuários não conseguiam fazer login. Quando os nós de dados primários falhavam, a equipe tinha de descartar tudo para reconstruí-los enquanto o sistema operava nos nós de backup. Após anos de problemas diários de gerenciamento, exacerbados pelo influxo maciço de usuários do Pokémon GO, a TPCi decidiu migrar para o Amazon Web Services (AWS) para os seus serviços de banco de dados totalmente gerenciados.

“Ficamos felizes com o desempenho e a confiabilidade do Amazon EC2, do Elastic Load Balancing e do Amazon S3”, lembra Webb. “Essa é a razão por que decidimos investigar os serviços de banco de dados gerenciados da AWS.” A equipe realizou testes extensivos para encontrar uma solução que atendesse às suas necessidades de segurança, escala, desempenho e resiliência, escolhendo o Amazon Aurora with PostgreSQL compatibility. “Como as solicitações de autenticação constituem a maior parte do tráfego TPCi, selecionamos o Amazon Aurora PostgreSQL por seus recursos de segurança de nível empresarial, como a criptografia de dados em repouso e em trânsito, além de sua confiabilidade em um ambiente multirregional.”

A equipe também decidiu mover o cache do usuário para o Amazon ElastiCache, aproveitando o Redis e o Memcached. O Redis enfileira tarefas para novos usuários, a fim de que possam ser solicitados a concluir tarefas pós-autenticação, como aceitar termos e condições. O Memcached ajuda a manter os tíquetes ativos para que as sessões dos usuários existentes não sejam interrompidas quando novos usuários ingressarem. A equipe migrou a configuração global e os dados de tempo de vida (TTL) para o Amazon DynamoDB, um banco de dados de valor-chave que oferece desempenho em escala de um dígito de milissegundo. E eles também moveram dados de eventos, como histórico de login e registros de auditoria de alteração de usuário, para o Amazon S3.

Custo reduzido, capacidade aumentada e tempo de inatividade zero

Os armazenamentos dos dados não relacionais foram migrados primeiro, seguido pela migração dos dados do usuário e de fragmentos de banco de dados para o Amazon Aurora. O projeto levou apenas nove meses. “Passamos os primeiros meses criando casos de uso e testes de pressão”, diz Webb. “Depois, relacionamos todos os dados e desconstruímos os dados JSON. Concluímos a migração sem tempo de inatividade para o nosso processo de autenticação, o que é notável levando em consideração que 300 pessoas de todo o mundo fazem login no Pokémon Trainer Club a cada segundo.”

Desde a migração, a TPCi reduziu significativamente o tempo e o dinheiro gastos com bancos de dados. “Usando o Amazon Aurora, passamos de 300 nós para 30 e não estamos mais pagando por licenças de banco de dados”, diz Webb. “O nosso custo mensal de banco de dados tem caído dezenas de milhares de dólares a cada mês. Mais importante, tivemos 168 horas de inatividade ou degradação de desempenho nos seis meses anteriores à migração. Desde então, não tivemos nenhuma”.

A migração trouxe outros benefícios também. “Usando as configurações TTL integradas no Amazon DynamoDB, podemos rastrear quando um usuário excede o limite máximo de tentativas de login e negar a entrada”, diz Webb. “O resultado foi uma redução de 90 por cento nas tentativas de login de bot, o que libera recursos do sistema para usuários legítimos e reduz nossa necessidade de aumentar a escala.”

Aproveitar o serviço Amazon ElastiCache totalmente gerenciado reduz significativamente a sobrecarga de gerenciamento dos nós do Memcached. Os dados da sessão do usuário e os estados dos tíquetes armazenados no cluster aceleram o processo de autenticação e eliminam a necessidade de um usuário manter uma conexão com um único servidor.

Menos tempo gerenciando bancos de dados libera tempo para a inovação. A empresa está planejando usar computação sem servidor, contêineres e microsserviços para obter ainda mais eficiência e desempenho. À medida que os seus serviços continuam a melhorar, a TPCi capacita milhões de pessoas em todo o mundo a desfrutar do universo Pokémon sob demanda.

Para saber mais, acesseaws.amazon.com/gametech/databases.


Sobre a The Pokemon Company International

A The Pokémon Company International, uma subsidiária da The Pokémon Company no Japão, administra a propriedade fora da Ásia e é responsável pela administração da marca, do Pokémon Trading Card Game, do entretenimento doméstico e do site oficial Pokémon.

Benefícios da AWS

  • Corta os custos mensais em dezenas de milhares de dólares
  • Reduz o número de nós de 300 para 30
  • Reduz as tentativas de login do bot em 90%
  • Elimina custos de licenciamento de banco de dados
  • Experimenta zero horas de inatividade ou degradação de desempenho após a migração
  • Lida com até 300 logins por segundo

Serviços da AWS usados

Amazon Aurora

O Amazon Aurora é um banco de dados relacional compatível com MySQL e PostgreSQL criado para a nuvem e que combina a performance e a disponibilidade de bancos de dados empresariais tradicionais com a simplicidade e a economia de bancos de dados de código aberto.

Saiba mais »

Amazon ElastiCache

Com o Amazon ElastiCache, você pode configurar, executar e escalar sem problemas conhecidos repositórios de dados na memória compatíveis com código aberto na nuvem. Crie aplicativos com uso intenso de dados ou aumente a performance de aplicativos existentes recuperando dados de armazenamentos de dados na memória de alto throughput e baixa latência. O Amazon ElastiCache é uma opção popular para casos de uso em tempo real, como armazenamento em cache, armazenamentos de sessão, jogos, serviços geoespaciais, análises em tempo real e filas.

Saiba mais »

Amazon DynamoDB

O Amazon DynamoDB é um banco de dados de valores-chave e documentos que oferece desempenho em milissegundos de um dígito em qualquer escala. É um banco de dados totalmente gerenciado, multirregional, multimaster e durável com segurança, backup e restauração integrados e armazenamento em cache na memória para aplicativos em escala de Internet.

Saiba mais »

Amazon S3

O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos que oferece escalabilidade líder do setor, disponibilidade de dados, segurança e performance. Isso significa que clientes de todos os tamanhos e setores podem usá-lo para armazenar qualquer volume de dados em uma grande variedade de casos de uso, como sites, aplicativos para dispositivos móveis, backup e restauração, arquivamento, aplicativos empresariais, dispositivos IoT e análises de big data.

Saiba mais »


Comece a usar

Organizações de todos os tamanhos em todos os setores estão se transformando e cumprindo as suas missões todos os dias usando a AWS. Entre em contato com nossos especialistas e inicie sua jornada na Nuvem AWS hoje mesmo.