Vorteile
AWS re:Invent 2023
Der Inhalt dieses Fallbeispiels wird auf der AWS re:Invent 2023 in der Sitzung zur Modernisierung des Nintendo eShops mit Microservices und Plattform-Engineering vorgestellt. Weitere Informationen finden Sie im Video.
Über Nintendo Systems Co., Ltd.
Nintendo Systems wurde im April 2023 mit einem Entwicklerteam von Nintendo und DeNA Co., Ltd. gegründet, um Systeme für die Bereitstellung von Nintendo-Unterhaltung für Benutzer zu entwickeln. Mitarbeitende bringen ihre vielfältigen Stärken, ihr umfassendes Wissen über die Innovationen von Nintendo und die Technologie von DeNA sowie ihre Wertschätzung für Originalität und Flexibilität in Diskussionen ein, in denen es darum geht, beeindruckende Ergebnisse und Systeme zu schaffen, die nur von einem Team erreicht werden können.
Übersicht
Nintendo Co., Ltd. gründete im April 2023 Nintendo Systems Co., Ltd., um Systeme für die reibungslose Bereitstellung von Unterhaltung für Kunden zu entwickeln. Das neue Unternehmen, das auch die Nintendo eShop-Plattform modernisiert, führte Plattform-Engineering im Jahr 2020 ein. Nintendo Systems entschied sich für Managed Services von Amazon Web Services (AWS), um eine gemeinsam genutzte interne Plattform für die Entwicklung kundenorientierter Systeme zu modernisieren. Die AWS-Technologie ermöglicht es Nintendo Systems, intern Systeme zu entwickeln, die Zugriffsspitzen im Self-Service standhalten können.
Geschäftschance | Modernisierung der Architektur zur Unterstützung des Servicewachstums
Nintendo Systems ist für die Entwicklung und den Betrieb von Nintendo-Netzwerkservices wie Nintendo Account und Game News verantwortlich. Nintendo eShop, ein Online-Shop, über den Software heruntergeladen und zusätzliche Inhalte über das Internet erworben werden können, ist einer der vom Unternehmen angebotenen Services.
Der Nintendo eShop wurde 2011 eingeführt und bietet nun in mehr als 40 Ländern einen Service rund um die Uhr für die Nintendo Switch, von der weltweit mehr als 130 Millionen Einheiten verkauft wurden. Der Umsatz mit digitalen Inhalten von Nintendo hat sich zwischen 2017 und 2023 mehr als verzehnfacht, und heute sind fast 50 Prozent des gesamten Spieleumsatzes von Nintendo digitale Käufe.
Nintendo betrieb die eShop-Plattform zunächst On-Premises, migrierte sie jedoch 2015 zu AWS, um dem schnellen Nutzerwachstum während der Einkaufssaison um Weihnachten gerecht zu werden. „Wir haben uns für AWS entschieden, weil Amazon RDS für Oracle ein verwalteter Service für die Nutzung von Oracle-Datenbanken ist und sich in unserem Unternehmen bewährt hat“, sagt Junichi Furutaka, Leiter der Abteilung für Systementwicklung bei Nintendo Systems.
Obwohl die Migration zu AWS Probleme mit der Skalierung der Nintendo-Architektur löste, blieb diese monolithisch. Folglich begrenzten Einschränkungen bei der Instance-Größe von Amazon Relational Database Service (Amazon RDS) die Skalierbarkeit des gesamten eShop-Services bei hohem Datenverkehr.
Darüber hinaus führten neu hinzugefügte Funktionen und die Einhaltung internationaler rechtlicher Anforderungen als globaler Service dazu, dass die Infrastruktur immer komplizierter und in Bezug auf die Anwendungsentwicklung zu einer Blackbox wurde. Laut Shinya Ogura, Manager der Abteilung für Systementwicklung bei Nintendo Systems, „hatten wir mit der Zeit immer weniger Entwickler, die unsere bisherige Logik verstanden. Um Hindernisse für die Verbesserung der Funktionalität und die Steigerung der Produktivität zu beseitigen, war die Modernisierung der Architektur ein Muss.“
Lösung | Aufbau eines Plattform-Engineering-Ansatzes
Für das Modernisierungsprojekt trennte Nintendo Systems Services durch die Einführung einer Microservices-Architektur für langfristige Wartbarkeit, bessere Produktivität, schnellere Veröffentlichungszyklen und kostengünstige Skalierbarkeit. Zuvor wurde jeder Service von einem App-Entwickler und einem DevOps Engineer entwickelt, wobei die Rollen der beiden auf der Grundlage von Compliance und Governance unterschieden wurden. DevOps Engineers waren für Bereitstellungen und Architekturänderungen verantwortlich.
Das Unternehmen wechselte zu einem Plattform-Engineering-Ansatz für eine effiziente Entwicklung und Verwaltung. Dieser Ansatz automatisiert den Infrastrukturbetrieb durch Self-Service-Funktionen, die die Arbeit der App-Entwickler reibungsloser und produktiver machen.
„Angesichts des Mangels an DevOps Engineers mussten wir ein System schaffen, das die Entwicklungsproduktivität steigert, indem es App-Entwicklern ermöglicht, Anwendungen und Infrastruktur autonom zu entwickeln“, erklärt Ogura. „Eine End-to-End-Bereitstellung durch App-Entwickler ist jedoch nicht realistisch. Daher haben wir uns für die Nutzung von Plattform Engineering entschieden, das eine gemeinsam genutzte Self-Service-Infrastruktur bietet, um die Arbeitsbelastung der App-Entwickler zu verringern.“
Der Schlüssel zum Plattform-Engineering war eine neue interne Entwicklerplattform (IDP), die ein Anwendungs-Framework, einen Container-Orchestrator und CI/CD (Continuous Integration/Continuous Delivery) umfasst. Nintendo Systems betreibt eine Plattform zur Ausführung von Anwendungen in Amazon ECS in AWS Fargate Managed Services, während seine Entwickler Anwendungen und Infrastrukturen mithilfe der IDP erstellen.
„Wir haben Amazon ECS und Amazon Elastic Kubernetes Service (Amazon EKS) als Kandidaten für die Infrastruktur zur Anwendungsausführung verglichen“, sagt Furutaka. „Aus Governance-Gründen haben wir dedizierte AWS-Konten für jeden Service erstellt, aber es war schwierig, Kubernetes für jedes Konto auszuführen. Wir haben uns für die Amazon-ECS-Plattform in AWS Fargate entschieden, um Entwicklern, die mit Kubernetes nicht vertraut sind, die einfache Erstellung und den Betrieb von Anwendungen in Containern zu ermöglichen.“
Ergebnis | Schnellere Markteinführung von Anwendungs- und Infrastrukturdiensten Ergebnis | Schnellere Markteinführung von Anwendungs- und Infrastrukturdiensten
Die Bemühungen im Bereich des Plattform-Engineerings haben das Bewusstsein von App-Entwicklern und DevOps Engineers verändert und die Entwicklung von Komponenten vorangetrieben, aus denen die IDP besteht. In Vorbereitung auf die Veröffentlichung des Spiels „Legend of Zelda: Tears of the Kingdom“ im Mai 2023 nutzten App-Entwickler IDP-Komponenten für die Self-Service-Entwicklung, Amazon ECS in AWS Fargate als Anwendungsplattform, Amazon DynamoDB für Datenbanken und AWS CloudHSM zur Verwaltung digitaler Rechte.
Das System widerstand den Datenverkehrsspitzen am Veröffentlichungstag, da die App-Entwickler mithilfe von Vorhersagen zum Start und Vorbestellungen für das Spiel Amazon ECS auf 120 Aufgaben skalierten, AWS CloudHSM-Instances skalierten und den Kapazitätsmodus von Amazon DynamoDB änderten.
„Wir haben festgestellt, dass unser Plattform-Engineering-Ansatz mit AWS zu einer effizienteren Entwicklung, einer schnelleren Einführung neuer Services für Anwendungen und Infrastruktur sowie zu kürzeren Entwicklungszeiten geführt hat“, sagt Ogura. „Wir werden Plattform-Engineering weiterhin in allen Serviceteams fördern.“
Im nächsten Schritt wird Nintendo Systems Amazon ECS Service Connect und Amazon VPC Lattice einführen, um Self-Service durch die Vereinfachung von Verbindungen zwischen Konten und VPCs weiter voranzutreiben.
Laut Furutaka „hat uns AWS von der Auswahl der Architektur an mit umfassenden Informationen versorgt. Anfragen zur Überprüfung unserer Architektur während der Entwicklung wurden mit großzügigen Ratschlägen beantwortet und unsere vielen technischen Fragen wurden über direkte Kanäle beantwortet. Managed Services von AWS sind für die Entwicklung von Self-Service-Angeboten unverzichtbar. Wir werden auch künftig neue AWS-Funktionen nutzen, um unsere Serviceplattform zu verbessern.“
Architekturdiagramm
„Wir haben festgestellt, dass unser plattformtechnischer Ansatz mit AWS zu einer effizienteren Entwicklung und schnelleren Einführung neuer Dienste für Anwendungen und Infrastruktur geführt hat.“
Shinya Ogura
Manager, Abteilung für Systementwicklung, Nintendo SystemsNintendo-Systeme
Shinya Ogura
Junichi Furutaka