수백만 명의 모바일 게이머의 작업을 단순화하고 경험을 향상시키기 위해 SEGA HARDlight가 MongoDB Atlas로 마이그레이션 했습니다.

Sonic the Hedgehog가 2D 화면에서 처음 반지를 찾으러 갔던 것은 오래 전인 1991년 여름입니다. 그 후 게임은 먼 길을 걸어왔습니다. 1991년의 정적인 TV와 콘솔 환경으로부터 2000년대 온라인 PC 게임, 그리고 현재의 모바일과 가상 현실까지 여행입니다. 놀랍게도, 25년이라는 긴 시간 동안 이러한 게임을 구동하는 기본 인프라는 크게 바뀌지 않았습니다. 기본은 모두 관계형 데이터베이스였습니다. 그러나, 게임에서 요구하는 규모, 유연성 및 창의성이 날로 커지면서 빠르게 변화하고 있습니다. SEGA HARDlight는 최고의 게임 경험을 제공하기 위해서 DevOps 문화를 도입하고 클라우드에서 호스트하는 MongoDB 서비스인MongoDB Atlas를 사용하여 이런 변화를 선도하고 있습니다.

모바일 게임에 아이콘을 가져오다

SEGA HARDlight는 한 번쯤 이름을 들어본 게임 기업인 SEGA와 일하는 모바일 개발 스튜디오입니다. 영국의 Royal Leamington Spa에 자리를 잡은 SEGA HARDlight는 많은 사랑을 받는 파란색 마스코트인 Sonic the Hedgehog를 작은 ​​화면으로 가져 오면서 널리 알려졌습니다. Sonic 게임과 함께 HARDlight는 Crazy Taxi, City Rush와 Kingdom Conquest, Dark Empire같은 수많은 아이콘 타이틀을 제작하고 운영합니다.

Sonic Dash

Sonic Jump와 Sonic Dash와 같은 이전 버전의 모바일 게임은 인터넷 연결이 필요하지 않았으며 서버 기능도 없었습니다. 비교적 정적인 게임이었기 때문에, 초기에는 개발자가 Java 및 MySQL을 기반으로 하는 자체 기술 스택을 사용하였고 SEGA HARDlight 자체 데이터 센터에서 호스팅되는 릴리스를 지원했습니다.

이런 게임을 실행하기 위한 표준 관행은 서버를 중단 지점까지 로드 테스트한 다음, 허용 가능한 오류 지점을 처리하기 위해 리소스를 프로비저닝하는 방식이었습니다. 이 방식은 어플리케이션의 기능을 제한했으며, 프로비저닝 자원의 중단점에 도달하면 서비스가 중단될 수도 있습니다. 게임에 온라인 기능을 더 많이 추가되고 대중성이 높아지면서 전통적인 스택에 문제가 발생하기 시작했습니다.

대규모 접속: 폭발적인 트래픽

모바일 게임에는 흥미로운 부하 패턴이 있습니다. 출시 직후에는 엄청난 숫자의 사용자가 몰려듭니다. 최고의 인기를 끄는 게임이라면 몇 일 또는 몇 시간 만에 수백만 명이 사용한다는 의미입니다. 피크 시간은 대체로 짧으며, 그 후 진짜 사용자만 오래 남는 모습으로 빠르게 떨어집니다. 다이내믹한 게임의 이같은 방식의 트래픽을 프로비저닝하는 것은 큰 골치거리입니다. Crazy Taxi에서 나타난 그래프: 2014년 City Rush 출시에서 트래픽 피크가 어떤 모습인지 볼 수 있습니다.

인기있는 모바일 게임의 독특한 사용률 그래프

SEGA HARDlight 기술 이사인 Yordan Gyurchev와 이야기를 나누었습니다. "이처럼 거대한 부하에서는 데이터베이스가 조금만 변해도 엄청난 영향이 발생합니다. 완벽한 게임 경험을 제공하려면 개발자는 사용 중인 데이터베이스 성능의 장단점을 잘 알고 있어야 합니다."

Crazy Taxi : City Rush

Supersonic의 확장성

SEGA HARDlight는 게임이 분명히 온라인 기능을 더 많이 사용하고 훨씬 더 많은 사용자 활동을 유발하게 될 것이라고 알고 있었습니다. 게임 데이터의 대부분은 계정을 기반으로 하기 때문에 관계형 데이터베이스의 행과 열에 잘 맞아 들어가지 않았습니다. 이러한 한계 상황을 극복하기 위해 대안을 모색했습니다. Cassandra와 Couchbase를 검토해 보았으나, 관리가 너무 복잡하거나 자사의 SLA를 지원하는 데 필요한 지원이 충분하지 않다고 생각한 HARDlight 엔지니어는 MongoDB 데이터베이스의 서비스인MongoDB Atlas를 살펴보게 되었습니다.

그 후, 비용, 유지 관리, 모니터링, 백업 등의 여러 차원에서 광범위한 평가와 테스트를 진행했습니다. MongoDB는 기본적으로 대용량 및 항상 작동하는 배포를 처리할 수 있는 확장성과 유연성으로 유명했으나, HARDlight에서는 운영 측면에서도 지원이 필요했습니다. 고급 운영 도구인 MongoDB Atlas는 단 2명만 있는 작은 DevOps 팀이 게임에 수백만 명이

참여하는 경우에도 처리와 실행이 가능한 능력을 제공했습니다. 이제 더 이상 유지 관리, 업그레이드 또는 백업 등은 걱정할 필요가 없게 되었습니다. 실제로, 사용자 중 한 명은 특정 시점 백업과 복구 기능을 사용했습니다. 이것은, 버튼 클릭 한 번만으로 체크포인트에 롤백했다는 의미입니다. SEGA HARDlight는 MongoDB Atlas를 AWS에서 실행하여 보스 레벨 확장까지도 할 준비가 되었습니다.

"HARDlight는 작업에 적합한 도구를 찾는 데 큰 힘을 쏟고 있습니다. 수평적 확장성을 지닌 문서 데이터베이스를 사용하면 플레이어 계정을 기반으로 하는 게임에 가장 적합하다는 것을 알게 되었습니다."라고 Yordan은 말합니다.

"높은 트래픽 볼륨과 확장성이 뛰어난 솔루션을 만드는 능력이 섬세한 디테일을 파악하는 능력입니다. 그렇게 하기 위해 일반적으로 엔지니어는 스택의 여러 부분에 집중해야 하지만, MongoDB Atlas와 MongoDB는 엄청난 지름길을 알려줍니다. 이것을 사내에서 처리해야 했다면 데이터베이스 전문가가 필요했을 것입니다. 이제는 풍부한 지식, 전문 기술 및 최고 수준의 기술을 사용할 수 있습니다."

Sonic Forces

HARDlight의 최초 MongoDB 장착 게임은 Kingdom Conquest였습니다: Dark Empire는 처음부터 원활하게 출시되어 엔지니어에게 최초의 MongoDB 경험을 안겨 주었습니다. 그 다음은 2017년 후반 주말에 발표한 Sonic Forces였습니다: Speed Battle은 모바일로 출시했습니다. 인터넷에 계속 연결되어야 하며 순위표를 공유하고, 항상 작동해야 하는 까다로운 어플리케이션이었습니다. 실제로, MongoDB Atlas에서 실행되는 3개의 샤드 클러스터는 수백만 명의 게이머가 경쟁에 참여하는 복잡한 부하를 쉽게 처리할 수 ​​있도록 확장되었습니다. 이 데이터베이스는 짧은 대기시간으로 안정적이었으며 단일 서비스 중단도 없었습니다. 이 모든 것의 도움을 받아 출시는 원활했으며 DevOps 팀은 즐거웠고 게이머는 열성적이었습니다.

최신 SEGA HARDlight 모바일 게임: Sonic Forces: Speed Battle

Yordan의 결론은 다음과 같습니다. "MySQL을 사용했을 때는 게임 출시를 여러 번 한 후에 데이터베이스가 잘 지원되었습니다. MongoDB Atlas를 사용하면서 대규모 출시에서도 처음부터 성공적이었습니다. 그게 그렇게 어려운 일은 아닙니다."

게임 플랫폼이 진화하면서 오랜 세월 변해 온 것처럼, 데이터베이스 레이어도 성장하고 적응해야만 했습니다. SEGA HARDlight는 이제 모든 온라인 신규 게임에 MongoDB Atlas 사용을 확장시키고 있습니다. MongoDB Atlas가 운영, 관리, 확장을 담당해주고 있기 때문에 HARDlight는 전 세계에서 가장 인기있는 게임을 만들고 운영하는 데 집중할 수 있습니다. 또한, 자신감 있게 진행되고 있습니다.

1990년대의 인프라는 이제 사라졌습니다. 유명한 Blue hedgehog와 같이 모든 차원에서 최신이며 강력하고 빠른 스택으로 바뀌었습니다.

SEGA Hardlight는 유능한 엔지니어를 찾고 있습니다. 관심 있으신 분은채용 공고 를 확인하거나 다음 주소로 이메일을 보내십시오 hardlightcareers@sega.co.uk

오늘 Atlas 탐험을 무료로 시작하십시오. 무엇을 기다리고 있습니까?

© 2020 MongoDB, Inc.