메인 콘텐츠로 건너뛰기
2024

AWS Managed Services 기반의 플랫폼 엔지니어링으로 생산성을 강화하는 Nintendo Systems

장점

120
메이저 게임 출시일의 Amazon ECS 작업 수
10배
2017~2023년까지 디지털 콘텐츠 총매출 성장률

AWS re:Invent 2023

이 사례 연구의 내용은 AWS re:Invent 2023에서 'Modernizing of Nintendo eShop: Microservice and Platform Engineering' 세션에서 공개되었습니다. 지금 동영상을 시청하여 자세히 알아보세요.

닌텐도 시스템즈 주식회사에 대하여

Nintendo Systems는 사용자에게 Nintendo 엔터테인먼트를 제공하고자 Nintendo와 DeNA Co., Ltd. 소속 엔지니어 팀이 2023년 4월에 설립한 기업입니다. Nintendo의 창의성과 DeNA의 기술에 대한 광범위한 지식과 다양한 강점을 보유한 직원들로 구성되어 있으며, 팀워크로만 실현할 수 있는 탁월한 결과와 시스템을 달성하기 위해 독창성과 유연성을 존중하는 환경에서 적극적인 토론을 진행하고 있습니다.

개요

2023년 4월, Nintendo Co., Ltd.에서는 고객에게 원활하게 엔터테인먼트를 제공할 시스템을 만들고자 Nintendo Systems Co., Ltd.를 설립했습니다. Nintendo Systems는 Nintendo eShop 플랫폼을 현대화하는 역할도 맡고 있으며, 2020년에 플랫폼 엔지니어링을 도입했습니다. Nintendo Systems에서는 고객 중심 시스템 개발을 위해 공유형 내부 플랫폼을 현대화하고자 Amazon Web Services(AWS) Managed Services를 선택했습니다. AWS 기술을 활용함으로써, Nintendo Systems는 액세스 증가를 감당할 수 있는 개발 시스템을 내부에서 셀프서비스 방식으로 개발할 수 있습니다.

기회 | 서비스 성장을 지원하기 위한 아키텍처 현대화

Nintendo Systems는 Nintendo 계정 및 게임 뉴스와 같은 Nintendo의 네트워크 서비스를 개발하고 운영하는 업무를 담당하고 있습니다. Nintendo eShop은 사용자가 인터넷을 통해 소프트웨어를 다운로드하거나 추가 콘텐츠를 구매할 수 있는 온라인 스토어로, Nintendo에서 제공하는 서비스 중 하나입니다.

2011년에 출시된 Nintendo eShop은 전 세계에서 1억 3,000만 대 이상 판매된 Nintendo Switch의 상시 서비스를 40여 개국에서 제공하고 있습니다. Nintendo의 디지털 콘텐츠 매출은 2017~2023년 사이에 10배 이상 증가했으며, 현재 디지털 구매는 Nintendo 전체 게임 매출의 거의 50%를 차지하고 있습니다.

Nintendo에서는 처음에 eShop 플랫폼을 온프레미스로 운영했지만, 2015년에 연말 쇼핑 시즌을 맞이하여 사용자 폭증에 대응하기 위해 AWS로 마이그레이션했습니다. “AWS를 선택한 이유는 Amazon RDS for Oracle 때문이었습니다. Oracle 데이터베이스를 사용하는 데 적합한 관리형 서비스였고, 사내에서 검증을 받았거든요.”라고 Nintendo Systems의 Junichi Furutaka(Chief of System Development Department)는 말합니다.

그런데 AWS로 마이그레이션해서 규모 조정 문제를 해결하기는 했지만, Nintendo의 아키텍처는 여전히 모놀리식이었습니다. 그 결과 Amazon Relational Database Service(Amazon RDS) 인스턴스 크기에 대한 제한으로 인해, 트래픽이 많을 때 eShop 서비스 전체의 규모 조정이 제한되었습니다.

또한 새로운 기능이 추가되고 글로벌 서비스로서 국제 법률 요구 사항에 부합해야 하기 때문에 애플리케이션 개발 시 인프라가 더 복잡해지고 내부 상황을 파악하기 어려워졌습니다. Nintendo Systems의 Shinya Ogura(Manager of the System Department)는 다음과 같이 말합니다. "시간이 지날수록 이전 로직을 숙지하고 있는 엔지니어가 점점 줄어들었습니다. 기능 및 생산성 개선을 가로막는 장애물을 제거하려면 아키텍처를 현대화하는 과정이 반드시 필요했습니다."

솔루션 | 플랫폼 엔지니어링 접근 방식 구축

Nintendo Systems에서는 현대화 프로젝트를 위해 마이크로서비스 아키텍처를 도입하여 서비스를 분리했습니다. 이를 통해 장기적으로 유지 관리를 용이하게 하고, 생산성을 높이며, 릴리스 주기를 단축하고, 비용 효과적인 규모 조정을 확보하고자 했습니다. 이전에는 각 서비스를 앱 개발자와 DevOps 엔지니어가 개발했는데, 규정 준수와 거버넌스에 따라 둘의 역할이 뚜렷하게 구분되었습니다. DevOps 엔지니어는 배포와 아키텍처 변경을 담당했습니다.


Nintendo Systems는 개발 및 관리의 효율성을 높이기 위해 플랫폼 엔지니어링 방식으로 전환했습니다. 이 방식은 앱 개발자의 업무를 더 원활하게 진행하고 생산성을 높여주는 셀프서비스 기능을 통해 인프라 작업을 자동화합니다.


"DevOps 엔지니어 인력이 부족한 상황이라서, 앱 개발자가 자율적으로 애플리케이션과 인프라를 개발할 수 있게 지원해 주어 개발 생산성을 높이는 시스템을 만들어야 했습니다."라고 Ogura는 설명하며 다음과 같이 덧붙였습니다. "하지만 앱 개발자가 배포 전체를 담당하는 것은 현실적이지 않습니다. 그래서 공유형 셀프서비스 인프라를 제공하는 플랫폼 엔지니어링을 이용해서 앱 개발자의 워크로드를 덜어주기로 했습니다."


플랫폼 엔지니어링의 핵심은 애플리케이션 프레임워크, 컨테이너 오케스트레이터와 지속적 통합/지속적 전송(CI/CD)을 포함하는 내부 개발자 플랫폼(IDP)을 새로 구축하는 것이었습니다. Nintendo Systems는 플랫폼을 운영해 애플리케이션을 Amazon ECS on AWS Fargate 관리형 서비스에서 실행하고, 개발자는 IDP를 사용해 애플리케이션과 인프라를 구축합니다.


"우리는 애플리케이션 실행 인프라 후보로서 Amazon ECS와 Amazon Elastic Kubernetes Service(Amazon EKS)를 비교해 보았습니다."라고 Furutaka는 말하며 다음과 같이 덧붙였습니다. "거버넌스 목적으로 각 서비스에 전용 AWS 계정을 생성했지만, 모든 계정에 대해 Kubernetes를 실행하기는 어려웠습니다. 그래서 Kubernetes를 잘 모르는 개발자도 컨테이너에서 손쉽게 애플리케이션을 구축하고 운영할 수 있도록 Amazon ECS on AWS Fargate 플랫폼을 선택했습니다."

결과 | 애플리케이션 및 인프라 서비스의 빠른 출시 결과 | 애플리케이션 및 인프라 서비스의 출시 시간 단축

플랫폼 엔지니어링을 도입하면서 앱 개발자와 DevOps 엔지니어의 인식이 변화하고, IDP를 이루는 구성 요소 개발이 시작되었습니다. 2023년 5월 Legend of Zelda: Tears of the Kingdom 게임 출시를 앞두고 앱 개발자들은 셀프서비스 개발을 위해 IDP 구성 요소, 애플리케이션 플랫폼으로는 Amazon ECS on AWS Fargate, 데이터베이스로는 Amazon DynamoDB, 디지털 권리 관리를 위해서는 AWS CloudHSM을 활용했습니다.

앱 개발자들이 출시 예측과 게임 사전 주문을 활용해 Amazon ECS를 120개 작업으로 규모 조정하고 AWS CloudHSM 인스턴스를 규모 조정하면서, Amazon DynamoDB의 용량 모드를 변경한 덕분에 시스템이 출시일 트래픽 증가에 무사히 대응할 수 있었습니다.

"AWS를 이용해 플랫폼 엔지니어링 방식으로 접근한 결과, 애플리케이션과 인프라에 맞는 새 서비스를 더 효율적으로 개발하고 더 빠르게 출시할 수 있게 되었습니다."라고 Ogura는 다음과 같이 덧붙였습니다. "앞으로도 모든 서비스 팀에 플랫폼 엔지니어링을 장려할 계획입니다."

Nintendo Systems에서는 다음 단계로 Amazon ECS Service Connect와 Amazon VPC Lattice를 도입해 계정 간 및 VPC 간 연결을 간소화하여 셀프서비스를 활성화할 계획입니다.

Furutaka는 다음과 같이 밝혔습니다. "AWS 덕분에 아키텍처 선정 단계부터 충분한 정보를 확보할 수 있었습니다. 개발 과정 중에 우리 아키텍처를 검토해 달라고 요청하여 다양한 조언을 얻었으며, 직통 창구를 통해 많은 기술적 질문에 대한 답변을 들었습니다. AWS Managed Services는 셀프서비스 개발에 없어서는 안 되는 존재입니다. 앞으로도 서비스 플랫폼 개선을 위해 AWS의 새로운 기능을 계속 적용할 생각입니다."

아키텍처 다이어그램

Missing alt text value
“AWS를 사용한 플랫폼 엔지니어링 접근 방식을 통해 애플리케이션 및 인프라를 위한 새로운 서비스를 보다 효율적으로 개발하고 더 빠르게 시작할 수 있다는 사실을 알게 되었습니다.”

Shinya Ogura

Nintendo Systems, System Development Department Manager

닌텐도 시스템즈

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