LINE 신년 대응 이야기 '개발자'편

라인 개발자에게는 세 번의 새해 0시가 옵니다.

Jan 15, 2021

LINE, 세 번의 새해 0시

"일본(GMT+9)에서 시작해 대만(GMT+8)을 거쳐 태국(GMT+7)에 이르는 새해 인사의 파도타기는 세 번의 큰 트래픽을 만들며 라인의 엔지니어들을 긴장시킨다." <나는 LINE 개발자입니다> 中

세 번의 0시, 글로벌 메신저인 라인에서만 경험할 수 있는 특별한 이야기가 아닐까 생각합니다. 과연 라인의 개발자들은 어떻게 대규모 트래픽에 대응하고 있을까요? 2021년 신년 대응 TF의 PM을 담당하신 LINE PLUS Service Engineering팀 김현수 님과의 특별한 인터뷰를 준비했습니다.

'신년 대응' Interview 

Q. 매년 LINE에서 진행되고 있는 ‘신년 대응’이란 정확히 무엇인지 궁금합니다.

새해 0시에 많은 분이 가족, 친구, 직장동료에게 전화나 문자 등 다양한 경로로 새해 인사를 나누실 텐데요. LINE도 그중 하나로, LINE을 사용하시는 많은 사용자분들의 새해 인사와 함께 한 해 중 가장 큰 규모의 트래픽을 받게 됩니다. LINE 메신저 서비스 초기에는 이러한 큰 규모의 트래픽으로 인해 서비스가 불가능한 상황이 발생하곤 했는데요. 이러한 장애가 발생하지 않도록 매년 9월 즈음부터 문제가 될 만한 부분은 없는지 검증하고, 필요한 경우 인프라를 증설하거나 문제를 개선하는 등 새해의 트래픽을 준비하는 과정을 '신년 대응'이라고 합니다.

신년 대응을 준비하는 흔한 개발자들의 대화와 모니터링 데스크

Q. 신년 대응 TF의 인원은 어떻게 구성되나요?

신년 대응은 정말 많은 분들이 참여하기 때문에 '팀'보다는 'TF(Task Force)'의 성격을 띠고 있어요. 올해도 한국과 일본에서 약 200여 명의 개발자분들이 신년 트래픽을 무사히 받아내기 위해 노력해 주셨는데요. 우선 '공대장'이라고 부르는 그해 신년 대응을 leading하는 사람을 선정합니다. 이후 공대장이 신년 대응에 필요한 서비스 컴포넌트들을 정리하고, 각 컴포넌트를 담당하는 팀 또는 서비스 owner와 함께 신년 대응 준비를 시작합니다.

 

Q. ‘신년 대응’의 구체적인 업무와 가장 중요하게 고려하는 요소는 무엇인지 궁금합니다.

사전에 준비하는 내용은 구성과 특징이 다양한 컴포넌트별로 달라질 수 있습니다. 공통적으로 준비하는 부분은 컴포넌트별 신년 트래픽이 어느 정도 규모가 될 것인지 예측하고, 그 트래픽을 소화하기 위한 서버, 네트워크 등의 인프라가 충분한지 확인합니다. 

신년 대응 당일에는 오후 4시쯤 출근해서 새벽 3시까지 대응을 하는데요. 밤 9시부터 11시에 트래픽이 많은 시간대이기 때문에 혹시 모를 문제를 피하고자 오후 5시쯤 Messaging-server를 전부 재기동하면서, 올 해 신년 대응도 무사히 마무리될 수 있기를 기원하며 온라인 고사(?)를 지냅니다. 그리고 로그 레벨을 조정하거나, Push tracking 기능을 off 하는 등 서비스가 동작하는데 직접적인 영향을 주진 않지만, 성능적으로 조금이나마 개선이 가능한 작업들이 컴포넌트별로 정상적으로 잘 적용되어 진행되는지 시간대에 맞춰 계속해서 확인합니다.

신년 대응에서 가장 중요하게 고려하는 요소는 아무래도 LINE Messaging 서비스가 문제없이 트래픽을 소화할 수 있는지 검증하는 부분일 텐데요. BMT(Benchmark Test)라는 과정을 거쳐 예상되는 메시징 트래픽을 충분히 받을 수 있는지 확인하고 보완하는 작업을 특별히 신경 써서 진행하고 있습니다.

새해 0시, 장애 없이 예쁘게 그려진 트래픽 차트

Q. 글로벌 오피스와의 협업도 굉장히 중요할 것 같은데요. 어떤 부분에 중점을 두고 어떻게 협업하시나요?

글로벌 오피스와의 협업을 위해 무엇보다 중점을 두는 부분은 ‘소통’이라고 생각하는데요. 대응 과정에서 필수적으로 몇 번의 화상회의를 하고 있어요. 원활한 의사소통을 위해 한-일 양자간 통역도 지원하고 있습니다. 화상회의뿐만 아니라 별도의 커뮤니케이션 채널이 만들어지는데요, 해당 채널에서 지속해서 의견을 공유하고 있고, 이야기할 때는 멤버 모두가 이해할 수 있도록 영어를 사용해 소통하고 있습니다.

0시 40분 전, 서비스 상태 체크 현황을 보여주는 Slack

Q. COVID-19로 인하여 업무 환경에도 많은 변화가 있었습니다. 2021년 ‘신년 대응’이 이전과 다르게 진행된 점이 있다면 무엇일까요?

COVID-19로 업무 환경이 바뀐 만큼, 2021년 신년 대응은 오피스가 아닌 재택근무로 대응할 수 있도록 준비했습니다. 아무래도 빠른 시간 내 다양한 확인이 필요한 만큼 오피스에서는 직접 얼굴 보며 구두로 확인하는 부분들이 많았다면, 재택근무 환경에서는 어떻게 의사소통을 할지 미리 정리하고 준비하는 과정이 많이 바뀌었어요. 

컴포넌트별로 이야기할 수 있는 화상 회의실과 장애 발생 시 다른 컴포넌트와 긴급하게 논의하기 위한 화상 회의실 등을 미리 만들어두고, 컨택 방법 등을 정리해서 원활한 커뮤니케이션 환경을 만들기 위해 노력했습니다. 

많은 노력 덕분인지, 2021년 신년 대응은 장애 없이 잘 마무리할 수 있었는데요. 처음 재택근무로 대응하며 미숙했던 점들은 회고 미팅을 통해 개선점들을 잘 정리해두었습니다. 개인적으로 인상적이었던 부분은 지난 몇 년간 계속 신년 대응을 해오셨던 많은 동료분들이 '비록 업무를 하고 있지만, 오랜만에 집에서 가족들과 새해를 맞이할 수 있어서 좋다'라는 이야기를 많이 해주신 부분이에요.

무사히 마친 신년 대응 그리고 모두가 열망한 퇴근 공지
무사히 신년 대응을 마친 개발자들의 퇴근 인증샷 (무조건 꿀맛인 라면과 맥주!)

Q. 마지막으로 한 말씀 부탁드립니다!

올해도 정말 많은 분들이 각자의 자리에서 노력해주신 덕분에 신년 대응을 잘 마치고 평온한 2021년을 맞이할 수 있었습니다. 다시 한 번 이 자리를 빌려 노력해주신 모든 LINER분들께 진심으로 감사의 인사를 드립니다. 2021년에는 좋은 일, 행복한 일만 가득했으면 좋겠습니다. (마스크 없이 살 수 있는 날이 어서 오길 간절히 희망합니다!)

 

 

  • ‘신년 대응’ 관련 LINE Engineering Blog 글 보러가기 [클릭]
  • ‘신년 대응’ 관련 라인개발실록 영상 보러가기 [클릭] 

 

 

 

※ 본 콘텐츠에 소개된 정보는 일부 특정 법인에만 해당하는 내용으로, 다른 법인은 이와 다를 수 있습니다.