Saltar al contenido principal
2024

Nintendo Systems potencia la productividad mediante ingeniería de plataformas con AWS Managed Services

Beneficios

120
tareas de Amazon ECS el día del lanzamiento de un videojuego importante
Diez veces más
de las ventas totales de contenido digital de 2017 a 2023

AWS re:Invent 2023

El contenido de este caso práctico se presentó en AWS re:Invent 2023 dentro de la sesión «Modernization of Nintendo eShop: Microservice and Platform Engineering». Vea el vídeo para obtener más información.

Acerca de Nintendo Systems Co., Ltd

Nintendo Systems se estableció en abril de 2023 con un equipo de ingenieros de Nintendo y DeNA Co., Ltd. para desarrollar sistemas que ofrecieran el entretenimiento de Nintendo a los usuarios. Sus integrantes aportan una amplia variedad de habilidades y un gran conocimiento de las novedades de Nintendo y la tecnología de DeNA, así como un enfoque basado en la originalidad y la flexibilidad. De este modo, son capaces de participar en debates destinados a crear resultados y sistemas asombrosos que solo un equipo así podría lograr.

Información general

Nintendo Co., Ltd. creó Nintendo Systems Co., Ltd. en abril de 2023 para desarrollar sistemas que ofrecieran entretenimiento sin problemas a los clientes. La nueva compañía, que también está modernizando la plataforma Nintendo eShop, adoptó la ingeniería de plataformas en 2020. Nintendo Systems eligió Amazon Web Services (AWS) Managed Services para modernizar una plataforma interna compartida con el objetivo de desarrollar sistemas orientados a los clientes. La tecnología de AWS permite a Nintendo Systems desarrollar de manera interna sistemas que puedan soportar los aumentos repentinos de acceso de forma autosuficiente.

Oportunidad | Modernización de la arquitectura para respaldar el crecimiento de los servicios

Nintendo Systems se encarga de desarrollar y operar los servicios de red de Nintendo, como Nintendo Account y Game News. Nintendo eShop, una tienda en línea que permite a los usuarios descargar software y comprar contenido adicional a través de Internet, es uno de los servicios que ofrece la compañía.

Lanzada en 2011, Nintendo eShop ahora ofrece un servicio ininterrumpido en más de cuarenta países para Nintendo Switch, que ha vendido más de ciento treinta millones de unidades en todo el mundo. Las ventas de contenido digital de Nintendo se multiplicaron por más de diez entre 2017 y 2023 y, en la actualidad, casi el 50 % de las ventas totales de juegos de Nintendo son compras digitales.

Al principio, Nintendo utilizaba la plataforma eShop de manera local, hasta que la migró a AWS en 2015 para adaptarse al rápido crecimiento de usuarios durante la temporada de compras navideñas. «Elegimos AWS por Amazon RDS para Oracle, un servicio administrado para usar bases de datos de Oracle, y por su trayectoria de eficacia probada en nuestra empresa», afirma Junichi Furutaka, jefe del Departamento de Desarrollo de Sistemas de Nintendo Systems.

A pesar de migrar a AWS para solucionar problemas de escalado, la arquitectura de Nintendo siguió siendo monolítica. En consecuencia, las restricciones en el tamaño de las instancias de Amazon Relational Database Service (Amazon RDS) limitaron la escalabilidad de todo el servicio de la eShop en momentos de tráfico intenso.

Además, las funciones recién añadidas y el cumplimiento de los requisitos legales internacionales como servicio global hacían que la infraestructura fuera cada vez más compleja y opaca en términos de desarrollo de aplicaciones. Según Shinya Ogura, director del Departamento de Desarrollo de Sistemas de Nintendo Systems, «con el paso del tiempo, cada vez teníamos menos ingenieros que entendieran nuestra lógica anterior. Para eliminar las barreras que impiden mejorar la funcionalidad y aumentar la productividad, era imprescindible modernizar la arquitectura».

Solución | Creación de un enfoque de ingeniería de plataformas

Para el proyecto de modernización, Nintendo Systems separó los servicios y adoptó una arquitectura de microservicios para facilitar el mantenimiento a largo plazo, mejorar la productividad, agilizar los ciclos de lanzamiento y lograr una escalabilidad más rentable. Anteriormente, cada servicio lo desarrollaban un desarrollador de aplicaciones y un ingeniero de DevOps, y las funciones de ambos se distinguían según el cumplimiento y la gobernanza. Los ingenieros de DevOps fueron responsables de los despliegues y los cambios de la arquitectura.


La empresa cambió a un enfoque de ingeniería de plataformas para lograr un desarrollo y una administración eficientes. Este enfoque automatiza las operaciones de infraestructura a través de capacidades de autoservicio que hacen que el trabajo de los desarrolladores de aplicaciones sea más fluido y productivo.


«Dada la escasez de ingenieros de DevOps, necesitábamos crear un sistema que permitiera a los desarrolladores de aplicaciones crear aplicaciones e infraestructuras de forma autónoma para aumentar la productividad», explica Ogura. «Sin embargo, un despliegue de extremo a extremo por parte de los desarrolladores de aplicaciones no es realista. Por lo tanto, decidimos recurrir a la ingeniería de plataformas, que proporciona una infraestructura de autoservicio compartida, para facilitar las cargas de trabajo de los desarrolladores de aplicaciones».


La clave de la ingeniería de plataformas fue una nueva plataforma de desarrollo interno (IDP), que incluye un marco de aplicaciones, un orquestador de contenedores y CI/CD (integración continua/entrega continua). Nintendo Systems utiliza una plataforma para ejecutar aplicaciones en Amazon ECS en los servicios administrados de AWS Fargate, mientras que sus desarrolladores crean aplicaciones e infraestructuras mediante la IDP.


«Comparamos Amazon ECS y Amazon Elastic Kubernetes Service (Amazon EKS) como candidatos para la infraestructura de ejecución de aplicaciones», afirma Furutaka. «Para la gobernanza, creamos cuentas de AWS dedicadas para cada servicio, pero nos resultó difícil ejecutar Kubernetes para cada cuenta. Elegimos la plataforma Amazon ECS en AWS Fargate para permitir a los desarrolladores que no están familiarizados con Kubernetes crear y operar aplicaciones en contenedores con facilidad».

Resultado | Lanzamientos más rápidos de los servicios de aplicaciones e infraestructura Resultado | Lanzamientos más rápidos de los servicios de aplicaciones e infraestructura

La ingeniería de plataformas ha cambiado la percepción de los desarrolladores de aplicaciones y los ingenieros de DevOps y ha impulsado el desarrollo de los componentes que constituyen la IDP. Como preparación para el lanzamiento del juego The Legend of Zelda: Tears of the Kingdom en mayo de 2023, los desarrolladores de aplicaciones utilizaron los componentes de la IDP para el desarrollo de autoservicio, Amazon ECS en AWS Fargate como plataforma de aplicaciones, Amazon DynamoDB para bases de datos y AWS CloudHSM para administrar los derechos digitales.

El sistema resistió los picos de tráfico del día del lanzamiento gracias a que los desarrolladores de aplicaciones utilizaron las predicciones de lanzamiento y los pedidos anticipados del juego para escalar Amazon ECS a ciento veinte tareas, escalar las instancias de AWS CloudHSM y cambiar el modo de capacidad de Amazon DynamoDB.

«Hemos descubierto que nuestro enfoque de ingeniería de plataformas con AWS ha permitido un desarrollo más eficiente, un lanzamiento más rápido de nuevos servicios para aplicaciones e infraestructuras y tiempos de desarrollo reducidos», afirma Ogura. «Seguiremos promoviendo la ingeniería de plataformas en todos los equipos de servicio».

El siguiente paso de Nintendo Systems será adoptar Amazon ECS Service Connect y Amazon VPC Lattice para impulsar aún más el autoservicio al simplificar las conexiones entre cuentas y entre VPC.

Según Furutaka, «AWS nos proporcionó una amplia cantidad de información desde la etapa de selección de la arquitectura en adelante. Durante el desarrollo, recibimos consejos muy valiosos en las revisiones de nuestra arquitectura y respondieron a nuestras numerosas preguntas técnicas mediante canales directos. AWS Managed Services es indispensables para el desarrollo autoservicio. De ahora en adelante, seguiremos aplicando las nuevas características de AWS para mejorar nuestra plataforma de servicios».

Diagrama de la arquitectura

Missing alt text value
«Hemos descubierto que nuestro enfoque de ingeniería de plataformas con AWS ha permitido un desarrollo más eficiente y un lanzamiento más rápido de nuevos servicios para aplicaciones e infraestructuras».

Shinya Ogura

Director del Departamento de Desarrollo de Sistemas de 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