
장기 라이브 서비스 게임에서 가장 어려운 변화는 ‘이미 잘 돌아가는 것처럼 보이는 시스템’을 바꾸는 일이다. 당장 장애가 발생하지 않는 인프라라 해도, 특정 담당자의 기억과 경험에 의존하는 구조가 누적되면 언젠가는 큰 사고로 이어질 수 있기 때문이다.
NDC 26에서 진행된 '메이플스토리M 데브섹옵스(DevSecOps) 전환기 - 라이브 게임을 멈추지 않고 바꾸는 비법' 세션은 이러한 문제의식에서 출발했다. 넥슨코리아 게임시스템팀 김준원, 넥스트옵스팀 김희수는 2016년부터 서비스를 이어온 장기 라이브 게임 '메이플스토리M'의 운영 구조를 DevSecOps 방식으로 전환한 경험을 공유했다.
'메이플스토리M'은 오랜 서비스 기간만큼 방대한 운영 리소스와 다수의 월드 데이터를 보유하고 있었다. 그러나 그 이면에는 담당자 개인의 기억에 의존하는 수동적인 운영 구조가 남아 있었다. 문제를 인식하더라도 쉽게 수정하기 어려웠고, 특정 인원만 아는 설정이나 장애 대응 방식이 존재했다. 당장은 문제가 없어 보이지만, 대형 사고가 발생했을 때 일부 인력의 부재가 곧 대응 불가 상황으로 이어질 수 있는 위험을 안고 있었던 셈이다.
이에 개발팀은 기존 경험을 시스템화하고 규격화하는 방향으로 전환을 시도했다. 세션에서 설명한 DevSecOps는 단순히 새로운 도구를 도입하는 일이 아니었다. 개발, 보안, 운영을 각각 분리된 영역으로 두는 것이 아니라, 도구와 사람, 프로세스를 하나의 운영 시스템으로 묶어 라이브 서비스의 안정성을 높이는 과정이었다.

전환 과정은 쉽지 않았다. 여러 조직을 하나의 공통된 방식으로 묶으려 해도, 팀마다 사용하는 용어와 일하는 방식, 위험을 판단하는 기준이 달랐다. 이를 해결하기 위해 팀은 깃(Git), 테라폼(Terraform)과 같은 공통 언어를 준비했고, 그보다 먼저 라이브 운영의 규칙을 안전하게 코드로 옮기기 위한 기준을 구체화했다.
물론 '메이플스토리M' 이미 라이브로 운영 중인 인프라였기 때문에 한 번의 실수는 곧바로 장애로 이어질 수 있었다. 개발팀은 운영 리소스를 재정립하는 과정에서 매우 조심스럽게 접근했으며, 이 구조를 '메이플스토리M'에만 머무르지 않고 다른 게임과 플랫폼에서도 활용할 수 있는 표준으로 만들고자 했다.
가장 중요하게 둔 원칙은 안정성이었다. 라이브 서비스 게임에서 정기 점검 시간 외의 다운타임은 최소화해야 하고 리소스 재생성은 곧 게임 내 장애 발생가 발생했음을 의미하기 때문에 역시나 최소화해야하는 부분이며 인프라 작업은 기반이 잘못되면 전체 구조가 흔들릴 수 있는 만큼 개발팀은 자동화의 속도보다 안정성과 신뢰성을 우선해 접근했다.

그 결과 서버 이전과 운영 자동화 과정에서 의미 있는 성과를 거둘 수 있었다. 데브섹옵스 체제로 성공적인 전환을 이뤄낸 이후 기존 방식으로는 1년 가까이 걸릴 수 있었던 작업을 수분 단위로 단축할 수 있었고, 구조에 맞는 스크립트를 자동 생성하면서도 안정성과 신뢰성을 크게 높였다. 단순히 작업 속도만 빨라진 것이 아니라, 운영 규칙이 파이프라인 안에 내장되면서 시스템이 스스로 위험을 감지하고 차단할 수 있는 구조가 마련됐다.
외부에서 유입되는 위험 요소는 시스템이 자동으로 걸러내고, 내부에서 발생할 수 있는 사람의 실수는 배포 전 단계에서 검증해 차단한다. 또한 변경 과정과 책임 소재가 파이프라인 안에서 명확하게 기록되기 때문에, 문제가 발생했을 때 원인을 추적하고 개선하는 과정도 이전보다 투명해졌다.
결국 ‘메이플스토리M’의 데브섹옵스 전환은 라이브 게임을 멈추지 않고 바꾸기 위한 시도였다. 중요한 것은 사고를 완전히 없애겠다는 비현실적인 목표가 아니라, 사고가 발생하더라도 그 경험을 숨기지 않고 시스템 단위의 교훈으로 각인하는 일이었다.
강연자들은 장기 라이브 서비스가 앞으로도 안정적으로 이어지기 위해서는 사람의 기억과 경험에 의존하는 운영을 넘어, 이를 규칙의 형태로 파이프라인에 새기는 구조가 필요하다는 메시지를 남긴 것이었다.
[신호현 기자 hatchet@chosun.com] [gamechosun.co.kr]
ⓒ기사의 저작권은 게임조선에 있습니다. 허락없이 무단으로 기사 내용 전제 및 다운로드 링크배포를 금지합니다.

몬길:스타다이브 

