ID PWD
최신 게임뉴스
오픈/클로즈 베타뉴스
게임업계 핫이슈
겜툰 FOCUS
게임 특집
인터뷰/업체탐방
게임 만평
게임 포토뉴스
 
인터뷰/업체탐방 HOME > 게임뉴스> 인터뷰/업체탐방
 
제   목 : [NDC 2022] 데브시스터즈 '포기하지 않는 엔지니어는 모든 문제를 해결한다'
작성자 : 등록일 : 2022-06-10 오후 5:46:59


넥슨 개발자 콘퍼런스(Nexon Developers Conference, NDC) 3일 차인 6월 10일, 데브시스터즈 데브옵스 인프라셀 이창원 엔지니어와 플랫폼셀 박새미 개발자는 '쿠키런: 킹덤, 총 56시간의 긴급 점검 회고 - 그때 그 명검은 왜 뽑아야 했는가'라는 주제로 강연을 진행했다.

데브시스터즈 핵심 가치는 '탁월한 기술, 서비스, 콘텐츠로 전 세계 유저들에게 최고의 경험을 선사한다'다. 데브옵스 팀은 이 핵심 가치에 부합하기 위해 '기술을 바탕으로 서비스를 고객들이 안정저긍로 이용할 수 있게 하자'라는 표어를 팀 미션으로 삼고 있다.



데브시스터즈는 '쿠키런: 킹덤'런칭을 준비하며 데이터베이스 사용자 데이터 7중 레플리카 등 다수 보호장치를 준비했다. 서버 개발자들과 협업해 79회에 이른 부하 테스트를 진행했으며, 덕분에 사전 상정 유저 수 보다 많은 사용자가 유입되었으나 런칭 직후 서버 불안정 이슈는 일어나지 않았다.

그러나 예상치를 훨씬 웃도는 성공으로 인해 데이터베이스 스토리지가 늘어나는 속도가 매우 빨라 조치를 취해야 했고, 통상적인 다응법인 호라이즌 스케일 아웃을 활용하기에는 스토리지 상승세를 예측하기 어려운 상황이었다.



이에 대응하기 위해 데브옵스 엔지니어 팀은 대응에 나섰다. 그러나 작업 중 클러스터 비일관성이 발생해 Configuration 이슈가 발생했고, 1월 25일 오후 4시 긴급 점검에 돌입한다. Configuration은 클러스터가 데이터를 인식하지 못하는 현상이다.

이 경우 새로운 클러스터를 만들어 데이터를 이전해 대응할 수 있으며, 이 과정이 너무 오래 걸려 데이터베이스 솔루션인 CockroachDB 바이너리 커스텀 개조에 돌입했다. 개조 완료 후에는 기용 가능한 모든 인프라를 동원해 이틀 뒤인 1월 27일 23시 37분 점검을 해제할 수 있었다.

점검 직후 로그인 요청이 폭증하며 에러가 다수 발행하던 중 결국 에러가 임계치를 넘으며 28일 2시 40분 경 2차 긴급점검에 돌입, 과부화된 클러스터와 비교해 임시 조치가 취해진 세 번째 클러스터를 준비해 오전 8시 30분, 점검시간 약 36시간 30분만에 점검을 완료했다.



개발진이 분석한 사태 발생 원인은 이용자 폭증으로 인한 데이터베이스 안정화 중 발생한 Configuration 이슈였으며, DB 솔루션 소스코드를 개조하고 데이터 분석 인프라를 수정해가며 Storage Layer을 복원 가능한 형태로 만들고 새 데이터베이스 클러스터에 이식해 문제를 해결했다.

이는 데이터베이스 솔루션 개발진이 매우 비효율적이며 실제 실행시 수 주에 걸친 작업이 필요하다고 경고한 작업을 극도로 짧게 처리하는 데 성공한 사례로, 새로 구성한 클러스터 역시 트래픽 한계를 맞아 세 번째 데이터베이스를 구축했는데도 DB 솔루션 개발진이 예측한 시간보다 훨씬 짧은 시간 내에 점검을 완료할 수 있었다.

점검 이후에 데이터베이스 용량을 추가로 확보했으며, Configuration 이슈가 발생하지 않도록 인프라 작업 프로세스를 개설했다. 이창원 엔지니어는 해당 이슈로 얻은 교훈으로 "고객을 위해, 개발팀을 위해 완벽한 서비스를 복구하려는 의지를 가진 엔지니어링 팀이 수단과 방법을 가리지 않고 포기하지 않으면 DB 제작사마저 포기하라고 종용하는 상황도 해결할 수 있다"라고 말했다.



점검 후 26일째인 2월 19일 도쿄 AWS 데이터센터에 장애가 발생해 클러스터 60대 중 6대가 고장나는 사태가 발생했다. 서버가 아닌 데이터베이스가 저장돼 있던 클러스터였기 때문에 자체 복구가 어려운 상황이었다. 따라서 개발진은 긴급 서버 점검을 진행했다.

다행히 6대 중 유저 DB가 저장된 2개 클러스터만 수정하면 되는 상황이었다. 박새미 개발자는 "이 시점에는 이미 큰 이벤트를 한번 겪었어서 첫 점검보다는 훨씬 더 일사분란하게 각자 할 수 있는 일을 수행해 주셨던 것 같다"라고 당시를 회고했다.

유실 데이터 중 일부 추출에 성공했으나 백업을 이용한 복구가 너무 오래 걸리는 상황에서 DB 솔루션 개발사가 최후의 수단이라고 공언한 불안정한 복구 명령어인 'Unsafe-Remove-Dead-Replica'를 수행했고, 이를 통해 고장난 클러스터 중 하나를 복구하고 나머지 하나를 정상적인 수단으로 복원할 수 있었다.

긴급점검을 통해 유저 데이터를 100% 사수하는데 성공하고 이전 장기점검때 해둔 대비 덕분에 빠르게 대응할 수 있었으나, 데이터베이스 자체가 너무 커 복구가 오래 걸렸음은 물론 AWS센터 고장에 정확히 대응하는 기능을 인지는 하고 있었으나 가능성이 낮다고 여겨져 적용을 미뤄둔 등 반성해야 할 점도 있었다.



개발팀은 총 56시간에 달하는 점검을 통해 고객을 위해 수단 방법을 가리지 않고 포기하지 않았을 때 어떤 장애도 해결할 수 있다는 점, 그리고 한 바구니에 모든 계란을 담으면 안된다는 교훈을 얻었다고 밝혔다.

또한 사고를 방지하기 위해 조직 문화와 대응 프로세스를 갖추는 일이 중요하며, 조직 구조 역시 효과적인 장애 해결에 중요한 영향을 미쳤다고 말했다.

박새미 개발자는 "해결에 필요한 인프라가 미리 갖춰져 있었고 운영도 지속적으로 해왔던 점이 사태 해결에 도움이 되었다"라며, "장애를 해결하기 위해 각자 역할을 할 수 있는 구성원들이 모두 같은 조직에 소속되어 있다는 점이 컸다"라고 말했다.

쿠키런은 이후 단번을 제외하면 같은 장애가 반복되는 일 없이 안정적으로 서비스를 제공하고 있다.



일련의 사태를 통해 개발진은 글로벌 스케일 인프라 운영에 대한 노하우를 얻을 수 있었으며, 정말 일어나지 않을법한 사고도 일어날 수 있다는 점을 배웠다고 밝혔다.

또한 실수 예방과 실수 관리에 대한 조직 문화가 중요하며, 사태 발생 후 책임자를 찾고 문책하기 보다는 문제 해결에 집중해 최선을 다하는 팀 문화가 유효하다는 사실을 깨달았다고 말했다.

이창원 엔지니어는 관련 사태를 회고하며 "아무리 우리 눈에 보이는 게 흰 고니밖에 없어도 어느날 갑자기 검은 고니가 튀어나올 수 있는 법이다"라며, "일어날 수 있는 일은 반드시 한 번쯤은 일어난다"라고 말했다.

겜툰 박현규 기자 news@gamtoon.com

덧글쓰기
 
2533의 게시물이 있습니다.
제목 내용
블리자드 오버워치 2 “하드카운터는 없다”  (1)  2022-09-16
블리자드 오버워치 2 “무료 유저도 모든 영웅 이용 가능”  (0)  2022-09-16
블리자드 WoW 용 군단 “유저 피드백 귀담아 듣고 있다”   (0)  2022-09-15
그라비티 라그나로크 아레나, “합리적 과금 제공하고 유저와 소통 중시”   (0)  2022-09-15
Pokémon GO 사파리 존 고양 9월 23일 개막, 고양시 “..  (0)  2022-09-06
부산글로벌게임센터 인디 게임 지원산업, '절전지훈(折箭之訓)'  (0)  2022-09-05
자율심의 시대, 게임물 등급분류 어떻게 달라졌나  (0)  2022-09-05
게임위 김규철 위원장 “게임위는 집행기관…'원칙' 따를 것”  (0)  2022-09-05
BIC 2022, 악천후에도 일반 참관객 방문 '성황'  (0)  2022-09-03
[BIC 2022] 에픽게임즈 신광섭 본부장 “콘텐츠 제작 방식 통합되는..  (0)  2022-09-02
[이전] 11 12 13 14 15 16 17 18 19 20 [다음]
 
     
개인정보취급방침 | 약관안내 | 겜툰소개 | 사업제휴 | 카툰제작 문의 | 저작권법 안내 | 저작권 침해사례 [신고/문의]
인천 사무실: 인천시 부평구 굴포로 158 502동 1802호 / TEL: 032-328-7660 / FAX: 032-328-7637
서울 사무실: 서울시 구로구 디지털로33길 48, 1104호(구로동,대륭포스트타워7차) / TEL: 02-6964-7660 / FAX: 0505-328-7637
제호: 겜툰   등록번호 : 인천광역시 아01025   등록일자 : 2009년 9월15일    발행인·편집인 : 송경민    청소년보호책임자 : 장요원
CopyrightⓒGAMTOON. All Rights Reserved.
d