Open Saves 소개: 게임용 오픈소스 클라우드 기반 스토리지
Rob Martin
Chief Architect, Google Cloud for Games
Emma Haruka Iwao
Developer Advocate
* 본 아티클의 원문은 2021년 4월 30일 Google Cloud 블로그(영문)에 게재되었습니다.
오늘날 게이머가 지속적인 스토리라인의 일부가 되는 방식으로 참여할 수 있는 풍부한 몰입형 환경을 제공하는 게임이 많습니다. 이러한 지속적인 경험을 선사하기 위해서는 게임 데이터가 게이머의 요구에 맞게 확장될 수 있도록 수많은 스토리지 기술이 필요합니다. 게임 개발자는 저장, 인벤토리, 패치, 다시보기와 같은 다양한 유형의 데이터를 저장해야 할 뿐만 아니라 스토리지 시스템의 고성능, 가용성, 확장성, 비용 효율성을 유지해야 합니다.
Google이 2K와 협력하여 개발한 Google Cloud 기반의 Open Saves는 여러 스토리지 백엔드에서 사용할 수 있도록 특별히 제작된 새로운 단일 인터페이스입니다. 이제 개발팀은 Cloud Storage, Memorystore 또는 Firestore 등 사용할 스토리지 솔루션에 대한 기술적 결정을 내리지 않고도 게임 데이터를 저장할 수 있습니다.
“Open Saves는 심층적인 업계 지식과 Google의 규모가 모두 필요한 게임 솔루션 분야에서 최고의 개발자와 협업하려는 당사의 의지를 잘 보여주는 결과물입니다."라고 2K IT 및 보안 부문의 조 가르폴라 부사장은 말했으며 "Google Cloud와의 지속적인 협업을 기대합니다.”라고 덧붙였습니다.
게임 개발팀은 최적의 백엔드 스토리지 솔루션에 대한 걱정 없이 Open Saves에서 게임 데이터를 저장할 수 있으며 운영팀 역시 필요한 확장성과 스토리지 옵션에 집중할 수 있습니다. 실제 작동 방식은 다음과 같습니다.
게임 개발자는 Open Saves를 사용하여 다음과 같은 특성의 클라우드 기반 게임 스토리지 시스템을 실행할 수 있습니다.
- 단순성: Open Saves는 메타데이터, 구조화된 객체, 구조화되지 않은 객체의 모든 작업에 사용할 수 있는 적절하게 정의된 통합 gRPC 엔드포인트를 제공합니다.
- 속도: Open Saves는 기본 제공되는 캐싱 시스템을 통해 데이터 배치를 빈도 및 데이터 크기에 따라 최적화하여 소형 바이너리 객체에 대해서는 지연 시간을 단축하고 대형 객체에 대해서는 높은 처리량을 달성합니다.
- 확장성: Open Saves API 서버는 Google Kubernetes Engine 또는 Cloud Run에서 실행할 수 있습니다. 두 플랫폼 모두 초당 수십만 개의 요청을 처리하도록 확장할 수 있습니다. 또한 Open Saves는 Firestore 및 Cloud Storage에 데이터를 저장하며 수백 기가바이트의 데이터와 초당 최대 수백만 개의 요청을 처리할 수 있습니다.
Open Saves는 확장성을 염두에 두고 설계되었으며 온프레미스부터 클라우드 또는 하이브리드에 이르는 모든 인프라에서 실행되어 모바일, 콘솔, 멀티플레이어, 싱글플레이어 등 어떤 게임과도 통합될 수 있습니다. 이 서버는 Go로 작성되었지만 API를 gRPC로 정의하기 때문에 다양한 프로그래밍 언어를 사용해 클라이언트나 서버에서 연결할 수 있습니다.
다음 코드에서 볼 수 있듯이 Open Saves에 쓰기 및 읽기가 매우 간단합니다.
Google은 2K Games와 협업하여 Open Saves를 활발하게 개발 중이며 GitHub에서 여러분의 참여를 기다리고 있습니다. 참여하는 방법에는 몇 가지가 있습니다.
- Open Saves 서비스 설치 및 배포
- API 참조 확인
- 개발 가이드를 읽고 참여
- open-saves-discuss 메일링 리스트 가입