111퍼센트 (111%)
빠르게 성장하기 위한 환경 구축을 위해 구글 클라우드를 시작한 111퍼센트
111퍼센트는 전 세계 200여 국가 약 1억 명의 게임 유저들을 보유하고 있는 모바일 기반 미드 코어 캐주얼 게임을 만드는 회사입니다. 2015년 1인 개발자로 시작해 현재 약 200여 명의 회사로 성장했으며, 대표 게임으로는 <랜덤 다이스>, <비비탄> 등이 있습니다.
111퍼센트는 매년 괄목할 만한 성장을 해오면서도 2020년도에는 더 폭발적인 성장을 하였습니다. <랜덤 다이스>라는 타이틀로 연 매출 1500억 원을 달성하였고 서비스 일일 사용자는 80만 명을 기록했습니다. 전 세계 다양한 국가에 유저들에게 큰 관심을 받으면서 회사도 급격하게 성장하고 있습니다.
회사 규모가 커지면서도 게임 서비스도 함께 확장되었습니다. 데이터 분석과 같이 사업적 의사결정을 내리기 위한 서비스부터 시작해서 운영에 필요한 서비스까지 기존에는 필요치 않았던 다양한 니즈들이 발생했고, 그만큼 더욱더 많은 인력과 리소스가 투입이 필요했습니다. 빠른 성장을 지속하면서 동시에 이 모든 것을 만족시키는 것은 매우 어려운 과제였고, 제로베이스에서 자체적으로 모든 것을 만든다고 하여도 테스트와 운영에 대한 더욱더 많은 노력이 필요하다는 것도 깨달았습니다.
이를 해결하고자 여러 시도와 고민 끝에 각종 클라우드 서비스와 SaaS를 적극적으로 활용하여 서버리스 아키텍처를 구현하는 것으로 방향성을 확고히 결정하였습니다. 그뿐만 아니라 111퍼센트는 Global One Build 전략을 기본으로 하기에 전 세계적으로 낮고 안정적인 레이턴시를 유지할 수 있는 Google Cloud를 선택하게 되었습니다.
빠른 성장 속도를 유지하기 위해, 인프라 운영보다는 대부분의 개발 리소스를 게임의 콘텐츠 생산에 집중하길 원했습니다. 때문에 관리형 서비스 도입을 위한 매우 적극적으로 많은 시도를 했으며, 기존에 사용에 익숙한 VM 환경보다는 컨테이너 기반 혹은 코드 기반으로 배포 가능한 관리형 서비스들을 선택했습니다. Cloud Run, App Engine, Cloud Functions이 그 예시이며, 이를 통해 실제로 개발에 더 많은 집중을 할 수 있었고 빠른 성장을 유지하고 있습니다.
Google Cloud Platform을 처음 접하게 된 것은 Firebase를 사용하면서입니다. Firebase의 Authentication, Realtime Database와 GCP의 Cloud Storage, Cloud Function 사용하였고, 실시간 콘텐츠가 없는 캐주얼 게임의 게임 서버를 대체하기에는 부족함이 없었습니다. Firebase의 Authentication Service와 Cloud Function을 이용하여 서버 운영을 전혀 신경 쓰지 않으면서도 게임에 필요한 서버 기능들을 만들어 제공할 수 있었습니다.
2020년 이후에는 더 다양하고 규모 있는 게임들도 개발이 되기 시작했습니다. 기존의 아키텍처로는 이 확장성을 커버하기 어려웠고 비용적인 측면에서도 조금 아쉬운 부분이 있었습니다. 확장성을 위해 함수 기반으로 동작하는 Cloud Function의 사용 빈도를 줄이고 App Engine과 Cloud Run을 더 사용하게 되었습니다.
App Enigne과 Cloud Run도 외부 트래픽에 대한 Load Balancing과 Auto Scaling을 지원하였고, Cloud Function보다는 컨트롤할 수 있는 범위가 늘어나 좀 더 계획적으로 인프라를 구성하고 최적화를 할 수 있었습니다. 그뿐만 아니라 무중단 배포를 간편하게 할 수 있도록 제공하고 있어, 서비스 중에도 업데이트나 재시작, 점검 등이 필요할 때 서비스의 연속성을 유지할 수 있었습니다.
기존 Google Analytics에 의존적이었던 로그 수집 파이프라인도 Cloud Function 과 Cloud Monitoring을 적극적으로 이용하여 자체적으로 구성하였습니다. Google Analytics에 의존하지 않아 더욱 확장성 있게 많은 데이터를 수집할 수 있었고, Cloud Monitoring으로 인해 서버/클라이언트에서 발생시키는 실시간 로그 조회 또한 가능토록 하였습니다.
개발에 집중할 수 있는 운영 환경을 구축한 것이 Google Cloud Platform을 통해 111퍼센트가 가장 크게 얻은 혜택입니다. 사업이 커질수록 당연히 서비스 또한 복잡해질 수밖에 없습니다. 그에 따라 많은 인력이 필요해지고, 다양한 역할들이 생겨나기 마련입니다. 앞서 여러 번 언급하였지만, 이러한 변화에 의해 조직의 성장이 더뎌질 것을 가장 걱정하고 주의하였습니다. 저희 111퍼센트는 구글 클라우드 도입을 통해 온전히 개발에만 집중할 수 있도록 환경 구축이 가능했고, 실제 빠른 속도로 개발하며 성장하고 있습니다.
안정적인 서비스 환경을 일정하게 유지할 수 있다는 점이 또 다른 장점이 될 수 있을 것 같습니다. Multi-Region으로 서비스를 운영할 수도 있겠으나, 비용적으로나 관리 차원에서 불리할 수밖에 없습니다. 구글 클라우드는 Private 네트워크 망을 이용해 매우 안정적이고 낮은 레이턴시를 제공합니다. 저희는 구글 클라우드의 이런 장점을 이용해서 Global One Build / One Region으로 서비스를 안정적으로 제공하고 있습니다.
일관된 인터페이스로 다양한 서비스를 선택적으로 사용 가능하다는 점도 구글 클라우드를 사용하면서 느낀 장점 중에 하나입니다. 모든 CSP가 다양한 서비스를 제공하지만, 유사하고 익숙한 인터페이스를 제공하기 때문에 어떤 서비스를 사용해도 어려움 없이 사용할 수 있었습니다. 또한 잘 설계된 인증 체계로 관리를 할 수 있어 큰 규모의 서비스를 구성하고 관리하기에도 용이합니다.
“클라우드 환경에 대한 경험이 적은 개발사가 시행착오 없이 클라우드를 잘 사용하기란 쉽지 않은 일인 것 같습니다. 저희 111퍼센트는 메가존과 함께하며 큰 어려움 없이 클라우드를 도입하였고 성공적으로 서비스를 제공하고 있습니다. 항상 고객의 서비스를 최우선으로 생각하고, 신속하고 정확한 솔루션을 제시하는 메가존은 언제나 믿을 수 있는 최고의 파트너입니다.”
<박진욱 CTO, 111퍼센트>