현대적이고 간소화된 멀티플레이, 구글 클라우드 게임 서버 서비스
편리한 멀티플레이어 게임 스케일링을 제공한다
[자료제공: 구글 클라우드]
전 세계적으로 더 많은 플레이어들이 멀티플레이어 게임을 선호하게 되자, 개발자는 증가하는 수요에 대응하는 동시에 탁월한 플레이 경험을 선사하고 복잡한 글로벌 인프라를 관리하도록 게임을 스케일링해야 하는 과제에 직면했다.
이러한 문제점을 해결하기 위해 많은 게임사가 고액의 비용으로 자체 솔루션을 구축해 관리하거나 개발자의 선택과 통제 권한을 제한하는 사전 패키지 솔루션을 사용하고 있다.
2020년 초, 구글 클라우드는 오픈소스 게임 서버 스케일링 프로젝트인 ‘아고네스’를 기반으로 구축된 관리형 서비스인 게임 서버 서비스의 베타 버전 출시를 발표했다. 게임 서버 서비스는 ‘쿠버네티스’를 컨테이너 오케스트레이션에 사용하고 ‘아고네스’를 게임 서버 플릿에 대한 오케스트레이션과 라이프사이클 관리에 활용한다. 이는 게임 개발자에게 더욱 현대화되고 단순한 게임 관리 및 스케일링 패러다임을 제공한다.
구글 클라우드의 게임 서버 서비스 제공으로 인해 게임 프로덕션 워크로드에서 게임 서버 서비스를 보편적으로 이용할 수 있게 되었다. 게임 서버 서비스는 인프라 관리를 단순화해 개발자가 플레이어를 위한 더 나은 게임을 만드는 데 자원을 집중할 수 있도록 지원한다.
# 클러스터와 렐름
게임 서버 클러스터는 게임 서버 서비스의 가장 기본적인 개념으로 단순하게는 ‘아고네스’를 실행하는 쿠버네티스 클러스터를 뜻한다. 사용자가 클러스터를 정의하면 그 클러스터는 렐름에 추가되어야 한다.
렐름은 게임 클라이언트의 관점에서 결합력 있는 유닛으로 취급할 수 있는 게임 서버 클러스터의 사용자 정의 그룹이다. 개발자는 원하는 방식으로 렐름을 정의할 수 있지만 일반적으로 각 게임의 레이턴시 요건에 따라 렐름의 지역별 분포가 결정된다. 이러한 이유로 대부분의 게임은 대륙별로 렐름을 정의한다. 예를 들어 미국, 영국, 일본 등 주요 플레이 지역에서는 각각 북미, 유럽, 아시아 지역의 플레이어에게 서비스를 제공한다.
게임의 성공 여부와는 관련 없이 게임의 고가용성과 원활한 스케일링 경험을 보장하기 위해서는 단일 렐름에서 여러 클러스터를 실행해야 한다.
# 배포와 구성
렐름과 클러스터를 정의한 후 배포와 구성이라는 개념을 사용해 게임 소프트웨어를 롤아웃할 수 있다. 게임 서버 배포는 전 세계 게임 서버 클러스터 어느 곳이든 배포할 수 있는 게임 서버 소프트웨어의 글로벌 기록이다. 게임 서버 구성은 클러스터 전체에 출시될 게임 서버 버전의 세부 정보를 지정한다.
이러한 개념을 정의하면 ‘아고네스’와 게임 서버 서비스 사이의 뚜렷한 주요 차이점이 발생한다.
첫째. 사용자 지정 오토스케일링 정책을 정의할 수 있는 권한이 부여된다. 렐름과 클러스터로 세분화된 게임은 사용자가 직접 정의한 스케일링 정책과 함께 개발자에게 정확성, 제어, 단순화 등 이상적인 조합을 제공한다. 예를 들어 지역별 일간 게임 패턴에 맞게 더 많은 서버를 자동으로 프로비저닝 하는 정책을 렐름 수준에서 지정하거나 인게임 글로벌 이벤트에 대비해 전 세계적으로 동시에 모든 클러스터를 스케일업할 수 있다.
둘째. 배포와 함께 특정 렐름을 대상으로 새로운 게임 서버 바이너리를 전 세계 다른 지역으로 롤아웃 할 수 있는 유연성을 제공한다. 이를 통해 어떤 렐름에서든 새롭게 롤아웃한 소프트웨어의 A/B 테스트 또는 카나리 테스트를 진행할 수 있다.
마지막으로 구글 클라우드는 게임 서버 서비스를 최대한 사용자 맞춤형으로 구축하고 있지만 기술만으로 게임의 성공을 보장할 수 없음을 인지하고 성공적인 게임 출시를 준비하기 위해 고객 팀과 협력한다. 게임 서버 서비스를 지원해 게임이 장기적으로 끊임없이 성장할 수 있도록 지원하는 식이다.
# 게임용 오픈 아키텍처 구축
구글 클라우드를 통해 개발자는 언제든지 게임 서버 서비스에서 벗어나 ‘아고네스’ 클러스터를 직접 관리할 수 있다. 또한, 언제나 ‘쿠버네티스’ 클러스터에 직접 접속할 수 있기 때문에 ‘아고네스’ 설치에 게임별 추가사항을 원하는 대로 넣을 수 있다.
아울러 개발자가 선택권을 갖는 것도 중요하기에 현재 게임 서버 서비스는 구글 쿠버네티스 엔진에서 실행되는 클러스터를 지원하며, 구글 클라우드나 다른 클라우드 혹은 온프레미스 등 어떤 환경에서도 클러스터를 실행할 수 있는 기능을 개발 중이다.
개발자는 하이브리드 및 멀티 클라우드로 플레이어에게 적합한 곳 어디서든 자유롭게 게임 서버 워크로드를 실행할 수 있다. 또한, 적합한 하이브리드 및 멀티 클라우드 환경 전반에서 글로벌 플릿의 비용을 최적화하기 위해 게임 서버 서비스의 맞춤형 스케일링 정책을 이용할 수 있다.
일본 게임 개발사 스퀘어에닉스의 엘리엇 고잔스키 아키텍처 부문 책임자는 “스퀘어에닉스는 오랫동안 구글 클라우드를 사용한 고객으로서 구글 클라우드 게임 서버 서비스의 발전을 가까이서 지켜보고 있다”며 “컨테이너와 멀티 클라우드 기능은 미래의 대규모 멀티플레이어 게임 개발 시 매우 매력적인 기능이다. 구글 클라우드는 전 세계로 스케일링 가능하고 유연하고 개방적인 솔루션을 선보이며 게임 개발자에 대한 지속적인 노력과 헌신을 기울이고 있다”라고 밝혔다.
구글 클라우드의 게임 서버 서비스는 2020년 말까지 무료로 제공되며, 고객은 쿠버네티스 클러스터 사용에 대해서만 비용을 지불하게 된다.
게임 서버 서비스에 대한 더 자세한 내용은 구글 클라우드 게임 서버 서비스 제품 홈페이지나 빠른 시작 가이드, 유튜브에서 확인할 수 있다. ‘구글 클라우드 넥스트 20: 온에어’에서는 클라우드에서 대규모 글로벌 게임 출시를 지원하는 솔루션 세션을 제공한다.
[원문 기사] 디스이즈게임(디스이즈게임) “현대적이고 간소화된 멀티플레이, 구글 클라우드 게임 서버 서비스” (2020.08.25)