우리는 항상 네트워크에 연결된 삶을 살고 있다. 그리고 24시간 연결된 네트워크 안에서 우리는 항상 일종의 발자국을 남긴다. 스마트폰이나 PC로 인터넷을 할 때는 물론이고, 게임, 파일 다운로드 등 광범위한 영역에서 무언가를 했던 흔적을 남기고 다니는 것이다.

우리가 네트워크에서 남기는 흔적은 결국 '정보'와 '데이터'로 치환된다. 개개인이 남기는 흔적들은 그저 의미 없는 방황으로 보이지만, 많은 사람의 흔적을 취합하고 분석할수록, 일종의 '흐름'인 '의미 있는 데이터'를 도출해 낼 수 있다.

이렇게 방대한 데이터들을 분석하고, 활용하는 기술을 '빅데이터 프로세싱(Big data processing, 이하 빅데이터)이라고 부른다. 검색 엔진에서 쉽게 찾아볼 수 있는 검색어 분포도 시스템이나, 인터넷 쇼핑몰의 추천 상품 리스트 등이 그 예라고 할 수 있다.

▲ 내 '취향'의 영화를 알려주는 어플리케이션도 빅데이터를 활용한 예다.

빅데이터는 사람들이 가지고 있는 여러 취향과 로직을 통해, 유의미한 결과를 도출해 낼 수 있다는 것이 장점이다. 실제로 문제가 발생하기 전에 대비할 수도 있으므로, 많은 기업에서 활용법을 물색하고 있다. 그리고 이런 추세를 반영하듯, 넥슨에서도 서버관리 기술에 이 빅데이터를 적용해서 활용하고 있다.

특히, 서든어택2는 게임이 런칭되기 이전부터 이 빅데이터를 활용한 솔루션으로 로그를 관리했다. 어떤 장점이 있어서 이런 결정을 내리게 되었는가? 그리고 이런 결정에는 어떤 과정들이 있었을까? 이런 의문에 답하기 위해, 서든어택2의 개발 PM을 맡은 이익제 PM이 마이크를 잡았다.

이익제 PM은 이번 강연을 통해, 서든어택과 서든어택2에서 빅데이터 솔루션을 선택한 이유와 과정을 설명했다. 유저들이 남긴 데이터, '게임로그'를 어떻게 개발하고 활용할 것인지. 그리고 어떤 어려움이 있었는지를 중심으로 데이터 솔루션을 선택한 이유와 선택할 때 고민했던 부분들을 풀어나갔다.

▲ 강연을 맡은 서든어택2의 이익제 PM


■ 모든 것은 게임 로그 개발과 개선에서 시작했다.

이익제 PM은 자신이 신입 사원이던 시절에 맞닥뜨렸던 문제에서 모든 것이 시작됐다고 회상한다. 서비스 중인 게임을 관리하던 그는 입사 당시의 첫인상을 '쉼 없이 전달되는 장애'로 표현했다. 접속이 원활이 이루어지지 않는다는 유저들의 불만 사항은 물론, 다른 팀에서 전달되는 오류사항들이 쉴 틈 없이 밀려 들어왔기 때문이다.


그리고 입사 28 일차. 앞에서 말한 오류사항들을 파악하고, 해결하라는 미션이 하달됐다. 게임을 이용하는 유저들이 서버에 남기고 간 발자국, '로그'를 기반으로 문제를 파악하고 시스템을 구축하는 것. 그는 본격적인 수정 작업에 들어가기 앞서, 몇 가지 기준을 세우고 일을 진행했다.

가장 먼저 기준으로 삼은 것은 '정보''분석'이었다. 서버에 남아있는 로그를 직접 손으로 모아서 정량화하고, 일별 수치를 차트로 표현했다. 그 결과, 약 삼개월 간의 분량이 나왔다. 이후에는 도출된 정보를 분석하고, 어떤 부분을 수정해야 할 것인지, '판단'하는 과정이 이어졌다.

최종적으로는 가설을 수립하고, 난해한 로그 시스템을 손보기 시작했다. 스크립트 프로그램으로 로그를 정량화하고, 엑셀을 통해 분석할 수 있도록 변경했다. 몇 번의 수정을 통해 로그들은 '빅데이터'로 활용할 수 있는 데이터로 자리를 잡아갔다. 장애 대응이 빨라지고, 주간 서버 모니터링을 활용해서 문제점을 알아낼 수도 있었다.


이익제 PM은 로그 2.0에서 시도했던 것들을 통해, 유의미한 데이터를 얻어낼 수 있었으나 한계 또한 존재했다고 평가한다. 로그의 추가 수집과 변경에 드는 비용이 증가했고, 정작 필요한 작업량은 여전히 개선되지 않았다. 수집하지 못하는 데이터도 있었고, 실시간 분석의 여전히 어려웠다.

이런 한계는 서든어택2에서 시도한 '로그 3.0'에서도 그대로 드러났다. 수집과 활용 부분은 개선됐지만, 여전히 변경 비용이 많이 들었고, 작업량은 개선되지 않았다. 그는 이런 시도 끝에, 시간과 인력이 문제가 아니라, '적은' 시간과 인력으로 목표를 달성하는 것이 더 중요'하다는 것을 깨달았다. 그리고 이런 부분을 보완하기 위해, 빅 데이터 솔루션으로 눈길을 돌리게 됐다.



■ 적은 인력과 시간을 만족하기 위해 - "솔루션의 도입, 그리고 장단점"

빅데이터 솔루션을 활용하고자 결정했을 때, 그가 고민했던 부분은 '만드느냐, 사느냐'였다고 한다. 하지만 솔루션을 구입하지 않고, 직접 만들게 된다면 '적은 인력과 시간으로 목적을 달성'하겠다는 기준을 달성할 수는 없었다. 그래서 직접 개발하는 것보다는 '빅데이터 솔루션'을 구입하고, 이를 개발에 적용하게 된다.


솔루션이 제공하는 많은 기능 중에서, 그가 집중적으로 눈여겨봤던 부분은 '웹 연동'이었다. 이 기능을 활용하면, 기획 서버에는 파일만 쓰고, 솔루션을 통해서 분업하는 과정이 가능할 것으로 예상했다. 게다가 실시간으로 차트가 변화하는 것을 보여주며, 어디에 문제가 있는지도 파악할 수 있었다고 한다. 결국, 빅 데이터 솔루션으로 로그 흐름의 개선 가능성이 보인 것이다.

그는 많은 도움을 얻었고, 현재까지 개발에 사용하고 있는 빅데이터 솔루션이지만, 몇 가지 문제와 사용상 주의점이 있다고 전했다. 일단은 솔루션 교육이 난이도가 있다는 점. 그리고 높은 가격이 문제가 된다고 말한다. 또한, 솔루션 자체적으로 분석 가능한 로그를 남기거나, 라이브러리를 개발해주지는 못하므로, 사람이 관리할 필요성은 있다는 것을 강조했다.



■ 빅데이터 솔루션, 로그 개발에 어떻게 활용하는가? - 게임로그 개발과 활용 체크포인트

강연이 끝날 시간이 가까워지면서, 이익제 PM은 실질적인 게임로그 개발에 빅데이터 솔루션을 활용할 수 있는 요소들을 정리하는 시간을 가졌다.

그는 빅데이터 솔루션을 활용하고자 하는 업체, 청중들에게 '초기 단계부터 모든 데이터를 저장하기 보다는 활용이 확정된 로그만 저장할 것'을 당부했다. 솔루션 비용은 용량에 비례하고, 저장 스토리지는 매우 비싸기 때문이다. 결국, 게임로그 개발에도 애자일(Agile) 개발이 필요하다는 것이다.

그리고 '빅데이터'라는 단어에 너무 현혹되지 말고, 지금 가지고 있는 로그와 데이터를 모두 분석에 활용하고 있는지 파악하는 과정이 필요하다는 것을 강조한다. 현명한 구입과 활용을 위해서는 계획을 먼저 세우는 것이 무엇보다 중요하다는 것이며, 빅데이터 솔루션이 필요한 사람들은 '구매하거나 회사 공통조직에서 개발해서 사용할 것'을 당부하며 강연을 마쳤다.