밸로프(VALOFE Company)
게임 운영 역량 강화를 위해 GCP로 마이그레이션
밸로프는 온라인, 모바일 게임 개발과 글로벌 퍼블리싱을 하는 게임 전문 기업입니다. 전 세계 550만 회원에게 다양한 게임을 서비스하는 벨로프와 같은 기업에게 클라우드는 시장 진출 시간을 앞당기고, 최적의 게임 경험을 제공하는 데 있어 가장 합리적인 선택입니다. 벨로프는 여러 게임을 클라우드에서 서비스하면서 나름의 노하우를 확보하였습니다. 그중 하나는 기술 종속 우려가 있는 멀티 클라우드 전략의 위험입니다. 벨로프는 몇몇 PaaS의 자원 사용에 대한 불투명성으로 자원 과다 사용의 낭비를 초래할 수 있고, 외부 업체의 지원에 의존할 수 밖에 없는 기술 종속 우려까지 있다는 것을 한국산 모바일 MMORPG 게임인 이카루스M을 서비스하면서 체감하였습니다. 밸로프는 이 문제의 근본적인 해결책으로 자원과 성능에 대한 투명성 확보와 개방형 구조로의 전환을 선택했습니다.
“밸로프는 Azure에서 운영하던 모바일 MMORPG 게임인 이카루스M 서비스 관련 윈도우 서버 기반 애플리케이션과 데이터베이스를 GCP로 2개월 만에 마이그레이션하였습니다. 운영 중인 게임 서비스의 중요 환경을 다른 클라우드로 옮긴 이유는 멀티 클라우드 운영에 따른 운영 조직의 역량이 분산되는 문제와 관리형 PaaS의 불투명성으로 인한 숨은 비용과 플랫폼 종속에 대한 우려 때문이었습니다. 메가존은 우리의 고민에 대한 답을 GCP 환경에서 표준과 개방을 지향하는 쪽으로 아키텍처를 설계하여 운영 조직의 노하우와 역량을 한 방향으로 집중하는 것이었습니다. 마이그레이션 후 우리는 마이크로소프트 윈도우 서버와 SQL 데이터베이스 서버와 연계된 워크로드를 특정 기술과 플랫폼 종속 우려 없이 개방적이고 표준화된 방식으로 운영할 수 있게 되었습니다.”
<김정일 CTO, 밸로프>
온라인, 모바일 게임 업계는 클라우드를 주력 서비스 기반으로 삼고 있는 대표적인 업종입니다. 게임 개발부터 퍼블리싱까지 매우 빠른 속도로 이루어지고 있고, 시장도 전 세계를 대상으로 하다 보니 일일이 현지에 서비스 기반을 갖추는 방식으로는 경쟁에서 뒤처지기 쉽습니다. 이런 이유로 게임 업계는 클라우드 시장이 큰 고객이 되었습니다.
누구보다 앞서 적극적으로 클라우드를 사용하는 게임 업계 역시 ‘멀티 클라우드 전략’에 관심이 많습니다. 밸로프 역시 신규 게임 출시할 때마다 다양한 서비스를 검토하며 멀티 클라우드가 갖는 이점을 살펴보았습니다. 막상 경험해 본 결과 멀티 클라우드는 명암이 뚜렷했습니다.
특정 클라우드 서비스 의존도를 낮출 수 있다는 것은 분명한 장점으로 다가왔습니다. 하지만 게임 서비스 측면에서 보면 득보다 실이 많았습니다. 일단 서비스 운영 조직의 역량 강화가 쉽지 않습니다. 밸로프와 같이 다양한 게임을 지속해서 글로벌 시장에 서비스하는 기업의 경우 운영 역량을 키워나가는 것이 매우 중요합니다.
멀티 클라우드는 다양성의 이점이 크지만, 운영 조직의 지식과 노하우 그리고 역량이 분산되는 문제가 있습니다. 사람을 뽑고, 교육하여, 운영 현장에 내보내는 것부터 시작해 노하우를 바탕으로 클라우드 관련 성능, 보안, 비용 등을 최적화하는 역량을 각각의 클라우드 서비스마다 따로 해야 합니다. 다음으로 기술 종속의 문제도 있었습니다. 밸로프가 실제로 사용해 보니 편리함을 앞세운 관리형 PaaS 중 일부는 외부 업체의 기술 지원에 의존할 수 밖에 없어 기술 종속의 우려가 있었습니다.
밸로프는 ‘최적화’의 초점을 멀티 클라우드가 아니라 운영 역량 강화 쪽으로 옮긴 후 이에 맞는 전략 및 구축을 실행할 곳을 찾았습니다. 밸로프는 여러 제안을 받아 본 후 메가존의 도움을 받아 GCP로 이카루스M 서비스 기반을 옮기기로 했습니다.
이카루스M은 마이크로소프트 Azure로 서비스하고 있었는데, Azure Cosmo DB를 쓰면서 밸로프는 멀티 클라우드 전략의 맹점을 직접 체감했습니다. 운영 편의성이 높을 것이란 기대로 관리형 PaaS로 데이터베이스를 이용하면 순조로운 멀티 클라우드의 시작이 될 것이란 것이 당초 기대였습니다. 하지만 Azure SQL, Azure Cosmos DB를 사용해보니 기대와 다른 점이 있었습니다. Azure SQL이냐 평소 쓰던 마이크로소프트 SQL 서버와 유사성이 높다 보니 운영에 큰 무리가 없었습니다. 하지만 Cosmos DB 경험이 많지 않다 보니 기술 지원 업체의 도움이 절실했습니다. 더불어 Cosmos DB의 경우 RU(Request Unit)라는 과금 단위를 적용하다 보니 비용의 직관성이 떨어지고, 알게 모르게 안 써도 되는 비용을 쓸지 모른다는 우려도 있었습니다. 아무래도 정량제 서비스와 비교해 비용이 더 높게 나올 수 있다는 합리적 의심을 할 수 밖에 없었습니다. 이에 밸로프는 Azure SQL, Azure Cosmos DB를 전환하기로 결정하였습니다.
벨로프는 메가존에 의뢰해 기존 환경 분석과 전환 계획 수립을 요청했습니다. 본격적인 분석 작업에 착수한 메가존은 Azure 환경에서 불필요하게 Cosmos DB 이용 요금이 많이 나가는 문제를 발견했습니다. 이외에도 밸로프가 인지하지 못한 용처가 불분명한 인스턴스로 인한 숨은 비용 발생 문제도 찾았습니다. 메가존은 기존 문제를 해결하는 가운데 기술 종속 우려가 없는 개방형 구조로 인프라와 플랫폼 환경을 설계해 밸로프에 제안하였습니다.
제안 내용은 크게 두 가지 였습니다. 먼저 글로벌 게임 서비스 지원을 위한 데이터베이스의 고성능 및 고가용성 확보를 위해 VM 인스턴스 상에서 마이크로소프트 SQL을 운영하고, HA 구성에 따른 비용 부담을 줄이기 위해 Stackdriver로 모니터링을 강화하여 운영 측면에서 고가용성을 확보하는 것을 제안하였습니다. 다음으로 Cosmos DB를 MongoDB로 전환하여 숨은 비용을 줄이는 것이었습니다. 더불어 메가존은 MSDN 외에 딱히 내부 역량을 높일 리소스를 찾기 어려운 Cosmos DB와 달리 MongoDB는 인터넷을 통해 수많은 자료를 참조할 수 있어 외부 기업의 기술 지원에 대한 의존도를 줄이는 데에도 유리하다는 의견을 전달했습니다.
메가존은 이카루스M이 서비스 중이란 점을 고려해 사전 계획 수립에 만전을 기했습니다. 특히 가장 민감하고, 중요한 이전 대상인 Azure SQL, Azure Cosmos DB 데이터베이스 마이그레이션은 만에 하나 있을지 모르는 문제를 방지하기 위해 충분한 시간을 들여 백업과 복원 테스트를 수행하였습니다. 이를 바탕으로 Azure에서 GCP로 이전할 때 어느 정도 다운타임 시간을 잡아야 하는지 정확하게 일정 계획 세웠습니다.
물론 이전 계획 수립에만 공을 들인 것은 아닙니다. 메가존은 안정적인 게임 서비스를 위한 성능 튜닝과 모니터링 방안도 철저히 마련했습니다. 고가용성 보장을 위한 이중화 구성의 경우 메가존은 윈도우 서버 환경을 위해 로드밸런서를 위한 헬스체크 모듈을 개발해 배치했습니다. 메가존이 직접 모듈을 개발한 이유는 GCP의 네트워크 로드밸런서의 헬스 체크 기능이 HTTP 프로토콜만 지원하여 밸로프가 운영하는 윈도우 서버 기반 애플리케이션을 재구성해야 하는 불편이 있었기 때문입니다.
사전 검토와 준비를 마친 메가존은 벨로프가 요구한 2개월의 시간 동안 한국, 일본, 대만 지역 서비스를 대만 리전과 일본 리전에 모두 이전하는 작업에 착수했습니다. 매우 짧은 일정이었지만 마이그레이션을 진행하면서 메가존은 Stackdriver와 Bluemedora사의 Bindplane를 이용해 세부적으로 애플리케이션을 모니터링하여 최적의 사이징 작업을 하였습니다.
중요 이전 대상인 데이터베이스의 경우 Azure SQL의 데이터를 GCP 상에 올린 마이크로소프트 SQL 데이터베이스 서버로 내보낼 때 생길 수 있는 이슈를 피하고자 사전 최적화 작업을 진행하였습니다. Azure Cosmos DB의 데이터를 오픈 소스 도구인 Mongo DB의 도구를 사용했습니다. 이외에 Azure Cache for Redis를 GCP의 Cloud Memorystore로 바꾸면서 기존에 과하게 사용하던 용량을 실제 사용량 기반으로 조정하였습니다.
밸로프는 메가존의 도움으로 이카루스M을 Azure에서 안전하고 신속하게 GCP로 이전하였습니다. 1차 이전 대상지였던 대만 리전으로의 마이그레이션을 유지보수 시간을 이용해 안전하게 처리한 다음 메가존은 일본 리전 이전 작업을 시작했습니다. 일본 리전 이전의 경우 네트워크 모니터링이 집중적으로 진행되었습니다. 아무래도 MMORPG 게임을 서비스해야 하다 보니 일본 리전에서 한국 게임 사용자까지 수용하려면 해저 케이블 네트워크의 레이턴시 체크가 필수였습니다.
밸로프는 한국에 구축했던 애저 기반 이카루스M 서비스 환경을 2개월 만에 대만과 일본 리전으로 이관했습니다. 이를 통해 기존 애저 환경이 갖는 자원 낭비 이슈와 관리형 서비스에 대한 기술 종속 문제를 한번에 해결했습니다.
관련해 벨로프 관계자는 “메가존의 도움으로 Azure 및 외부 파트너의 기술 지원에 종속적인 PaaS 서비스를 보편적인 환경인 GCP 마켓플레이스에서 제공하는 MongoDB와 사전에 테스트와 튜닝을 마친 마이크로소프트 SQL 이미지로 바꾸었습니다. 그리고 Stackdriver와 Bluemedora사의 Bindplane를 이용해 마이크소프트 SQL 서버, Mongo DB의 세부적인 모니터링을 수행해 인스턴스 사이즈를 적절한 수준으로 조정했고, 그 결과 숨은 비용을 제거하고, 자원 낭비를 줄였습니다.”라고 말했습니다.
이외에 밸로프는 GCP로 전환을 계기로 관리형 서비스가 제공하는 운영의 편리함이 주는 단기적인 효과보다 중장기적으로 개방형 표준을 기준으로 인프라, 플랫폼, 애플리케이션 구축과 운영에 대한 역량을 키우는 쪽으로 전략을 구체화하였습니다.
메가존은 클라우드 기반 게임 서비스에 대한 이해가 높습니다. 이에 따라 고객사인 밸로프의 멀티 클라우드 관련 고민을 잘 이해하고 고객이 원하는 방향으로 솔루션을 제시함과 동시에 고객사 내부 역량도 높일 수 있는 쪽으로 클라우드 전략을 제안하였습니다.