라인의 경쟁력과 안정성, '함께 회고하는 개발 문화가 토대'

남시현 sh@itdonga.com

[IT동아 남시현 기자] “IT(정보 기술) 서비스에서의 장애는 기술의 문제며, 근본적인 문제의 원인을 파악하는 게 중요하다. 추정하거나 경험만 갖고 판단하는 게 아니라, 사실 관계와 로그(Log, 기록), 데이터를 기반으로 분석한 것을 토대로 논의해야 한다. 이것이 기본이자 핵심이다”

라인 플랫폼 엔지니어링 3팀 이수안 개발 리드. 출처=IT동아
라인 플랫폼 엔지니어링 3팀 이수안 개발 리드. 출처=IT동아

라인플러스 사무실에서 만난 라인 플랫폼 엔지니어링 3팀 이수안 개발 리드에게 서비스 장애에 대한 근본적인 대처 방안을 묻자 돌아온 대답이다. 오늘날 서비스 장애는 모든 개발자들에게 주어진 숙제이자 성장책이다. 서비스 장애라는 어감이 부정적이기는 하지만, 의외로 장애는 서비스를 개선하는 과정에서 필연적으로 발생하는 현상이며 이를 극복하는 방법이나 과정이 더욱 중시되고 있다. 만약 서비스 장애가 발생하지 않는 사례가 있다면, 오히려 개발이 정체되어 있다고 보는 시각도 있을 정도다. 그렇다면 글로벌 기술 기업에서는 서비스 장애를 어떻게 받아들이고, 또 어떻게 극복해나가고 있을까?

장애에 대한 대처, 라인에게 듣다

라인(LINE)은 전 세계 2억 명의 이용자를 보유하고 있는 글로벌 서비스로, 설립 이후부터 지금까지 끊임없이 서비스 장애를 해결하기 위한 절차와 방안을 모색해왔다. 이날 인터뷰에 응한 이수안 개발 리드는 2005년 네이버에 합류해 사용자용 서비스를 개발해오다가, 2011년 라인 초창기부터 라인에 합류해 라인 플랫폼 서버를 개발하는 등 오늘날 라인의 중추를 만든 핵심 개발자 중 한 명이다. 이수안 개발 리드에게 라인의 서비스 장애 대처 방법부터 이를 극복해나갈 수 있는 원동력인 개발 문화에 대해 들어보았다.

Life on LINE은 라인의 슬로건이다. 출처=라인
Life on LINE은 라인의 슬로건이다. 출처=라인

이수안 개발 리드가 이끌고 있는 라인 플랫폼 엔지니어링 3팀은 한국과 일본 개발자들이 한 팀처럼 조직되어 있으며, 라인 앱 전체 트래픽을 다루는 ‘라인 플랫폼 서버’를 개발 및 관리한다. 라인 플랫폼 서버는 라인 내 메시징 플랫폼과 라인 서비스를 통해 로그인하는 계정 서버, 라인 스토어 및 라인 공식 계정, 개발자 플랫폼, 오픈 채팅 등 주요 서비스의 기반이 되는 서버다.

가장 먼저 라인의 장애 대책과 관련된 전반적인 흐름에 대한 설명을 부탁했다. 이수안 개발 리드는 “초창기에는 라인의 서버 전체가 내려가는 등의 문제도 있었지만, 지금은 그런 문제보다는 국소적인 장애들이 많이 발생한다. 특히 작은 문제 여러 개가 겹쳐서 큰 문제로 커지는 경우가 있기 때문에 장애의 수준과 관계없이 동일한 위기로 보고 해결하고 있다”라고 대답했고, 장애 처리 과정은 크게 세 단계로 구분했다. 일단 문제가 있으면 이를 인지한 다음, 장애에 대응해 복구에 돌입하고, 그다음 결과 보고서를 작성하는 게 큰 틀이다.

라인 플랫폼 엔지니어링 3팀 이수안 개발 리드. 출처=IT동아
라인 플랫폼 엔지니어링 3팀 이수안 개발 리드. 출처=IT동아

문제를 인지하는 과정은 개발자가 직접 알람을 개발해 스스로 인지하기도 하지만, 누구든지 장애를 발견하면 서로 연락할 수 있는 전용 채널이나 협업 툴을 통해 소통하는 게 문화로 정착해있다. 또 내부에 모니터링 시스템이 있어서 모니터링 전문가가 개발자에게 연락을 주기도 한다. 이렇게 인지된 장애는 개발 리더들이 기틀을 잡고, 개발자들이 라인과 슬랙을 통해 실시간으로 내용을 공유해 문제를 해결한다. 마지막으로 해결 과정을 결과 보고서로 작성해 전파한다. 결과 보고서는 최소 1 근무일 이내 1차 보고가 원칙이며, 클라이언트의 동작 상태나 영향을 받은 숫자들, 실패 건수 등이 모두 분석된 문제 상황을 작성하고, 어떻게 대응했으며 어떤 과정을 도입했는지 등을 상세하게 적어 제출한다.

전 세계 사용자 2억 여명, 안정성 확보가 최우선

2019년 1월 1일 0시 0분 발생한 트래픽 스파이크에 대한 그래프. 출처=라인
2019년 1월 1일 0시 0분 발생한 트래픽 스파이크에 대한 그래프. 출처=라인

라인이 철저한 문제 해결 과정을 수립한 이유는 서버 안정성(Reliability) 때문이다. 메신저 기능에서는 메시지가 제때 전송되고, 문제없이 동작하는 것이 서버 안정성의 의미다. 문제가 생기면 곧 서비스 자체의 신뢰성에 문제가 생기는데, 재작년에 이런 일이 있었다. 매년 1월 1일 0시 0분은 연간 트래픽의 최고치를 달성하는 시점이다. 그래서 개발자들은 3~4개월 전부터 이를 대비하지만, 2019년에는 평소 트래픽의 최대 3배에 달하는 초당 41만 건의 메시지가 쏟아져 메시지 도착 알림 일부가 유실되는 문제가 발생했다. 이후 문제점을 확인하고 6개월 이상 작업을 진행한 결과, 2020년과 올해에는 문제가 발생하지 않았다. 문제 해결의 배경에는 개발자들이 허심탄회하게 의견을 나누는 ‘장애 회고 미팅’이 있었다.

장애 회고 미팅은 결과 보고서를 놓고 사후에 문제점을 논의하는 과정으로, 직급 여하와 관계없이 누구나 참석해 의견을 낸다. 이수안 개발 리드는 “장애 회고 미팅은 실수나 책임을 묻는 자리가 아니라, 왜 문제가 발생했는지에 대한 사실 관계를 찾아가는 과정이다. 문제가 발생한 원인부터 확인된 배경, 문제가 된 설정을 반영한 이유 등에 대해 논의하고, 추후에 개선점까지 발굴한다”라고 말했다. 이 과정은 각국의 라인 개발자들이 참석하며, 전문 통역사가 배석해 영어로 작성된 장애 보고서를 토대로 질의 응답을 주고 받는다”라고 말했다.

라인의 개발 문화는 주인의식 갖기, 열린 자세, 신뢰와 존중으로 축약할 수 있다. 출처=라인
라인의 개발 문화는 주인의식 갖기, 열린 자세, 신뢰와 존중으로 축약할 수 있다. 출처=라인

장애 회고 미팅이 자리 잡은 배경에는 라인의 개발자 문화가 있다고 말했다. 이수안 개발 리드는 “장애 회고 미팅은 라인의 세 가지 덕목인 주인의식 갖기(Take Ownership), 열린 자세(Be Open), 그리고 신뢰와 존중(Trust and Respect)을 모두 담은 과정이다. 문제에 대한 주인 의식과 해결을 위한 열린 자세, 그리고 개발자 간의 신뢰와 존중이 모두 녹아있다”라면서, “엔지니어가 성장하는 과정은 실수를 통해 배우고, 이를 놓치지 않는 것에서부터 시작한다. 문제가 생겨도 모두가 함께 있음을 믿고 도전할 수 있도록 하는 게 장애 회고 미팅의 의의”라고 답했다.

문제를 되짚는 문화가 곧 기업의 경쟁력

이수안 개발 리드는 ‘라인 데브 데이 2021’에서 장애 회고 미팅과 처리 과정 등을 소개한 바 있다. 출처=IT동아
이수안 개발 리드는 ‘라인 데브 데이 2021’에서 장애 회고 미팅과 처리 과정 등을 소개한 바 있다. 출처=IT동아

이수안 개발 리드는 지난 11월 10일에서 11일 양일간 진행된 ‘라인 데브 데이 2021’에서 ‘라인 플랫폼 서버의 장애 대응 프로세스와 문화’라는 이름으로 서버 안정성에 대한 절차와 과정, 문화를 소개한 바 있다. 이날 인터뷰로 소개한 내용이 단순한 내부 절차에 그치지 않고, 개발자 생태계에 보탬이 되길 바라서다. 이수안 개발 리드는 “우리의 문화는 문제를 인정하는 것을 넘어서 무엇을 배웠는가를 논한다. 이런 문화 덕분에 문제가 발생해도 개인이 아닌 팀으로 움직이며, 개선의 대상이 시스템 오류로 끝나지 않고 팀의 문화와 절차, 더 나아가 시스템 자체가 된다”라고 말했다.

라인이 글로벌 기업으로 성장할 수 있었던 배경은 문제의 규모를 막론하고 놓치지 않는 섬세함, 그리고 작은 문제도 국경을 넘어서 의견을 나눌 정도의 열린 사고방식 덕분이다. 실제로 장애 회고 미팅을 진행하다 보면 한국과 일본, 대만 등 각국의 개발자들마다 문제를 바라보는 시선이나 성향이 달라서 서로 배우는 계기가 된다고 한다. 이러한 노력이 쌓일수록 개인은 발전을 거듭하며, 기업은 곧 경쟁력을 확보한다. 라인의 개발 문화가 그 어떤 기업보다도 회자되는 이유다.

글 / IT동아 남시현 (sh@itdonga.com)

IT동아의 모든 콘텐츠(기사)는 Creative commons 저작자표시-비영리-변경금지 라이선스에 따라 이용할 수 있습니다.
의견은 IT동아(게임동아) 페이스북에서 덧글 또는 메신저로 남겨주세요.