[판교통신] 배민 '먹통'되면 한순간에 역적.."주말 외식도 꺼렸죠"

머니투데이 윤지혜 기자 2021.09.21 11:00
글자크기

편집자주 혁신을 이끄는 '네카라쿠배' 등 IT기업 사람들의 이야기를 다룹니다. 취업 꿀팁부터 서비스 출시에 얽힌 뒷얘기를 솔직·담백하게 전합니다.

김영한 우아한형제들 배민서비스개발팀장. /사진=윤지혜 기자김영한 우아한형제들 배민서비스개발팀장. /사진=윤지혜 기자


코로나19(COVID-19)로 배달앱은 생활 필수재가 됐다. 국내 1위 배달앱 '배달의민족'은 지난달 주문량이 1억건을 돌파하며 사상최대치를 기록했다. 단순 계산하면 하루에만 320만건의 주문이 쏟아진 셈이다. 주목할 점은 대부분의 주문이 점심·저녁 단시간 내 '쓰나미처럼' 몰려온다는 것이다. 이를 감당해야 하는 백엔드(back-end) 개발자의 어깨가 무거운 이유다.



실제 우아한형제들에서 배민 앱 백엔드 시스템을 총괄하는 김영한 배민서비스개발팀장(37)은 혹여 오류가 날까 주말 저녁엔 가족들과의 외식도 자제했다. 배민이 멈추면 요기요 등으로 이용자가 몰리면서 배달앱 전체가 도미노식으로 다운돼, 자영업자·배달원·이용자 모두가 피해를 보기 때문이다. 서비스 장애가 발생하는 순간 전국민의 역적이 되는 고단한 자리인 셈이다.

그는 다음커뮤니케이션·SK플래닛 등 안정적인 대기업을 그만두고 지난 2016년 스타트업인 우아한형제들에 입사했다. 능력 있는 백엔드 개발자가 되려면 빠르게 성장하는 기업에서 '압축적인' 경험을 쌓아야 한다고 판단해서다. 2016년은 배민의 본격적인 성장이 시작된 해다. 당시 우아한형제들의 거래액이 전년 대비 2배 가까이 증가하며 사상 첫 흑자를 냈다.



그는 이때 "달리는 열차의 바퀴를 갈아 끼운 덕분에 오늘날 100배 가까이 늘어난 트래픽을 버텨낼 수 있게 됐다"고 말한다. 배민의 기발한 마케팅 전략이 효과를 발휘하고, 코로나19 속 전국민 서비스로 발전할 수 있었던 데에는 탄탄한 백엔드 시스템이 뒷받침된 덕분이다. 김 팀장을 서울 송파구 우아한형제들 본사에서 만나 입사 계기와 배민의 장애대응방안을 물었다.

달리는 열차의 바퀴 갈아 끼우며 '압축성장'
-대기업을 다니다 스타트업에 입사한 이유는?

▶대기업 생활은 안정적이었지만 10년 차가 되면서 고민이 생겼다. 업계에서 인정받는 개발자들은 공통으로 다음·네이버 등 대규모 서비스의 초창기에 참여해 폭발적인 성장을 경험한 사람들이더라. 스타트업이 다음 단계로 도약하려면 기존 시스템을 대용량 트래픽에 대응할 수 있는 구조로 바꿔야 한다. 달리는 열차에서 바퀴를 갈아 끼워야 되는 것이다.


이때 백엔드 개발자의 역량이 확 성장한다. 서비스를 지속하며 뒷단의 시스템을 전부 바꿔야 하니 산전수전을 다 겪을 수밖에 없다. 수많은 오류를 해결하며 실력을 쌓는 거다. 이를 보며 '나도 고생을 해야겠다' 생각했다. 압축적으로 성장하려면 폭발적으로 성장하는 기업에서 도전해야겠다고 생각해 이직을 준비했다.

-많은 스타트업 중 왜 우아한형제들에 왔나.

▶2015년 '자바 ORM 표준 JPA 프로그래밍'이라는 책을 출간하고 기업강연을 다녔다. 우아한형제들에서도 요청이 왔는데, 강의를 듣는 개발자 40여명의 눈빛이 다르더라. 수많은 회사에서 강연했지만, 우아한형제들처럼 열정적인 곳은 없었다. 당시 우아한형제들은 기존 시스템을 새롭게 바꾸기로 한 때여서 '여기 가면 할 일이 있겠구나' 싶어 입사했다. 입사한 지 벌써 6년이 됐는데, 여전히 재밌다. 그동안 배민이 양적·질적으로 모두 급성장하면서 개발자로서의 고민도 점점 깊어진다. 계속 공부할 수 있어 재밌다.

2018년 생존 위해 시스템 갈아엎었다…사고율 '뚝'
김영한 우아한형제들 배민서비스개발팀장. /사진=윤지혜 기자김영한 우아한형제들 배민서비스개발팀장. /사진=윤지혜 기자
-백엔드 시스템이 그렇게 중요한가.

▶넷플릭스는 "백엔드 구조 개선은 생존을 위해 어쩔 수 없는 일"이라고 말했다. 배민도 똑같다. 5년 전부터 배민 트래픽이 2배·4배·8배 기하급수적으로 느는데 기존 시스템으로는 감당이 안 됐다. 2016년엔 선착순 치킨 할인 이벤트를 열었다가 앱 전체가 다운돼 복구에만 사흘이 걸렸다. 우리끼린 '치킨 디도스(DDoS)'라고 부를 정도다.

-작년 크리스마스이브에도 배민이 먹통이 돼 항의가 빗발쳤다. 이런 사고를 막기 위해 어떤 노력을 하고 있나?

▶우아한형제들은 2018년 시스템 안정성을 전사 1순위 과제로 삼고, 2019년 3개월간 백엔드 시스템을 갈아엎은 '먼데이 프로젝트'를 진행했다. (TF 참여 인원만 100명이 넘는 대규모 프로젝트였다.) 기존엔 100여개 시스템이 서로 엮여 있어 리뷰에서 장애가 나도 앱 전체가 먹통이 됐다. 이를 해결하기 위해 각 시스템에 격벽을 치고, 대규모 트래픽을 감당할 수 있는 구조로 바꿨다.

이후 요기요와의 마케팅 경쟁이 본격화됐는데 예전처럼 서버다운 등의 사고가 발생하지 않았다. 그때 기술로 회사에 기여했다는 보람을 느꼈다. 작년 크리스마스이브에도 전체 주문량의 10% 미만에서 문제가 발생하고, 나머지 90%는 주문에 성공했다. 아마 기존 시스템이었다면 피해 규모가 더 컸을 거다. 물론 회사에선 10%의 장애도 엄중하게 받아들이고 있다.

-배민만의 특별한 장애 대응 방법이 있다면.

▶내부에선 '전투에 패배한 장수는 용서할 수 있지만, 경계에 실패한 장수는 용서할 수 없다'고 한다. 그만큼 모니터링을 중요시 한다. 이상징후가 발견되면 즉시 휴대폰으로 알림이 오도록 사전 예방시스템도 구축했다. 같은 사고가 반복되지 않도록 시스템신뢰성엔지니어링(SRE) 전담부서도 만들었다. SRE는 장애 발생 시 개발자들을 모아 회고하는 자리를 만들고, 여기서 나온 내용으로 보고서를 제작해 조직에 전파한다. 현재 서비스 오류가 얼마나 발생하고 있는지도 관리한다.

서비스 오류나면 그야말로 '패닉'…'기술적 겸손함' 중요
/사진=우아한형제들/사진=우아한형제들
-백엔드 개발자로 일하면서 가장 힘든 점은?
▶장애가 날 때 제일 어렵다. 배민의 장애는 자영업자·배달원·이용자 등 모든 이해관계자에게 피해를 주기 때문에 다른 회사보다 훨씬 치명적이다. 장애가 나면 마치 교통사고 발생 직전의 상태처럼 아드레날린이 치솟고 심장이 두근거린다. 다행인 건 사내 수많은 엔지니어가 발벗고 나서 내 일처럼 도와준다는 것이다. 스스로 성장해 조직에 기여하고자 하는 개발자가 많다는 건 우아한형제들의 강점이다.

-후배들에게 조언한다면.
▶주니어 개발자들은 보통 회사 업무에 익숙해지면 성장을 멈추거나, 자신감을 가지면서도 계속 공부하는 유형으로 나뉜다. 장기적 관점에선 후자의 '기술적 겸손함'이 중요하다. 또 개발 이전에 가치를 먼저 세웠으면 좋겠다. 이 기술로 고객들에게 어떤 가치를 전달할 건지, 내가 개발한 시스템이 어떻게 기여할 수 있는지 고민하는 게 중요하다.
TOP