안녕하세요, 라인플러스 하반기 공채 지원자 여러분.
저는 금일 큰 장애와 함께 불편을 끼쳤던 구름TEST를 운영/제공하는 코다임의 대표이사를 맡고 있는 류성태입니다.
2018년 9월 29일 10시부터 저희 구름TEST를 통해 진행된 “2018 하반기 신입/인턴 LINER 공개채용”과정 중 1교시 코딩테스트가 정상적으로 진행되지 못한 점 깊은 사과의 말씀을 드립니다.
주말 이른 시간부터 긴장하시고, 또 기대하셨을 시험에 실망을 드려 매우 죄송합니다.
구름TEST는 2016년 10월 첫 출시 이후, 현재까지 대규모 코딩 테스트를 진행하는 데 있어 시스템 장애가 발생한 적이 단 한 번도 없었습니다.
하지만 금일 서비스 장애가 발생하였고, 이로 인해 응시자 여러분들께 큰 불편과 손해를 끼친 점, 전부 저희가 책임져야할 부분이라 생각하여 직접 사과의 말씀을 올리게 되었습니다.
그리고 막연하게 장애에 대해 사과하기 보다는 지금까지 파악된 장애 원인 파악 상황에 대해서도 정리하여 공유드리는 것이 예의라 생각되어 메일을 드립니다.
저희 코다임은 기업의 중요한 과업 중 하나인 인재 채용 프로세스에 활용되는 코딩 테스트의 안정적이고 문제없는 운영을 위해 노력 중입니다.
매번 실제 규모의 1.5배 이상의 부하를 견뎌내는 지 시험 당일 2일 전에 스트레스 테스트를 진행하고 있으며, 이는 이번 시험에 대해서도 마찬가지였습니다.
2일 전인 27일 오후 9시 47분부터 무중단으로 점차적으로 부하를 늘려가며 오후 10시 37분까지 약 50분 가량 스트레스 테스트를 진행하였으며,
별다른 문제가 없다 판단하여 금일 시험을 진행하였는데, 예기치 않게 장애가 발생하게 되어 매우 송구스럽고 죄송할 따름입니다.
아직 파악되지는 않았지만, 장애의 원인이 무엇이었든 가장 근본적인 책임은 저희의 역량과 준비 부족이라고 말씀드리고 싶습니다.
금일 시험 당일 오전 10시부터 진행된 시험은 동시에 수천명이 시험에 접속하는 과정까지는 순조롭게 진행이 잘 되었으나, 시험 시작 이후 8분후에 최초로 제출이 오래 걸린다는 메일을 받았습니다.
실시간으로 서비스 모니터링을 진행 중이었기에 바로 원인 파악을 진행하였고, 응시자 여러분들의 소스 코드가 제출되어 최종 저장되는 스토리지 서버의 CPU 사용량 중 system time이 급증한 것을 확인하였습니다.
워낙 시험 초기였기 때문에, 금일 수천명의 접속자에 비해서 제출 요청은 수십회 정도로 적은 편이었기 때문에 system time이 급증할 이유를 찾기는 어려웠으나, 이로 인해 제출 요청에 장애가 생긴 것은 명백했습니다.
위의 왼쪽 그래프는 저희가 전체 서비스를 모니터링할 때 사용 중인 zabbix의 당시 CPU 사용량을 보여줍니다.
장애가 발생한 시간부터 시험을 중지하게 된 시점까지 저희가 취한 어떤 조치에도 CPU의 system time이 줄어들지 않는 상황이었습니다.
10시 55분 경 시험 중지가 확정되면서 10시 55분 이후 해당 인스턴스를 재부팅하였고, 곧바로 해당 현상이 사라지며 안정화되었습니다.
이후 현재까지 시스템 로그를 살펴보고 2일 전의 부하테스트 3회분의 데이터와도 그 추이를 비교 분석 중입니다만, 안타깝게도 이에 대한 명확한 원인은 아직까지 파악하지는 못한 상황입니다.
저희의 역량 부족으로 명백한 원인을 알려드리면서 사과문을 올리지 못하는 점 역시 매우 죄송하다는 말씀올립니다.
최초에는 너무 짧은 시간에 급증한 system time으로 인해, 악의적인 의도를 가진 코드 실행에 따라 발생한 문제로 추정하기도 했습니다.
구름TEST는 응시자가 작성한 모든 코드가 제출을 하지 않더라도 키스트로크 단위로 모두 로그에 남아있기 때문에 이는 계속 분석 중이며, 리눅스 커널이나 서비스의 취약점을 노린 코드는 없는 지 면밀히 살펴보는 중입니다.
하지만 현시점까지는 해당 시점 전후에 실행되고 제출된 코드들을 살펴본 결과 특이한 점은 발견하지 못하여, 인프라 장애 등 다양한 가능성을 열어두고 있는 상황입니다.
어찌되었든 결론적으로는 코딩테스트를 더 이상 진행할 수 없는 초유의 상황으로 번졌으며, 결국 여러분들께서 귀중한 시간을 내어 응시하신 중요한 시험을 중단하여 큰 피해를 끼친 점은 부인할 수 없는 사실입니다.
지금까지 수십번의 코딩 테스트를 진행해오면서 매번 가슴졸이며 모니터링을 하지만, 실제로 금일의 상황은 처음 겪는 것이다 보니 사고 이후 저희 대처도 많이 부족했습니다.
특히 10시 50분경 코딩테스트가 중단되고, 2교시 필기시험 진행을 공지하기까지 많은 분들이 메일로 문의를 주셨는데, 그 사이에 하나하나 실시간으로 답변을 드리지 못한 점 역시 깊은 사과의 말씀을 올리겠습니다.
금일 오후에 진행된 타사의 유사 규모의 코딩 테스트는 동일한 구성의 시스템에서 무사히 마친 상황이기 때문에, 이를 기반으로 오전 상황과 비교를 해보면서 원인을 좁혀나가고자 합니다.
오전의 상황을 재현할 수 있도록 시뮬레이션을 준비하여 같은 현상이 발생하는 지 확인할 예정이며, 이 과정에서 저희 프론트엔드부터 백엔드,
그리고 인프라들의 로그들과 저희 서비스가 운영되고 있는 클라우드 인프라의 기술 지원 요청을 통한 모든 블록 디바이스 장비부터 네트워크까지 가능한 모든 레이어를 면밀히 살펴보는 작업을 진행하겠습니다.
면밀한 원인 규명 후 향후 그 내용을 투명하게 공개할 것이며, 다시는 이러한 일이 발생하지 않도록 가능한 모든 재발 방지 대책을 세울 것을 약속드립니다.
일생일대의 귀중한 순간에 저희 서비스를 믿고 응시해주신 지원자분들께 다시 한 번 사과의 말씀을 드립니다.
사과문을 담은 이메일 하나만으로 돌이킬 수는 없을 큰 문자이기에 사실 입이 열개라도 할 말이 없습니다.
오늘의 장애 상황을 포함하여 서비스에 따금한 질책과 비난은 달게 받도록 하겠습니다.
다시 한 번 모든 응시자분들과 기업 관계자 여러분들께 불편을 끼쳐 죄송합니다.
코다임 대표이사 류성태 올림
대표님ㄷㄷㄷㄷ
사과문 좋네