인프라 관리자 없이 글로벌 게임 서비스 환경 갖춰
9M Interactive에 대하여
9M Interactive는 글로벌 게임, IT 기업 출신의 베테랑들과 스마트한 주니어들이 함께 이끌어가고 있는 게임 개발사입니다. 대표작인 ‘얼티밋 테니스(Ultimate Tennis, 국내명 슈퍼스타 테니스)’는 3년 넘게 전세계 유저들에게 사랑받고 있습니다. 개발, 운영, 퍼블리싱에 대한 경험을 바탕으로 하루에 수 십만 명이 접속하는 게임들을 외부 퍼블리셔 없이 직접 전 세계에 서비스하고 있습니다.
어떤 어려움을 겪고 계신지 알려주세요. Google Cloud가 도와드리겠습니다.
문의하기모바일 게임 ‘얼티밋 테니스’를 개발, 운영하는 9M Interactive는 2014년 창업 시기부터 Google Compute Engine을 이용해 인프라를 구축했습니다. Google Cloud Platform은 시스템 관리와 보안에 대해 따로 부서를 두지 않아도 게임 개발 그 자체에 집중하고, 전 세계를 대상으로 안정적인 온라인 게임 서비스를 운영할 수 있게 해주는 밑바탕이 되고 있습니다.
구글 클라우드 사용 효과
- 획기적인 인프라 운영 절감
- 인프라 운영 인력없는 효율적 조직 구조
- 해외 지사 없이도 글로벌 게임 운영
- 개발 기간 단축 및 운영 안정성
서버 하나로 전 세계 글로벌 게임 서비스 운영
‘얼티밋 테니스’와 ‘익스트림 풋볼’ 등 모바일 게임을 개발, 운영하는 9M Interactive는 스포츠 게임을 개발하던 경험을 토대로 새로운 게임을 만들고자 하는 목표로 2014년 창업한 스타트업입니다. 김성훈 대표는 EA코리아의 게임 개발 스튜디오에서 게임 개발 업무를 맡았던 경험으로 회사를 시작했습니다.
하지만 개발 경험이 있다고 해도 모바일 게임을 서비스하는 것은 그렇게 쉬운 일은 아닙니다. 특히 네트워크를 통해 이용자들끼리 실시간으로 접속하는 온라인 스포츠 게임을 전 세계 규모로 서비스하려면 탄탄한 인프라가 필요합니다. 물론 가장 효과적인 운영 방법은 전 세계를 대상으로 하는 클라우드 플랫폼을 이용하는 것입니다.
Google Compute Engine으로 인프라 관리 인력 없는 개발 환경
9M Interactive의 네트워크 인프라는 Google Cloud Platform에서 시작됐습니다. 창업 이후 첫 게임인 ‘얼티밋 테니스’부터 지금 개발중인 차기작들까지 모두 Google Compute Engine을 통해 개발, 운영되고 있습니다. 직접 서버와 데이터센터를 꾸리고 인프라를 관리하기 어려운 스타트업들이 클라우드로 사업의 기틀을 다지는 경우는 많습니다. 하지만 기업들이 클라우드를 받아들이는 세부적인 이유는 모두 다르고, 또 비즈니스를 이어가면서 방향성과 목표가 달라지기도 합니다. 9M Interactive 역시 Google Cloud Platform을 오랫동안 이용하면서 클라우드에 대한 기대가 처음과 달라졌고, 적극적으로 활용도를 높여가는 기업입니다.
“초기 창업 시기에는 시스템 운영 경력이 많지 않았지만 인프라를 직접 갖추고 운영하면서 경험을 쌓고 배워야 한다는 생각이 강했습니다. Google Compute Engine을 이용하긴 했지만 서비스를 적극적으로 이용하는 것보다는 서버 호스팅 정도에 의미를 두었습니다. 자체 기술과 인프라의 독립성을 갖는 것이 중요하다고 판단했기 때문입니다.”
박재민 소프트웨어 엔지니어 팀장은 초기에 Google Compute Engine을 쓴 이유로 가상머신을 자유롭게 다룰 수 있다는 점을 꼽았습니다. 서비스를 직접 개발, 운영하는 기업들이라면 직접 데이터센터를 갖추는 과정을 중요하게 생각합니다. 기업이 스스로 운영과 관련된 기술을 다 알고, 작은 것 하나까지 손댈 수 있어야 한다는 이유 때문입니다. 9M Interactive 역시 초기에는 클라우드를, 또 Google Cloud Platform을 계속 쓸 것인지에 대한 확신이 없었기 때문에 처음 인프라를 설계할 때부터 조심스러운 상황이었습니다.
“데이터베이스처럼 Google Cloud Platform 내의 관리형 서비스를 도입했다가 그 편리함에 익숙해지고, 플랫폼에 종속되어서 자체 기술을 놓치고 온프레미스나 다른 클라우드 서비스로 이전하지 못하는 것 아니냐는 우려가 있었지요. 그래서 처음에는 모든 서비스를 가상 머신 기반으로 설계하고, 미들웨어까지 직접 개발했습니다.”
하지만 9M Interactive는 지난 5년 동안 Google Compute Engine을 문제 없이 잘 쓰고 있습니다. 이전 계획도 없고, 오히려 점점 더 많은 Google Cloud Platform의 관리형 서비스(Managed Service)를 이용하고 있습니다. 가장 많이 달라진 것은 클라우드에 대한 생각입니다. 걱정하던 것처럼 ‘어쩔 수 없이’ 쓰는 것이 아니라 클라우드 컴퓨팅의 효과를 충분히 누렸고, 앞으로의 기업 경쟁력에도 Google Compute Engine의 기능들이 도움이 되기 때문입니다.
“모바일 게임에서 인프라는 아주 중요합니다. 하지만 작은 스타트업 입장에서는 인프라 운영에 많은 힘을 쏟기 어렵습니다. 게임 회사가 가장 집중해야 하는 역량은 시스템 관리가 아니라 더 재미있는 게임을 만드는 데에 있습니다. 개발 기간을 줄이고, 이용자간의 연결 속도를 높이고 보안과 안정성을 높일 수 있는 방법이 있는데 직접 데이터센터를 구축하고 관리하는 데에 힘을 쏟을 이유가 없습니다.”
김성훈 대표는 시스템 운영 인력을 줄이는 것이 창업 초기부터 이어온 중요한 목표라고 말합니다. 지금도 9M Interactive에는 운영 전담 팀이나 인력이 따로 없습니다. 개발 엔지니어가 스스로 필요한 자원을 직접 관리하는 업무 문화가 자리를 잡았습니다. 아예 초기 Google Compute Engine 위에서 설계할 때부터 관리 인력이 필요하지 않도록 구성했고, 서비스 규모가 늘어난 지금도 운영과 관련된 업무는 조금도 늘어나지 않았습니다. 오퍼레이션과 관련된 일을 아예 없애는 조직과 기업 문화가 갖춰진 셈입니다. 대신 그만큼의 인력과 비용, 시간을 온전히 게임 개발 그 자체에 집중할 수 있게 되면서 게임의 질이 높아졌고, 이용자들의 요구 사항에 대한 대응도 빠르게 이뤄질 수 있게 됐습니다.
“새로 시작하는 모바일 게임 스타트업이 직접 데이터센터에 인프라를 구축하는 것은 큰 부담입니다. Google Cloud Platform은 곧바로 필요한 자원들을 안정적으로 제공해서 별도의 운영 관리 부서와 인력 없이도 효과적으로 게임을 개발, 운영할 수 있었습니다. 덕분에 얼티밋 테니스를 비롯해 저희가 개발한 모바일 게임들은 각 지역의 퍼블리셔 없이도 안정적으로 전 세계 수 십만 게이머들을 안정적으로 한 자리에 모을 수 있었습니다.”
—- 김성훈 9M Interactive 대표“퍼블리셔 없이도 전 세계로 게임 서비스해”
운영 인력과 함께 9M Interactive에 없는 것이 또 한 가지 있습니다. 바로 게임 퍼블리셔입니다. 보통 게임은 개발사가 만들고 이후의 운영과 영업 등은 퍼블리셔에게 맡기곤 합니다. 하지만 9M Interactive는 Google Cloud Platform을 쓰면서 세계 시장에 똑같은 환경의 게임을 제공할 수 있습니다. 굳이 해외 시장을 위해 퍼블리셔의 손을 빌릴 필요가 없게 된 겁니다. 모바일 게임 기업들에게 중요한 해외 시장 진출에 큰 부담이 없다는 이야기로도 통합니다. 9M Interactive가 게임을 전 세계로 직접 유통, 운영할 수 있는 데에는 네트워크 환경도 큰 영향을 끼쳤습니다.
온라인 게임은 접속 속도를 높이기 위해 나라별, 혹은 대륙별로 서버를 구분하는 경우가 많습니다. 하지만 9M Interactive는 얼티밋테니스를 개발하면서 지역별 서버를 나누지 않고 전 세계 이용자가 서버 한 곳에 접속하도록 설계했습니다. 트래픽 관리는 Google Cloud Load Balancer에 맡기기로 했습니다. 북미 리전 Google Compute Engine에 게임 운영에 대한 모든 것이 담겨 있고 Cloud Load Balancer를 통해 전 세계 이용자들의 트래픽과 응답 속도를 조율하는 구조입니다.
“처음에는 서비스 규모가 크지 않았기 때문에 지역별로 서버를 나누면 이용자가 분산되면서 매칭될 수 있는 확률이 줄어들 수 있었습니다. 그래서 서버를 나누는 대신 전 세계 이용자들이 한 곳에서 게임을 즐길 수 있는 방법을 찾았고, Google Cloud Balancer로 멀리 떨어진 이용자들 사이의 응답 속도를 높였습니다.”
Google Cloud Load Balancer는 본래 몰려드는 트래픽을 분산하는 기술인데 네트워크 경로를 최적화해주는 효과도 있습니다. 구글이 직접 운영하는 데이터센터 사이의 자체 전용망을 통해 빠르게 통신하고, 그 외의 환경에서도 최적의 인터넷 연결 경로를 찾아 접속합니다. 덕분에 지구 반대편에 있는 이용자 사이에서도 네트워크 지연에 영향 받지 않고 게임을 즐길 수 있습니다. 김성훈 대표는 Google Cloud Load Balancer를 ‘데이터간의 고속도로같다’고 표현했습니다.
“지사의 역할은 사업적으로는 의미가 있지만 개발과 서비스 관점에서는 의미가 없습니다. 접속 품질이나 인프라 관리를 위해 실제 현장에 나갈 일이 없습니다. 국가별로 네트워크 최적화도 Cloud Load Balancer가 가장 좋은 경로를 결정해줍니다.”
김성훈 대표는 일부 국가에 인력을 두고 있기는 하지만 게임 운영에 대한 역할이 아니라 영업이나 현지에서 해결해야 하는 일들을 맡을 뿐이라고 말했습니다. 전 세계의 네트워크 접속 상황은 서울 본사 사무실에서 실시간으로 체크하고 적절하게 운영하고 있습니다. 운영에 인력과 비용이 쏠리지 않도록 하는 원칙은 퍼블리싱에도 똑같이 적용됩니다.
자원 할당 위해 Kubernetes로 확장, “여전히 목표는 인프라 관리 없는 운영”
9M Interactive의 다음 목표는 Google Cloud Platform 위에 구축한 가상머신 환경을 컨테이너 기반으로 만드는 것입니다. 얼티밋 테니스는 이제까지 초기에 설계했던 대로 가상머신의 수를 늘려가면서 확장을 했는데 여러 가상머신이 각각의 역할을 맡기 때문에 프론트 서버부터 데이터베이스, 매칭 시스템 등 모든 시스템을 똑같은 비율로 스케일아웃해야 했습니다. 가상머신 기반의 인프라는 접속량이 줄어드는 상황에 적절히 대응하기도 어려웠다고 합니다. 박재민 팀장은 이 문제를 해결하기 위해 다음 작품에는 컨테이너를 적극 활용할 계획이라고 말했습니다.
“최근 새로 서비스를 시작한 익스트림 풋볼은 Kubernetes Engine으로 개발, 운영하고 있습니다. 컨테이너는 클라우드의 강점이 잘 드러나서 컴퓨팅 자원 할당이 효과적이고, 개발 과정에서도 필요한 인프라를 새로 만들거나 지우기도 쉽습니다. 개발 과정에서 이뤄지는 다양한 접근에도 서버에 찌꺼기를 남기지 않기 때문에 개발 속도도 빨라지고 관리도 깔끔했습니다.”
특히 가상머신 기반의 서비스를 운영할 때는 CPU는 여유가 있지만 스토리지가 가득 차는 것처럼 기능 일부에 부담이 늘면 전체 게임 운영에 영향을 받기도 했습니다. 하지만 Kubernetes Engine을 이용하면 각각의 자원들을 필요한 만큼 할당하고, 필요 없을 때는 규모를 줄이는 것이 자유롭기 때문에 개발 과정에서 자원에 대해 신경 쓰지 않아도 된다고 합니다. 그만큼 개발이 더 빠르고 효율도 높일 수 있다는 것이 박재민 팀장의 설명입니다.
“대개 클라우드 컨테이너 환경에서는 자원 할당이 자유롭지 않아서 CPU를 늘리면 필요 없는 메모리와 스토리지가 따라오는 경우도 있었는데 Google Cloud Platform은 0.1단위로도 적절하게 자원을 나눠 쓸 수 있어서 비용면에서 효과적입니다.”
9M Interactive는 점점 더 많은 부분을 클라우드로, 그리고 관리형 서비스로 이전할 계획입니다. 인프라에 대해서는 직접 만드는 부분을 최소화하는 것을 목표로 하고 있습니다. Google Cloud Platform의 관리형 서비스는 완성도도 높을 뿐 아니라 사용이 편리하고, 개발 과정도 더 명확해지기 때문입니다. 9M Interactive의 운영 환경에 대한 방향성은 여전히 인프라와 관련된 요소들을 클라우드에 맡기고 게임 개발에 집중하는 데에 있습니다. Google Cloud Platform은 그 목표를 가장 효과적으로 완성해주는 밑바탕이 되고 있습니다.
어떤 어려움을 겪고 계신지 알려주세요. Google Cloud가 도와드리겠습니다.
문의하기9M Interactive에 대하여
9M Interactive는 글로벌 게임, IT 기업 출신의 베테랑들과 스마트한 주니어들이 함께 이끌어가고 있는 게임 개발사입니다. 대표작인 ‘얼티밋 테니스(Ultimate Tennis, 국내명 슈퍼스타 테니스)’는 3년 넘게 전세계 유저들에게 사랑받고 있습니다. 개발, 운영, 퍼블리싱에 대한 경험을 바탕으로 하루에 수 십만 명이 접속하는 게임들을 외부 퍼블리셔 없이 직접 전 세계에 서비스하고 있습니다.