Pular para o conteúdo principal
2024

Nintendo Systems aumenta a produtividade por meio da engenharia de plataforma com serviços gerenciados da AWS

Benefícios

120
Tarefas do Amazon ECS no dia do lançamento de um grande jogo
10 vezes
Crescimento nas vendas totais de conteúdo digital de 2017 a 2023

AWS re:Invent 2023

O conteúdo deste estudo de caso foi apresentado no AWS re:Invent 2023 na sessão “Modernização da Nintendo eShop: Microsserviço e engenharia de plataforma”. Assista ao vídeo para obter mais informações.

Sobre a Nintendo Systems Co., Ltd

A Nintendo Systems foi fundada em abril de 2023 com uma equipe de engenheiros da Nintendo e da DeNA Co., Ltd., com o objetivo de desenvolver sistemas para levar o entretenimento da Nintendo aos usuários. Os funcionários aplicam sua ampla variedade de habilidades, seu vasto conhecimento sobre as inovações da Nintendo e a tecnologia da DeNA, além de seu apreço pela originalidade e flexibilidade, para participar de discussões voltadas para a criação de resultados e sistemas incríveis que só podem ser alcançados pelo trabalho em equipe.

Visão geral

A Nintendo Co., Ltd. fundou a Nintendo Systems Co., Ltd. em abril de 2023 para criar sistemas que facilitam o entretenimento para os clientes. A nova empresa, que também está modernizando a plataforma Nintendo eShop, adotou a Engenharia de plataforma em 2020. A Nintendo Systems escolheu os serviços gerenciados da Amazon Web Services (AWS) para modernizar uma plataforma interna compartilhada para o desenvolvimento de sistemas voltados para o cliente. A tecnologia da AWS permite que a Nintendo Systems desenvolva internamente sistemas capazes de resistir a picos de acesso seguindo uma abordagem de autoatendimento.

Oportunidade | Modernizar a arquitetura para apoiar o crescimento dos serviços

A Nintendo Systems é responsável pelo desenvolvimento e pela exploração dos serviços da rede Nintendo, como a Nintendo Account e a Game News. A Nintendo eShop, uma loja online que permite aos usuários baixar softwares e comprar conteúdo adicional pela Internet, é um dos serviços oferecidos pela empresa.

Lançada em 2011, ela agora oferece serviço 24 horas por dia, 7 dias por semana, em mais de 40 países para o Nintendo Switch, que já vendeu mais de 130 milhões de unidades em todo o mundo. As vendas de conteúdo digital da Nintendo cresceram mais de dez vezes entre 2017 e 2023 e, atualmente, quase 50% do total de vendas de jogos da Nintendo são compras digitais.

A Nintendo inicialmente executou a plataforma eShop on-premises, mas a migrou para a AWS em 2015 para acomodar o rápido crescimento de usuários durante a temporada de compras de fim de ano. “Escolhemos a AWS por causa do Amazon RDS para Oracle, um serviço gerenciado para o uso de bancos de dados Oracle, e seu histórico comprovado em nossa empresa”, diz Junichi Furutaka, chefe do departamento de desenvolvimento de sistemas da Nintendo Systems.

Apesar de a migração para a AWS ter resolvido os problemas de escala, a arquitetura da Nintendo permaneceu monolítica. Consequentemente, restrições no tamanho das instâncias do Amazon Relational Database Service (Amazon RDS) limitavam a escalabilidade de todo o serviço da eShop durante períodos de tráfego intenso.

Além disso, funções recém-adicionadas e o cumprimento de requisitos legais internacionais como um serviço global estavam tornando a infraestrutura cada vez mais complicada e uma caixa-preta no que se refere ao desenvolvimento de aplicações. De acordo com Shinya Ogura, gerente do Departamento de desenvolvimento de sistemas da Nintendo Systems, “Com o passar do tempo, tínhamos cada vez menos engenheiros que compreendiam nossa lógica anterior. A modernização da arquitetura era imprescindível para remover as barreiras que impediam o aprimoramento da funcionalidade e o aumento da produtividade.”

Solução | Construir uma abordagem de engenharia de plataforma

Para o projeto de modernização, a Nintendo Systems separou os serviços adotando uma arquitetura de microsserviços para manutenção a longo prazo, melhor produtividade, ciclos de lançamento mais rápidos e escalabilidade econômica. Antes, cada serviço era desenvolvido por um desenvolvedor de aplicações e um engenheiro de DevOps, com as funções dos dois diferenciadas com base na conformidade e na governança. Os engenheiros de DevOps eram responsáveis pelas implantações e alterações de arquitetura.


A empresa passou a adotar uma abordagem de engenharia de plataforma para desenvolvimento e administração eficientes. Essa abordagem automatiza as operações de infraestrutura por meio de recursos de autoatendimento que tornam o trabalho dos desenvolvedores de aplicações mais fácil e produtivo.


“Dada a escassez de engenheiros de DevOps, precisávamos criar um sistema que aumentasse a produtividade do desenvolvimento, permitindo que os desenvolvedores de aplicações desenvolvessem aplicações e infraestrutura de forma autônoma”, explica Ogura. “Porém, a implantação de ponta a ponta por desenvolvedores de aplicações não é realista. Portanto, decidimos usar a engenharia de plataforma, que fornece uma infraestrutura de autoatendimento compartilhada, para facilitar as workloads dos desenvolvedores de aplicações.”


A chave para a engenharia de plataforma foi uma nova Plataforma de desenvolvedores internos (IDP), que inclui um framework de aplicações, um orquestrador de contêineres e CI/CD (integração contínua/entrega contínua). A Nintendo Systems opera uma plataforma para executar aplicações em serviços gerenciados do Amazon ECS no AWS Fargate, enquanto seus desenvolvedores criam aplicações e infraestrutura usando o IDP.


“Comparamos o Amazon ECS e o Amazon Elastic Kubernetes Service (Amazon EKS) como candidatos à infraestrutura de execução das aplicações”, diz Furutaka. “Para a governança, criamos contas dedicadas da AWS para cada serviço, mas achamos difícil executar o Kubernetes para cada conta. Escolhemos a plataforma Amazon ECS no AWS Fargate para capacitar os desenvolvedores não familiarizados com o Kubernetes a criar e operar facilmente aplicações em contêineres.”

Resultado | Lançamentos mais rápidos de serviços de aplicativos e infraestrutura Resultado | Lançamentos mais rápidos de serviços de aplicativos e infraestrutura

O esforço de engenharia da plataforma transformou a conscientização entre desenvolvedores de aplicações e engenheiros de DevOps e impulsionou o desenvolvimento de componentes que constituem o IDP. Em preparação para o lançamento do jogo Legend of Zelda: Tears of the Kingdom em maio de 2023, os desenvolvedores usaram os componentes do IDP para desenvolvimento por autoatendimento, o Amazon ECS no AWS Fargate como plataforma de aplicações, o Amazon DynamoDB para bancos de dados e o AWS CloudHSM para gerenciar direitos digitais.

O sistema resistiu aos picos de tráfego no dia do lançamento graças aos desenvolvedores de aplicações que usaram as previsões de lançamento e as pré-encomendas do jogo para escalar o Amazon ECS para 120 tarefas, escalar instâncias do AWS CloudHSM e alterar o modo de capacidade do Amazon DynamoDB.

“Nossa abordagem de engenharia de plataforma com a AWS proporcionou um desenvolvimento mais eficiente e rápido e a agilização do lançamento de novos serviços para aplicações e infraestrutura”, diz Ogura. “Continuaremos a promover a engenharia de plataforma entre todas as equipes de serviços.”

Na próxima etapa, a Nintendo Systems adotará o Amazon ECS Service Connect e o Amazon VPC Lattice para impulsionar ainda mais o autoatendimento, simplificando as conexões entre contas e entre VPCs.

De acordo com Furutaka, “a AWS nos forneceu amplas informações desde a fase de seleção da arquitetura. As solicitações para analisar nossa arquitetura durante o desenvolvimento foram atendidas com conselhos generosos e nossas muitas perguntas técnicas foram respondidas por meio de canais diretos. Os serviços gerenciados da AWS são indispensáveis para o desenvolvimento por autoatendimento. No futuro, continuaremos a aplicar os novos recursos da AWS para aprimorar nossa plataforma de serviços.”

Diagrama da arquitetura

Missing alt text value
“Descobrimos que nossa abordagem de engenharia de plataforma com a AWS levou a um desenvolvimento mais eficiente e ao lançamento mais rápido de novos serviços para aplicativos e infraestrutura.”

Shinya Ogura

Gerente do departamento de desenvolvimento de sistemas da Nintendo Systems

Sistemas Nintendo

Two individuals standing in front of a modern bookshelf filled with books and decorative items.

Shinya Ogura

Missing alt text value

Junichi Furutaka

Missing alt text value