Histórias de clientes/Jogos
2020
The Pokémon Company realiza a migração de bancos de dados com propósitos específicos para a AWS
Redução dos custos mensais
em dezenas de milhares de dólares
300 para 30
90%
Licenciamento de banco de dados
Nenhum período de inatividade
Visão geral
O Pokémon foi lançado no Japão em 1996 e tornou-se 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 acompanhar suas conquistas usando 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 ao usuário.”
Oportunidade | Confronto dos bancos de dados
Originalmente, o Clube de Treinadores de Pokémon era suportado por um banco de dados de documentos NoSQL de terceiros, que continha todos os dados de perfis de usuários e logs de mudanças para mais de 300 milhões de usuários do 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 armazenamento em cache de memória no Amazon Elastic Compute Cloud (Amazon EC2), com o Elastic Load Balancing para gerenciamento do 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 intensivos para encontrar uma solução que atendesse às suas necessidades de segurança, escalabilidade, performance e resiliência, escolhendo o Amazon Aurora com compatibilidade para PostgreSQL. “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 migrar o cache do usuário para o Amazon ElastiCache, aproveitando tanto o Redis quanto 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 vida útil (TTL) para o Amazon DynamoDB, um banco de dados de chave-valor que oferece performance de milissegundo de dígito único em escala. Ela também migrou dados de eventos, como o histórico de login e os registros de auditorias de alterações dos usuários, para o Amazon S3.
Com 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
Resultado | Redução de custos, aumento da capacidade e nenhum período de inatividade
Os armazenamentos de dados não relacionais foram migrados primeiro, seguidos pela migração de dados dos usuários 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, acesse thinkwithwp.com/gametech/databases.
Sobre a The Pokemon Company International
Produtos 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.
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.
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.
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.
Descubra como os dados impulsionam a transformação
Mais histórias de clientes do setor de jogos
Comece a usar
Organizações de todos os portes, em todos os setores, estão transformando seus negócios e cumprindo suas missões todos os dias usando a AWS. Entre em contato com nossos especialistas e comece sua própria jornada para a AWS hoje mesmo.