Passer au contenu principal
2024

Nintendo Systems augmente sa productivité grâce à l’ingénierie de plateforme avec les services gérés AWS

Avantages

120
Tâches d’Amazon ECS le jour du lancement d’un jeu majeur
10x
Croissance des ventes totales de contenu numérique de 2017 à 2023

AWS re:Invent 2023

Le contenu de cette étude de cas est présenté à AWS re:Invent 2023 dans le cadre de la session « Modernization of Nintendo eShop : Microservice and Platform Engineering ». Veuillez regarder la vidéo pour plus d’informations.

À propos de Nintendo Systems Co., Ltd

Nintendo Systems a été créée en avril 2023 avec une équipe d’ingénieurs de Nintendo et DeNA Co., Ltd. pour développer des systèmes permettant de proposer des divertissements Nintendo aux utilisateurs. Les employés mettent à profit leurs nombreux atouts, leur connaissance approfondie des nouveautés de Nintendo et de la technologie de DeNA, ainsi que leur sens de l’originalité et de la flexibilité pour participer à des discussions visant à créer des résultats et des systèmes étonnants qui ne peuvent être réalisés que par une équipe.

Présentation

Nintendo Co., Ltd. a fondé Nintendo Systems Co., Ltd. en avril 2023 afin de créer des systèmes permettant de proposer des divertissements aux clients en toute fluidité. La nouvelle entreprise, qui modernise également la plateforme Nintendo eShop, a adopté l’ingénierie de plateforme en 2020. Nintendo Systems a choisi Amazon Web Services (AWS) Managed Services pour moderniser une plateforme interne partagée afin de développer des systèmes orientés client. La technologie AWS donne à Nintendo Systems les moyens de développer en interne des systèmes capables de supporter des pics d’accès en libre-service.

Opportunité | Moderniser l’architecture pour soutenir la croissance des services

Nintendo Systems est responsable du développement et de l’exploitation des services du réseau Nintendo tels que Nintendo Account et Game News. Nintendo eShop, un magasin en ligne qui permet aux utilisateurs de télécharger des logiciels et d’acheter d’autres contenus via Internet, est l’un des services proposés par l’entreprise.

Lancé en 2011, le Nintendo eShop offre désormais un service 24 heures sur 24 et 7 jours sur 7 dans plus de 40 pays pour la Nintendo Switch, qui s’est vendue à plus de 130 millions d’exemplaires dans le monde. Les ventes de contenu numérique de Nintendo ont plus que décuplé entre 2017 et 2023, et aujourd’hui, près de 50 % des ventes totales de jeux Nintendo sont des achats numériques.

Nintendo a initialement géré la plateforme eShop sur site, mais l’a migrée vers AWS en 2015 pour s’adapter à la croissance rapide du nombre d’utilisateurs pendant la période d’achat des fêtes de fin d’année. « Nous avons choisi AWS en raison d’Amazon RDS for Oracle, un service géré pour l’utilisation des bases de données Oracle, et de son expérience éprouvée au sein de notre entreprise », explique Junichi Furutaka, Chief of the System Development Department chez Nintendo Systems.

Malgré la migration vers AWS, qui a résolu les problèmes de mise à l’échelle, l’architecture de Nintendo est restée monolithique. Par conséquent, les restrictions relatives à la taille des instances Amazon Relational Database Service (Amazon RDS) ont limité la capacité de mise à l’échelle de l’ensemble du service eShop pendant les périodes de fort trafic.

En outre, l’ajout de nouvelles fonctions et le respect des exigences légales internationales en tant que service mondial ont rendu l’infrastructure de plus en plus complexe et opaque concernant le développement d’applications. Selon Shinya Ogura, Manager from the System Development Department de Nintendo Systems, « Au fil du temps, nous avions moins d’ingénieurs qui comprenaient notre logique antérieure. Pour éliminer les obstacles à l’amélioration des fonctionnalités et à l’augmentation de la productivité, il était indispensable de moderniser l’architecture. »

Solution | Élaboration d’une approche d’ingénierie de plateforme

Pour le projet de modernisation, Nintendo Systems a séparé les services en adoptant une architecture de microservices pour une maintenabilité à long terme, une meilleure productivité, des cycles de distribution plus rapides et une capacité de mise à l’échelle rentable. Auparavant, chaque service était développé par un développeur d’applications et un ingénieur DevOps, les rôles des deux étant distingués sur la base de la conformité et de la gouvernance. Les ingénieurs DevOps étaient responsables des déploiements et des modifications architecturales.


L’entreprise est passée à une approche d’ingénierie de plateforme pour un développement et une administration efficaces. Cette approche automatise les opérations d’infrastructure grâce à des fonctionnalités en libre-service qui rendent le travail des développeurs d’applications plus fluide et plus productif.


« Compte tenu de la pénurie d’ingénieurs DevOps, nous devions créer un système qui stimule la productivité du développement en permettant aux développeurs d’applications de développer de manière autonome les applications et l’infrastructure », explique M. Ogura. « Cependant, le déploiement de bout en bout par les développeurs d’applications n’est pas réaliste. Nous avons donc décidé d’utiliser l’ingénierie de plateforme, qui fournit une infrastructure partagée en libre-service, pour alléger la charge de travail des développeurs d’applications. »


La clé de l’ingénierie de plateforme était une nouvelle plateforme de développeur interne (IDP), qui comprend un cadre d’application, un orchestrateur de conteneurs et une CI/CD (intégration continue/livraison continue). Nintendo Systems exploite une plateforme pour exécuter des applications sur les services gérés Amazon ECS sur AWS Fargate, tandis que ses développeurs créent des applications et une infrastructure à l’aide de l’IDP.


« Nous avons comparé Amazon ECS et Amazon Elastic Kubernetes Service (Amazon EKS) en tant que candidats pour l’infrastructure d’exécution des applications », explique M. Furutaka. « Pour la gouvernance, nous avons créé des comptes AWS dédiés pour chaque service, mais nous avons trouvé difficile d’exécuter Kubernetes pour chaque compte. Nous avons choisi la plateforme Amazon ECS sur AWS Fargate pour permettre aux développeurs qui ne connaissent pas Kubernetes de créer et d’exploiter facilement des applications dans des conteneurs. »

Résultat | Accélération des lancements des applications et des services d'infrastructure Résultat | Accélération des lancements des services d'applications et d'infrastructure

L’effort d’ingénierie de plateforme a transformé les connaissances des développeurs d’applications et des ingénieurs DevOps et a stimulé le développement des composants qui constituent l’IDP. En prévision de la sortie en mai 2023 du jeu Legend of Zelda: Tears of the Kingdom, les développeurs d’applications ont utilisé les composants IDP pour le développement en libre-service, Amazon ECS sur AWS Fargate en tant que plateforme d’applications, Amazon DynamoDB pour les bases de données et AWS CloudHSM pour gérer les droits numériques.

Le système a surmonté les pics de trafic le jour de la sortie grâce aux développeurs d’applications qui ont utilisé les prédictions de lancement et les précommandes du jeu pour mettre à l’échelle Amazon ECS à 120 tâches, mettre à l’échelle les instances AWS CloudHSM et modifier le mode de capacité d’Amazon DynamoDB.

« Nous avons constaté que notre approche de l’ingénierie de plateforme avec AWS a permis un développement plus efficace, un lancement plus rapide de nouveaux services pour les applications et l’infrastructure, et des délais de développement plus rapides », déclare M. Ogura. « Nous continuerons à promouvoir l’ingénierie de plateforme auprès de toutes les équipes de service. »

Pour la prochaine étape, Nintendo Systems adoptera Amazon ECS Service Connect et Amazon VPC Lattice afin de renforcer le self-service en simplifiant les connexions entre comptes et entre VPC.

Selon M. Furutaka, « AWS nous a fourni de nombreuses informations dès la phase de sélection de l’architecture. Les demandes de révision de notre architecture pendant le développement ont été accueillies avec de généreux conseils et nos nombreuses questions techniques ont reçu des réponses par des canaux directs. Les services gérés AWS sont indispensables pour le développement en libre-service. À l’avenir, nous continuerons à appliquer de nouvelles fonctionnalités AWS afin d’améliorer notre plateforme de services. »

Diagramme d'architecture

Missing alt text value
« Nous avons constaté que notre approche de l'ingénierie des plateformes avec AWS a permis de développer plus efficacement et d'accélérer le lancement de nouveaux services pour les applications et l'infrastructure. »

Shinya Ogura

Manager, System Development Department, Nintendo Systems

Consoles 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