단일 서버로 속도, 보안, 유연성 갖춘 글로벌 게임 웹 서비스 구축
Barunson E&A에 대하여
바른손이앤에이는 영화, 온라인 게임, 모바일 게임 등 다양한 콘텐츠를 유통, 활용해 혁신으로 발전된 콘텐츠를 한발 앞서 선보이는 글로벌 콘텐츠 허브를 목표로 하고 있습니다. PC용 온라인 게임 아스텔리아를 비롯해 칸 영화제 황금종려상을 받은 영화 ‘기생충’으로 글로벌 시장 진출에서도 뚜렷한 성과를 내고 있습니다.
어떤 어려움을 겪고 계신지 알려주세요. Google Cloud가 도와드리겠습니다.
문의하기바른손이앤에이는 PC온라인 게임 ‘아스텔리아’를 미국과 유럽에 서비스하기 시작했습니다. 두 지역의 게임 운영은 온프레미스로 구축됐지만 가입, 결제, 아이템 구매 등은 모두 클라우드에서 웹 서비스 기반으로 만들었습니다. 구글 클라우드 플랫폼은 별도의 최적화 없이 단일 리전으로도 두 대륙에서 서비스가 원활하게 이뤄졌고 확장과 기능 추가에서도 유연성을 자랑했습니다.
구글 클라우드 사용 효과
- 미국 동부 리전 구축으로 북미, 유럽 통합 서비스
- Google Cloud CDN, 50GB대 클라이언트 빠르게 배포
- 빠른 네트워크로 북미, 유럽 통합 서비스
- 빠르고 저렴한 클라이언트 배포
- 필요한 리소스 유연하게 확보
26개 Google Compute Engine 가상 머신 운영
바른손이앤에이는 영화, 게임 등 여러가지 문화 콘텐츠를 개발하고 유통하는 기업입니다. 2019년 칸 영화제에서 황금종려상을 받으며 세계 영화 시장을 놀라게 했던 봉준호 감독의 영화 ‘기생충’도 바른손이앤에이의 작품입니다. 이 바른손이앤에이의 큰 사업 중 하나가 바로 글로벌 온라인 게임입니다.
바른손이앤에이는 현재 미국과 유럽에서 PC용 MMORPG인 ‘아스텔리아’를 하이브리드 클라우드로 운영하고 있습니다. 대규모 접속을 지연 없이 받아내야 하는 PC용 온라인 게임의 특성상 실질적인 게임 운영은 지역별로 직접 데이터센터로 처리하고 있고, 나머지 회원 가입과 요금 결제, 아이템 구입 등에 대한 처리는 Google Cloud Platform을 이용하고 있습니다.
미국과 유럽 시장 연결하는 통합 서비스 구축
온라인 게임은 초기에 많은 접속자가 몰리다가 어느 순간 동시에 접속하는 이용자 숫자가 안정세를 찾아가는 특성이 있습니다. 게임마다 다르지만 초기와 안정기 사이의 접속자 수 차이는 몇 배씩 됩니다. 온프레미스로 이 접속자 트래픽을 모두 처리하는 것은 효율적이지 않습니다. 초기 투자 비용은 많이 들어가고, 나중에는 유휴 자원이 늘어나기 때문이지요. 결국 바른손이앤에이는 서버 자원이 많이 필요한 게임 운영은 온프레미스로, 그 외의 접속, 결제, 이용자 데이터 관리는 클라우드로 구성하기로 했습니다. 바른손이앤에이 방명원 기술본부 실장은 클라우드 서비스 선택에서 네트워크 속도를 첫 번째 기준으로 삼았습니다.
“북미와 유럽을 통합해서 운영할 수 있을 정도의 네트워크 속도가 필요했습니다. 특히 게이머들은 속도에 예민하기 때문에 결제, 구매 등에 대해서 응답 속도가 빨라야 했습니다. 현재 아스텔리아는 미국 동부 리전의 Google Cloud Platform을 이용해 서비스를 구축했는데, 따로 전용망이나 네트워크 경로 최적화 없이도 북미 전역과 유럽에서 원활하게 서비스가 운영되고 있습니다.”
게임에서 응답 속도는 아주 중요한 요소입니다. 온라인 게임 내 웹 서비스는 언뜻 보면 게임 진행에 직접적으로 영향을 끼치지 않는 것 아니냐고 생각할 수 있습니다. 하지만 결제의 많은 부분이 게임 진행중에 앱 내 브라우저에서 이뤄집니다. 게임의 가입이나 결제는 아주 빨리 이뤄져야 하고 실제 게임에 반영도 빨라야 합니다. 서비스가 머뭇거리면 신뢰가 떨어지고, 곧바로 가입자들이 떠나는 것이 온라인 게임이기 때문입니다. 바른손이앤에이는 내부적인 분석으로 응답 속도가 150밀리초를 넘으면 이용자들이 지루해 한다고 판단했습니다.
바른손이앤에이는 애초 대륙마다 서버를 두고 웹 서비스를 운영하는 방법을 고민했습니다. 사실 가장 최적의 환경은 서버 한 대로 모든 서비스 지역에서 원활하게 서비스를 제공하는 것입니다. 하지만 물리적으로 거리가 멀어질수록 네트워크가 제 속도를 내지 못하면서 특히 응답 속도를 맞추기가 쉽지 않은 경우가 많습니다. 이를 극복하기 위해 대개 기업들은 속도를 높이기 위해 별도의 네트워크 서비스를 이용하는 경우가 많습니다.
“Google Cloud Platform은 대륙을 연결하는 전용 네트워크를 직접 운영하고 있어서 거리에 관계 없이 충분한 속도를 유지할 수 있다고 기대했습니다. 또한 ‘Google Cloud Router'의 BGP(Border Gateway Protocol) 세션 설정을 통해 네트워크를 최적화하면 북미와 유럽에서 모두 원하는 응답 속도를 얻을 수 있다는 점에도 주목했습니다.”
애초부터 방명원 실장은 최소한의 최적화를 염두에 두었고, Google Cloud Platform이 이를 쉽게 처리해줄 수 있을 것이라고 생각했습니다. 그런데 실제로 테스트를 해보니 별도로 BGP를 이용하지 않아도 Google Cloud Platform의 기본 네트워크만으로도 충분히 빠른 접속 속도가 나왔다고 설명합니다.
“특별히 네트워크 관련 서비스를 설정하거나 사설 네트워크를 이용하지 않아도 기준으로 삼았던 150밀리초를 넘는 일은 없었고, 미국 내에서는 80밀리초, 유럽에서도 110밀리초 안에 원하는 패킷이 전달됐습니다. 지금도 게임에 접속한 플레이어들은 사실상 이 결제 서비스가 어느 지역에서 이뤄지는지 체감할 수 없습니다.”
결과적으로 아스텔리아의 웹 서비스는 미국 동부 리전 Google Cloud Platform의 기본 네트워크만으로도 북미와 유럽에서 원활하게 운영되고 있습니다.
50GB 클라이언트 파일도 안정적으로 전송
네트워크 문제가 해결되면서 나머지 서비스도 원활하게 구축됐습니다. 아스텔리아의 대부분의 서비스는 ‘Google Compute Engine’의 가상 머신에 올라가 있습니다. 웹 개발 과정에서 준비했던 26개 서버가 모두 클라우드에서 운영되고 Google Cloud Platform의 관리형 서비스를 더해서 전체 인프라를 완성했습니다.
“아스텔리아의 웹 서비스용 데이터베이스는 ‘Google Cloud SQL'로 운영됩니다. Google Cloud SQL은 통계 분석이나 Google BigQuery에 데이터를 주기적으로 전송하기에 유리했기 때문입니다. 현재 데이터는 복제 데이터베이스와 재난복구용 데이터베이스로 3중화 처리를 해서 안전하게 운영중이고, 분석을 위한 막대한 데이터 전처리에서도 속도와 안정성 모두 만족스럽습니다.”
게임 클라이언트의 배포를 위해 ‘Google Cloud CDN'도 이용합니다. PC용 온라인 게임이 점차 화려해지다 보니 아스텔리아의 클라이언트 설치 파일도 30GB에 달합니다. 여기에 추가적으로 패치가 계속 더해지면서 PC 한 대당 전송되는 파일이 50GB를 넘어서고 있습니다. 이 데이터를 빠르고 안정적으로 전송하면서도 저렴한 CDN 서비스도 필요했습니다. 방명원 실장은 네트워크 응답 속도를 고민했던 것과 마찬가지로 CDN에서도 속도와 요금을 중요시했다고 설명합니다. 무엇보다 Google Cloud CDN은 전송이 빨랐다고 합니다.
“CDN은 트래픽에 따라 Google Cloud Platform 외 다른 클라우드 서비스를 함께 이용하는데 Google Cloud Platform의 CDN이 안정적이고 전송 속도도 잘 나옵니다. 미국과 유럽에서 Google Cloud CDN의 전송 속도가 최대 50%까지 더 빠르게 나오기도 합니다.”
“유연성, 그리고 합리적인 요금 체계에 만족”
방명원 실장은 실제로 서비스를 운영하면서 느낀 Google Cloud Platform의 강점으로 유연성을 꼽았습니다. 시스템 구성과 자원 관리까지 Google Cloud Platform은 개발과 운영에 거의 모든 요소들을 자유롭게 구성할 수 있어서 새로운 기능들을 더하고 업데이트하는 과정의 부담이 크게 줄었다고 합니다.
“애초에는 웹 서비스를 프라이빗 네트워크로만 이용한다고 생각해서 보안을 위해 외부 연결을 차단했는데, 운영중에 특정한 패킷을 외부로 내보내야 하는 상황이 있었습니다. ‘외부와 통신할 수 있는 IP주소를 심어야 할까’, 혹은 ‘로드밸런서를 이용해서 패킷을 이동해야 할까’를 두고 고민하고 있었는데 Google Cloud Platform을 살피다 보니 특정 패킷을 외부로 내보내기만 하고 접속 시도가 들어오는 것은 차단하는 ‘Google Cloud NAT’를 적용해서 기존 시스템 운영에 전혀 영향받지 않고 처리할 수 있었습니다.”
가상머신 설계의 유연성도 높았습니다. 방명원 실장은 이전까지 경험했던 클라우드 서비스들은 한 번 시스템을 설계하면 추가하기가 어려운 경우가 많았다고 합니다. 실수로 일부 컴포넌트를 빼놓을 수도 있고, 운영 중에 기능을 새로 개발하면서 추가적인 요소들이 더해져야 하는 경우도 있는데 이 때 가상머신을 아예 처음부터 새로 만들어야 했는데 Google Cloud Platform은 가상머신을 만드는 과정에서 미리 확장성을 염두에 두고 구성을 미리 챙겨주었고, 필요한 기능들을 추가하기도 쉬웠다고 합니다.
유연성은 클라우드 자원의 활용에서도 드러납니다. 아스텔리아의 웹 서비스 데이터베이스는 Google Cloud SQL에서 MySQL로 개발했습니다. 그 과정에서 개발자들이 패킷에 대한 최대 버퍼 용량, 힙 메모리 등 데이터베이스 엔진의 셋팅들을 기본적인 것부터 복잡한 세부 항목까지 모두 조정할 수 있었습니다.
“대체로 클라우드 서비스에서는 PaaS 형태의 데이터베이스의 리소스를 조정하려면 아예 인스턴스를 바꿔야 했습니다. Google Cloud Platform은 CPU 코어 수나 메모리, 스토리지 등 부족한 부분만 세세하게 만져서 딱 필요한 만큼의 시스템 자원을 할당할 수 있어서 비용적인 측면에서도 유리할 뿐 아니라 그만큼 개발도 쉬웠습니다.”
특히 방명원 실장은 “Google Cloud Platform의 지속 할인이 주는 비용적인 혜택은 경험해보지 않으면 알 수 없다”는 이야기를 했습니다. 바른손이앤에이가 Google Cloud Platform을 처음 접했던 것은 대만에서 모바일 게임을 서비스할 때였습니다. 대만에서 쓸 수 있는 유일한 퍼블릭 클라우드 서비스가 Google Cloud Platform이기도 했지만 속도와 성능 뿐 아니라 요금 체계에 대해서 다른 경험을 했다고 합니다.
“적절한 클라우드 사용량 계약은 아주 어려운 일입니다. 특히 게임 서비스는 사용량을 정확히 예측하기 힘든데 Google Cloud Platform은 오래 쓰면 기간에 따라 저절로 할인이 더해지는 것은 물론이고, 실시간으로 사용 요금에 대해서 모니터링하고 예측할 수 있었습니다. 대시보드에서 사용량 분석을 바탕으로 적절한 서버 사양을 추천해주기도 했습니다.”
“구글 클라우드 플랫폼은 인프라 구축과 운영에 대해 전문 지식이 없어도 개발자나 운영자가 직접 리소스를 모니터링하고 관리하기에 쉽고 과정도 유연합니다. 서비스를 운영하는데 필요한 자원과 인프라 규모, 기능들을 직접 세세하게 조정할 수 있게 되면서 효율성이 높아졌고 기능 확장에 대한 부담도 줄어들었습니다.”
“개발자, 운영자의 의도 반영 쉬운 클라우드 서비스”
바른손이앤에이는 Google BigQuery를 이용해 BI를 위한 데이터 관리를 준비하고 있고, 앞으로 이 데이터를 기반으로 머신러닝 등 더 정교한 분석 환경을 만들어갈 계획입니다. 현재는 Google BigQuery의 Data Studio를 이용해 동시 접속자 동향, 아이템 선호도, 유료 아이템의 판매 지표 등을 읽을 수 있는 서비스를 개발 중입니다.
"애초 게임 퍼블리싱을 준비하면서 내부적으로 BI 분석에 대한 고민을 했습니다. BI 수준의 분석까지 필요한가에 대해서 내부에서도 의견이 엇갈리기도 했지만 게임이 유럽에서 기대 이상의 성적을 거두면서 흥행의 이유를 파악할 필요가 생겼습니다. 결국 이용자들이 게임에 느끼는 감정들을 세밀하게 읽어내려면 데이터웨어하우스 기반의 데이터 수집과 분석이 필요하다는 공감대가 다져지고 있습니다.”
방명원 실장은 웹 서비스로 접하기 시작한 Google Cloud Platform이 데이터 분석으로 확장되는 과정이 자연스럽게 이어졌다고 말했습니다. 바른손이앤에이 역시 클라우드 이용에 대해서 필요한 부분을 받아들이게 됐고, 인프라에 관계 없이 할 수 있는 일과 필요한 일이 무엇인지 직접적으로 고민을 하는 분위기가 만들어졌다고 합니다. 그 이유로는 직관적인 UI를 꼽았습니다. 한 마디로 쓰기 쉽고 원하는 것들을 기술적으로 만들어내는 데 제약이 줄었다는 이야기입니다.
클라우드에 대해서 전문적인 지식이 있지 않더라도 기본적으로 소프트웨어 개발이나 엔지니어링에 대한 경험이 있다면 기본적인 용어만 이해하는 정도로도 원하는 기능들을 모두 구현할 수 있다는 것이 방명원 실장의 설명입니다. 이는 현재 서비스를 어렵지 않게 만들어서 잘 운영하고 있다는 의미도 있지만 앞으로 필요한 기능들에 대해서 더 과감하게 시도할 수 있는 밑바탕이 됩니다.
“인프라 구축과 운영에 대해 전문성이 없어도 개발자가 직접 리소스를 모니터링하고 관리할 수 있다는 것은 커다란 강점입니다. 서비스를 운영하는데 필요한 자원과 인프라 규모, 기능들은 기업내 개발자가, 운영자가 가장 잘 알고 있습니다. 클라우드는 그 판단을 현실로 만들어주는 서비스입니다. 어떻게 보면 당연한 일이지만 이 과정이 매끄럽게 이뤄지는 클라우드 서비스는 흔치 않습니다.”
보안과 신뢰, 기능을 모두 아우르면서도 이 모든 것들을 쉽게 구현할 수 있다는 것은 결국 기업이 클라우드에 기대하는 가장 큰 가치이기도 합니다. 동시에 어려운 일이기도 하지요. 방명원 실장은 그 기본적인 경험을 Google Cloud Platform에서 찾을 수 있었다고 합니다.
어떤 어려움을 겪고 계신지 알려주세요. Google Cloud가 도와드리겠습니다.
문의하기Barunson E&A에 대하여
바른손이앤에이는 영화, 온라인 게임, 모바일 게임 등 다양한 콘텐츠를 유통, 활용해 혁신으로 발전된 콘텐츠를 한발 앞서 선보이는 글로벌 콘텐츠 허브를 목표로 하고 있습니다. PC용 온라인 게임 아스텔리아를 비롯해 칸 영화제 황금종려상을 받은 영화 ‘기생충’으로 글로벌 시장 진출에서도 뚜렷한 성과를 내고 있습니다.