▲ 황지현 펄어비스 리드 데이터베이스 엔지니어

펄어비스가 개발하고 서비스하는 '검은사막 모바일'의 서버 관리 노하우와 구축 과정을 살펴볼 수 있는 강연이 '유나이트 서울 2018' 현장에서 마련됐다.

'펄어비스의 Azure SQL DB 적용사례'라는 제목으로 진행된 이날 강연에서는 클라우드 기반으로 개발 및 운영되는 검은사막 모바일의 서버 구축 과정을 공유하는 자리로 마련됐다. 현재 검은사막 모바일의 서버는 VM 외에도 Azure SQL DB를 사용하고 있다.

강연을 담당한 MS의 송혁 프리미어 필드 엔지니어와 펄어비스의 황지현 리드 데이터베이스 엔지니어는 검은사막 모바일에서 Azure SQL DB를 도입하는 과정부터, 적용 경험을 공유한다. 그리고 이 과정에서 겪을 수 있는 기술적인 내용과 사레들을 청중에게 전하고자 했다.

송혁 엔지니어는 강연을 통해 먼저, Azure SQL 데이베이스(Paas, 이하 파스)의 장단점을 설명했다. 그는 "파스의 장점은 가용성 부분에 있다"고 알린 뒤, 필요 시 데이터베이스를 생성할 수 있는 특징을 강조했다. 또한, 파스는 지리적 복제를 통한 데이터 센터 간의 가용성이 보장되는 장점이 있었다. 이외에도 복구 기능, 데이터 영역을 4TB까지 지원하는 등 장점들이 있어 도입을 결정하는데 영향을 미쳤다. 도입 결정 이후 실제로 적용하는 과정에서는 기존에 존재하는 대량의 데이터와 관련한 복원 등의 번거로운 작업을 처리하기도 했다.


이후 자리한 황지현 엔지니어는 검은사막 모바일에서의 실제 도입 과정과 고려사항, 주의점 등을 전달하고자 했다. 데이터센터 간의 네트워크 서비스 확보 방법, 활용방안을 고민해야 했다. 그리고 DB개발과 운영 면에 있어서는 비즈니스 로직을 가장 잘 아는 사람이 개발해야 효율성이 높을 것 같다는 판단이 들었다고 설명했다.

실제 적용과정에서는 Azure SQL Paas의 성능 테스트를 먼저 거쳤다.수십만 명의 동시접속을 처리할 수 있을지 확인하기 위함이었다. 실제 테스트 결과는 성공적이었다. 클라우드 기반이었음에도 초당 처리량 10만 이상을 기록했고, CPU 사용률은 약 50% 정도만을 기록하는 결과를 얻을 수 있었다.

결과적으로 구축된 검은사막 모바일의 DB구조는 총 30여 개의 P15 Azure SQL DB로 구성됐다. 하루에 누적되는 로그의 양은 약 120억 건에 이르며, 운영 데이터베이스의 크기는 약 20TB라고 설명했다. 평균 DB CPU 사용률은 10% 미만을 기록하다가 피크 시에 30% 정도를 사용한다. 하나의 DB가 인스턴스 하나 자체인 구조이며, P15 자체가 DB 하나, 로지컬 서버의 역할을 한다.

검은사막 모바일에서의 서버 구축 과정에서의 고려사항, 모니터링 과정을 설명한 두 강연자는 강연을 마무리하며 매니지드(Managed)와 언매니지드(Unmanaged) 사이에서의 고민을 강조했다. 매니지드는 클라우드 서버를, 언매니지드는 오프레인 서버를 의미한다. 비유하자면 직접 구축하고 사용하는지에 따른 인프라의 차이다. 강연자는 이 둘을 두고 고민 과정에서 "차이점을 알고 두 가지를 모두 적절하게 사용하면 우리의 무기가 될 것"이라고 설명했다. 두 방식을 경험하는 것을 통해 개발자 스스로 강점을 살리고 게임 서비스에도 긍정적인 결과를 가져올 수 있음을 강조하며 강연을 마쳤다.

▲ 송혁 MS 프리미어 필드 엔지니어