매일 전 세계적으로 8백만 명에 가까운 플레이어들이 동시 접속하는 멀티플레이어 온라인 배틀 아레나 게임 리그 오브 레전드(League of Legends)는 그 자체로 리그가 형성되어 있습니다. 라이엇 게임즈가 개발한 리그 오브 레전드는 전 세계적으로 가장 많이 플레이되는 PC 게임으로 e-스포츠의 폭발적인 성장에 중요한 원동력이 되었습니다. 13개의 국제 리그를 대표하는 e-스포츠 팀들이 출전하는 리그 오브 레전드 월드 챔피언십은 세계 최대 규모로, 가장 많이 시청 및 팔로우 되는 e-스포츠 대회이자 가장 인기 있는 게임 및 스포츠 이벤트입니다. 

2006년에 설립된 라이엇 게임즈의 미션은 세계에서 가장 플레이어 중심의 게임을 개발, 배포 및 지원하는 것입니다. 플레이어 경험에 대한 집중적인 노력은 라이엇 게임즈가 하는 모든 일의 원동력입니다. 플레이어 경험과 다양한 시스템, 그리고 그 시스템이 실행하는 마이크로서비스에 대한 전반적인 가시성을 제공해주는 뉴렐릭의 관찰 플랫폼을 도입한 이유도 그 때문입니다.

자체 개발 툴로부터의 이동

라이엇 게임즈의 엔지니어링 관리자 저스틴 호킨스는 “우리 팀은 마이크로서비스를 대규모로 운영하는 방법에 중점을 둔다”며 “특히, 게임을 효과적으로 모니터링, 분류 및 운영하여 최상의 플레이어 경험을 제공할 수 있도록 모든 데브옵스 팀과 사이트 안정성 엔지니어링 팀 그리고 네트워크 운영 센터에 관찰성을 제공하는 것이 우리 임무”라고 설명합니다.

라이엇 게임즈가 보유한 마이크로서비스 아키텍처에서, 플레이어의 경험과 관련된 여러 다양한 서비스에 대한 가시성을 확보하기 위해서는 경험에 지장을 줄 수 있는 이슈를 신속하게 파악하는 것이 중요합니다. 호킨스는 “플레이어가 게임을 할 수 없다는 것은 우리에게 큰 문제”라며 “완벽하게 모든 것이 조율될 수 있도록 모든 요소들이 플레이어 경험에 미치는 영향에 대한 가시성이 필요했다”고 말합니다.

라이엇 게임즈는 처음 개발한 게임에서 필요한 관찰성을 확보하기 위해 자체적으로 지표, 로그 및 경고 기능을 개발했습니다. 새로운 게임 개발에 착수하기 전까지 이 기능들은 충분히 역할을 수행했습니다. 호킨스는 “새로운 게임들을 출시하게 되자 자체 솔루션으로는 확장에 한계가 있었다”며 “인프라를 확장하는데 투자를 할지 아니면 문제를 해결해줄 업체를 찾아 플레이어 경험을 구축하는데만 집중할지를 결정해야 했다”고 말합니다.

신뢰할 수 있는 단일 플랫폼 구현

동시에, 라이엇 게임즈는 텔레메트리 데이터에 대한 단일 뷰를 확보할 방법을 모색하고 있었습니다. 호킨스는 “수십 개의 툴을 사용하고 있었지만 모든 툴의 데이터를 종합하여 한 눈에 볼 수 있는 방법이 없었다” 며 “데이터를 세분화하여 이슈를 살펴볼 수 있는 여러 다른 방법들이 존재했고, 데이터는 여기저기 흩어져 있었기 때문에 모든 데이터를 한곳에 취합할 필요가 있었다”고 설명합니다. 흩어져 있는 다양한 툴과 확장성 문제를 해결하기 위해, 라이엇 게임즈는 기존 시스템과 여러 다른 툴들을 단일 관찰 플랫폼으로 교체하기로 결정했습니다.

"완벽하게 조율되어야 하는 모든 요소들이 플레이어 경험에 어떤 영향을 미치는지에 대한 가시성이 필요했습니다."

 저스틴 호킨스 엔지니어링 관리자, 라이엇 게임즈

워크플로우 향상을 위한 규모 확장

자체 개발된 시스템을 통해 라이엇 게임즈는 단일 로깅 기능을 공유하고 있었습니다. 호킨스는 “특정 규모에서는 효과적으로 작동하는 방대한 플랫폼이었지만, 가끔씩 ‘지난 24시간 동안의 서비스 로그를 표시하고 오류 메시지 찾기’와 같은 쿼리를 실행해야 했고, 특정 날짜의 인덱스에 18 테라바이트 규모의 로깅 데이터가 있는 경우에는 모든 다른 쿼리 속도가 느려졌다. 확장성 부족으로 인해 모든 직원의 워크플로우에 지장이 생겼다”고 말합니다.

그러나 뉴렐릭 Logs를 통해 로그 데이터와 뉴렐릭의 컴퓨트 리소스는 팀별로 세분화되고, 모든 쿼리의 응답시간이 대폭 개선되었습니다. 호킨스는 “팀들이 익숙하면서도 훨씬 더 응답력 높은 툴을 보유하게 되어 전체적인 경험이 향상되었다”며 “뉴렐릭은 대규모 사용에 맞게 구축되었고, 데이터 범위가 팀별로 세분화되기 때문에 세부적인 로그를 신속하게 검색할 수 있다”고 말합니다. 

또한 라이엇 게임즈는 뉴렐릭 Metrics로 전환한 후 지표 데이터의 확장성을 획기적으로 개선했습니다. “확장 한계에 부딪쳐 모든 것이 영향을 받을지 모른다는 우려없이 지표들을 상시 사용 및 검색할 수 있어야 했다”고 호킨스는 설명합니다.

알람의 효율적 활용

호킨스는 “지금까지 알람을 생성할 때 팀들은 어떤 지표가 중요한지 생각하고, 각 데이터센터 별로 기준을 수립해야 했다”며 “알람이 의미가 있는지, 그리고 그에 기반해 조치를 취할 수 있는지를 확인하기 위해 상당한 수동 큐레이션 작업이 필요했고, 잘못하면 가시성을 확보할 수 없게 되거나 지나치게 많은 알람으로 인해 팀이 피로를 호소했다”고 전합니다. 

사용자 정의가 가능한 뉴렐릭의 지표로, 라이엇 게임즈는 기준 중심의 알람을 사용해 팀들이 서비스에 도움이 되는 요소와 그렇지 않은 요소 사이에서 균형을 찾을 수 있었습니다. 호킨스는 “뉴렐릭은 기존 성과에 기반해 중요한 요소들을 파악하는데 도움을 준다”고 말합니다.

호킨스는 “뉴렐릭은 자사 서비스에 대한 가시성은 물론 그 서비스가 타사가 소유 및 운영하는 서비스와 어떻게 상호작용하는지에 대한 가시성을 제공해주었다”며 “올바른 문제를 해결하려면 상호 의존 관계를 파악하고 이에 대한 가시성을 보유하는 것이 중요하다”고 말합니다.

저스틴 호킨스 엔지니어링 관리자, 라이엇 게임즈

가시성 그 이상의 기능

단일 플랫폼을 구현한 후, 라이언 게임즈는 여러 마이크로서비스 전반에서 플레이어 경험을 보다 효과적으로 이해할 수 있게 되었습니다. 호킨스는 “뉴렐릭은 자사 서비스에 대한 가시성은 물론 그 서비스가 타사가 소유 및 운영하는 서비스와 어떻게 상호작용하는지에 대한 가시성을 제공해주었다”며 “올바른 문제를 해결하려면 상호 의존 관계를 파악하고 이에 대한 가시성을 보유하는 것이 중요하다”고 말합니다.

뉴렐릭의 기술이 주는 가시적인 혜택 이외에도, 호킨스는 뉴렐릭과의 협력이 다양한 가치를 제공했다고 봅니다. 그는 “이미 뉴렐릭과 공고한 관계가 구축되어 있었고, 뉴렐릭의 지원팀이 우리 의견을 적극 경청하며 도움을 아끼지 않았다”며 “라이엇 게임즈라는 기업에게 무엇이 중요한지를 이해하고 피드백을 수렴해 성과를 높여주려는 의지와 대응력을 보여주었다. 제품 교체가 일상적인 운영의 질과 도입을 향상시키는데 도움이 되었다”고 말했습니다. 

라이엇 게임이 훌륭한 플레이어 경험을 제공할 수 있도록 지원하는 것은 뉴렐릭에게도 대단히 중요하고 가치있는 일입니다.