국민 포털로 출발한 네이버가 다양한 플랫폼과 서비스들로 영역을 대폭 확장하고 있다. 이용자 경험을 위한 체질 개선뿐만 아니라, 중소상공인(SME) 및 창작자들과 이용자들을 연결해 디지털 비즈니스 시너지를 도모하는 데 골몰하는 모습이다. 이용자가 보는 앞단의 변화가 이 정도라면, 개발 뒷단에선 보다 과감하고 치열한 고민이 필요하다. 이에 디지털데일리는 네이버를 움직이는 기술 리더들을 마블 캐릭터에 빗대 ‘네이버 어벤저스’라는 이름을 붙였다. 이들의 연속 인터뷰를 통해 국내 최대 인터넷 기업의 속 깊은 고민과 핵심 경쟁력의 원천을 짚어보고자 한다.<편집자 주>
[디지털데일리 권하영기자] “네이버에서 검색을 할 때 오류가 난 적이 있던가?”
사실상 없다. 지난해 네이버의 검색 서비스 장애율은 0.4%. 현재까지도 장애율은 0%대를 유지하고 있다. 네이버는 그야말로 전 국민이 이용하는 검색 플랫폼이다. 하루에만 어마어마한 양의 검색 데이터와 트래픽이 몰린다. 그런데 어떻게 안정적인 서비스를 유지할 수 있는 것일까? 여기에는 숨은 공로자들이 있다. 네이버에서 검색 장애에 대비해 ‘철통 방어선’을 구축한, 바로 ‘검색 SRE’ 개발자와 엔지니어들이다.
◆ SRE 도입 후 매년 검색 장애율 절반씩 감소
이와 관련해, 네이버 검색 SRE의 손주식 개발리더<사진 왼쪽>와 김현중 엔지니어<사진 오른쪽>가 ‘네이버 어벤저스’ 인터뷰에 나섰다. 이들이 소개하는 검색 SRE는 한마디로 네이버 검색의 ‘통합 관제센터’다. ‘이상 탐지’ 알고리즘을 통해 네이버 검색 서비스가 평소처럼 원활하게 돌아가고 있는지 모니터링하는 것이다.
말처럼 쉽지는 않은 일이다. 손주식 리더는 “검색 시스템을 하나의 거대한 레스토랑이라고 비유하자면, ‘망가지거나 고장난 테이블은 없는지’ ‘고객이 주문한 음식이 제 시간에 나가고 있는지’ ‘실내 온도는 적절하게 유지되고 있는지’ 등등 무수히 많은 요소들을 계속 관찰하고 문제가 생기면 빠르게 조치해야 한다”면서 “그런데 이 레스토랑의 규모가 인천공항쯤 된다고 상상해보라”고 설명했다.
김현중 엔지니어는 “네이버 검색과 같은 초대형 소프트웨어 세계에서 이런 일을 하려면 결국 어마어마하게 많은 데이터를 초고속으로 수집하고 분석해야 한다”며 “이런 일을 사람이 직접 하지 않고 또 다른 소프트웨어가 하도록 만드는 것이 SRE의 역할”이라고 말했다. 네이버는 현재 수천만 가지의 시스템 통계 데이터를 지속적으로 수집하고, 이 값을 분석해 서비스 이상 여부를 실시간으로 판단하고 있다.
검색 SRE는 2016년 경주 대지진이 계기가 되어 당시에는 1인 태스크포스(TF)로 출발한 팀이다. 대지진이 발생하자 순간적으로 엄청난 검색량이 유입됐고, 네이버는 웹사이트가 먹통이 되는 접속 장애를 일으켰다. 계기는 단순했지만 계속해서 시스템 안정성이 중요한 화두가 되면서 현재와 같은 SRE 팀으로 발전하게 됐다. 현재 약 20여명으로 구성돼 있고, 인원은 계속 늘어나는 중이다.
검색 SRE가 만들어지기 전만 해도 모니터링 업무는 개발자들의 개인기에 의존하는 경향이 컸다. 손주식 리더는 “개발자마다 개발 노하우가 다르고, 일관된 장애 대응 절차가 제대로 갖춰져 있지 않거나 서로 교류도 어려워 전반적으로 장애 대응 피로도가 높은 상황이었다”며 “시스템이 커지고 복잡해질수록 작은 이상 하나가 큰 장애로 이어지는 리스크 또한 점점 커졌다”고 회고했다.
하지만 검색 SRE 팀이 만들어지고 불과 1년 만에 성과가 나기 시작했다. 2017년부터 2020년까지 매년 장애 발생률은 절반씩 감소했다. 올해 5월 현재까지도 작년과 유사한 수준인 0%대 비율을 유지하고 있다.
◆ 장애 발생 전 ‘경보’부터…스마트폰으로 즉각 대응
장애율 0%대의 비결은 장애가 발생하기도 전에 미리 대응할 수 있도록 시스템 이상을 신속히 탐지하고 ‘경보’를 보내주는 데 있다. 여러 종류의 경보가 있지만 그중 특히 중요한 역할을 한 것이 바로 ‘트래픽 경보’와 ‘가용량 경보’다. 트래픽이 갑자기 늘어나거나 줄었을 때는 시스템에 중대 변화가 발생할 가능성이 매우 높다. 그래서 이 트래픽을 가급적 정확하게 예측하고, 예측에서 벗어나면 신속히 경보를 보낸다. 가용량 경보는 시스템이 얼마나 많은 요청을 수용할 수 있을지를 파악하고, 미리 준비할 수 있도록 알려주는 역할을 한다.
물론 경보를 보내는 것은 시작에 불과하다. 경보를 받은 담당자가 실제 서버를 복구하거나 비상 대응 조치를 해야 하기 때문이다. SRE는 그래서 지난해 사내 메신저 기반의 운영 시스템(ChatOps)을 개발했다. 경보만 보내고 끝나는 게 아니라, 실제 비상 대응 조치를 스마트폰만으로도 할 수 있도록 만든 것이다. 손 리더는 “모든 기능을 다 자동화할 수는 없지만, 흔히 겪는 몇 가지 경우에 대해서만이라도 이 시스템을 도입했더니 대응 시간이 크게 단축됐다”고 전했다.
최근 검색 SRE는 업무 자동화를 고도화하는 데 주력하고 있다. 대용량 데이터를 효율적으로 관리하는 것이 첫 번째 숙제다. 데이터를 압축하거나 불필요한 데이터를 생략하는 방법을 고민하고 있다. 이렇게 데이터 기반이 탄탄해지면 이후에는 필요한 응용 시스템을 만들면 된다. 서비스의 상황을 한 눈에 보여주는 대시보드, 지표 이상이 탐지되었을 때 자동으로 연락해주는 경보 시스템, 그리고 특정 조건이 만족될 때 자동으로 발동되는 비상 대응 시스템 등이 그 예다.
아이러니하게도, 검색 SRE가 성과를 낼수록 이용자들은 아무런 변화를 못 느끼게 된다. 시스템 내부에서 어떤 문제가 발생해도, 사용자가 느낄 새도 없이 복구되기 때문이다. 손 리더는 “지금도 네이버 검색 서비스에서는 하루에도 수십 건의 크고 작은 변경이 일어나고 있고 그때마다 장애가 발생할 리스크가 존재하는데, 실제 장애로 이어지는 확률은 0%대다”라면서 “특별히 네이버 검색 서비스가 느리거나 불편한 일이 없다면 SRE 업무 자동화가 잘 이뤄지고 있다고 생각하면 된다”고 말했다.
◆ ‘개인의 실수에 책임 묻지 않는’ 문화가 원동력
SRE가 가지는 조직적인 강점도 있다. 김현중 엔지니어는 이에 대해 “개인의 실수로 문제가 발생했을 때도 개인에게 책임을 묻지 않는다”는 점을 소개했다. SRE 조직에서는 실제 ‘Post-mortem’ 제도를 도입해, 개인이 아닌 조직 차원에서 문제를 개선하는 문화를 정착시켰다. 김 엔지니어는 “개인의 실수로 시스템에 문제가 생겨 당사자에게 책임을 묻게 된다면 평소에 어떤 일을 하더라도 소극적일 수밖에 없을 것”이라며 “Post-mortem을 통해 근본적인 문제를 해결하려 하고 다시 같은 이유로 문제가 발생하지 않도록 노력하는데, 이런 문화가 쌓여야 좋은 조직이 된다”고 지적했다.
검색 SRE의 중장기 목표는 ‘더 빠르고 더 정확한’ 플랫폼을 만드는 것이다. 김현중 엔지니어는 “장애 대응은 1~2분만 늦게 대응해도 간단한 문제가 금새 크고 복잡한 문제로 변할 수 있고, 그래서 구체적인 정보가 자세히 포함된 경보가 필요하다”면서 “올해는 현재보다 두배 빠른 지표 분석 시스템, 그리고 훨씬 더 해상도가 높은 경보 시스템을 준비하고 있다”고 밝혔다.
더 많은 개발자를 채용하려는 계획도 가지고 있다. 손주식 리더는 “우리 팀은 검색 개발자들이 특정 기술이나 개발 언어에 얽매이지 않고 자유롭게 과제를 진행할 수 있다”면서 “오히려 새로운 시각이나 아이디어가 도움이 될 때가 많아 항상 채용의 문을 열어두고 있는 편이다”고 언급했다. 손 리더는 “성장에 목마른 개발자들이 동료로 많이 합류했으면 좋겠다”면서 “단순히 개발이나 장애 관제의 관점뿐만 아니라, 개발 문화와 업무 프로세스 등 회사 생활 전반적으로 더 좋아지게 할 방법이 없을지 계속 고민하고 있는 팀이다”라고 강조했다.