Meet the Global LINERs
Engineering
노승헌 / DevOps Engineering / LINE Plus
글로벌 기술 플랫폼 회사에서 LINE을 담당하는 CDN(Content Delivery Network) 엔지니어로 일하던 승헌님은 LINE의 A to Z를 직접 경험해 보고 싶다는 목표로 LINE에 합류하게 되었습니다. 현재 LINE 메신저 서비스를 안정적으로 사용할 수 있도록 트래픽을 관리하는 업무를 담당하고 있습니다. 인터뷰 내내 DevOps 엔지니어로서의 열정, 담당 업무와 소속된 조직에 대한 강한 자부심이 느껴진 승헌님의 이야기, 함께 만나보시죠!
잠깐! 한 눈에 보는 세 줄 요약!
- 승헌님은 LINE 메신저의 글로벌 트래픽을 안정적으로 관리하는 업무를 담당하고 있다.
- 내일의 내가 오늘보다 단 ‘1’이라도 발전하기 위해 늘 새로운 기술 트렌드를 경험하고 고민한다.
- 장애 발생 시, 책임 소재를 찾는 것이 아니라 재발 방지를 위해 연구하고 건강한 피드백을 받으며 성장한다.
업무에 관한 이야기
Q LINE의 Reliability Engineering 조직과 담당 업무에 대해 소개해주세요!
Reliability Engineering은 LINE의 모든 서비스와 인프라를 뒷받침하는 소프트웨어 및 시스템이 신뢰성을 갖고 안정적으로 동작될 수 있도록 솔루션을 제공하는 조직입니다. 쉽게 말하면, 사내 엔지니어들이 서비스를 개발하거나 배포하는 과정이 유기적으로 연결되도록 자동화된 툴을 개발하거나, 트래픽이 몰렸을 때 서비스가 중단되지 않고 제공될 수 있도록 모니터링하며 장애가 발생하면 커뮤니케이션 허브로서 복구작업에 참여합니다. 짧게 요약하자면 여러 기술 분야에 대한 전문성을 가진 DevOps 및 SRE(Site Reliability Engineering) 엔지니어가 모여있는 집단이라고 생각해 주시면 좋을 것 같습니다. 안정적인 서비스 제공을 위해서 사내 다양한 팀들과 협업을 하고요, 폭발적인 트래픽에 대응하는 LINE의 ‘신년 대응’의 PM을 담당하는 팀이기도 합니다. 저희 조직은 DevOps나 개발 영역뿐만 아니라 기획, 인프라, 비즈니스 영역까지에서의 허브 역할을 하며 안정적인 서비스가 제공될 수 있도록 필요한 시스템과 도구들을 만들고 운용하고 있습니다. 예를 들어 LINE과 같이 굉장히 큰 규모의 회사에서는 하루에도 굉장히 많은 신규 코드들이 만들어지는데요, 각 개발 조직에서 만든 기능들이 LINE이라는 플랫폼에 잘 통합될 수 있도록 CI(Continuous Integration) 도구를 제공/운영하고 사용자에게 지속적으로 업데이트된 서비스가 공급될 수 있도록 하는 CD(Continuous Delivery) 플랫폼 및 모니터링 시스템 등의 제공이 대표적입니다. 그중에서도 저는 주로 글로벌 트래픽 관련 업무를 담당하며 기술적인 관점에서 서비스가 높은 성능을 보장하면서도 효율적이고 안전하게 사용자에게 도달할 수 있도록 기술 및 컨설팅을 제공하고 있어요. 특히 사내에서는 LINE의 핵심 조직 중 하나인 미디어 플랫폼(Media Platform) 팀과 협업하여, 사용자들이 LINE 플랫폼을 통해 미디어 콘텐츠 (이미지, 동영상 등)를 빠르고 안정적으로 주고받을 수 있도록 사용자 환경을 개선하고 있습니다. 이러한 업무를 통해 궁극적으로는 더 좋은 사용자 경험을 LINE 사용자들이 느낄 수 있도록 노력한다고 보시면 될 것 같아요.
Q 업무 스케줄에 대해 간단히 소개해 주세요.
저는 대부분 집에서 리모트 근무를 하고 있어요. 출근해서 가장 먼저 하는 일은 LINE 전체 글로벌 트래픽에 특이사항이 없는지 관찰하는 것인데요. 모니터링 시스템들을 통해 주요 사용 국가인 일본, 대만, 태국, 인도네시아 등 특정 지역이나 네트워크 구간에 문제가 생기지 않았는지 점검합니다. 그리고 사내 주요 커뮤니케이션 채널에 리포팅된 장애나 알림 사항이 없는지 이어서 확인하고요. 만약 대응이 필요한 이슈를 확인했다면, 서비스와 연관된 담당자들과 모여서 데이터를 바탕으로 어떻게 해결할 수 있을지 분석하고 논의하여 해결 방법을 찾습니다. 이런 주요 업무 외에 사이드 프로젝트도 진행하고 있는데요. LINE에서는 전체 서비스 그리고 내부의 효율성을 높이기 위해 필요하다고 생각되는 안건이라면 자발적으로 사이드 프로젝트를 발의하고 추진할 수 있어요. 그래서 저는 LINE에서 사용되는 SSL(Secure Sockets Layer) 인증서 관리 시스템 개발 프로젝트를 진행 중입니다. 글로벌 회사답게 한국과 일본에 있는 보안 및 인프라팀 그리고 LINE의 클라우드 플랫폼인 Verda팀 등 이 시스템을 필요로 하는 다양한 조직들과 함께 과제를 진행하고 있습니다.
Q 지금까지 진행했던 업무 중, 특별히 성장했다고 생각하시는 업무는 무엇인가요?
LINE의 글로벌 트래픽이 굉장히 많다 보니, 특정 국가의 최대 규모 통신사로부터 LINE 메신저에 IPv6를 적용해달라는 요청에서 시작된 프로젝트가 있었어요. 개발 조직에서는 v6 버전의 IP를 제공하는 것이 서비스 개발에 큰 영향을 미치지 않았기 때문에 당시 우선적으로 대응해야 할 과제는 아니었습니다. 저도 IPv6에 대한 사전 지식이 거의 없었지만, LINE의 전체적인 트래픽을 안정적으로 관리해야 하는 네트워크적인 관점과 LINE과 함께 일하는 외부 플랫폼과의 관계 등 장기적으로 얻을 수 있는 효과를 고려해서 프로젝트에 참여하기로 결심했어요. 초기에는 왜 진행해야 하는지 서비스 개발 조직을 대상으로 과제를 설명하고 설득하는 시간이 많이 필요했지만 약 3년여에 걸쳐 프로젝트를 성공적으로 마칠 수 있었어요. 긴 시간 동안 어려운 과정도 있었지만 제가 한층 더 성장할 수 있는 기회였다고 생각해요. IPv6에 대해서도 어플리케이션을 만들고 운영하는 사람의 입장에서 문제가 발생하면 분석하고 완전히 이해할 수 있을 정도로 지식을 쌓을 수 있었고, LINE의 글로벌 트래픽 제어라는 관점에서 더 넓은 시야를 갖게 된 소중한 프로젝트였다고 생각해요.
Q 글로벌 사용자를 대상으로 하는 업무에서 특별히 고려하는 사항이 있으신가요?
LINE은 글로벌 약 2억 명의 유저를 보유하고 있고, 그만큼 대규모 트래픽이 발생합니다. 따라서 늘 end-user에게 서비스가 잘 제공되고 있는지 생각할 수밖에 없어요. 저희가 트래픽을 관리하는 목적은 크게 두 가지인데요. 첫 번째는 사용자의 체감 성능이에요. LINE을 사용할 때 조금이라도 더 빠르고 쾌적한 환경을 만들 수 있는 기술과 플랫폼을 채택하고 지속적으로 관리, 모니터링하는 것이 굉장히 중요합니다. 두 번째는, 이를 바탕으로 LINE의 전체적인 인프라가 안정적으로 운영될 수 있도록 트래픽을 관리하고 제어하는 것인데요. 이 두 가지 중 어느 하나도 놓칠 수가 없기 때문에, 이 두 가지가 조화롭게 균형을 잡을 수 있도록 노력을 기울이고 있습니다. DevOps 엔지니어에게 또 다른 사용자는 내부에서 함께 일하는 동료들이에요. 글로벌 각 법인들과 굉장히 밀접하게 협력해야 해요. LINE은 한국과 일본이 중심이 되어 진행하는 사업뿐만 아니라 대만, 태국 등 해외 법인들이 주도적으로 진행하는 사업들도 굉장히 많아요. 표준화된 제품을 각 시장 상황에 맞게 현지화하는 것이 아니라, 로컬에서 서비스를 직접 기획하고 개발하는 것이죠. 이때 저희 팀에서 운영하는 CDN 혹은 사내에 제공하는 네트워크 플랫폼을 사용하며 이슈가 발생했을 때, 컨택 포인트를 모르겠다는 어려움을 늘 가지고 있으시더라고요. 그래서 저는 글로벌 멤버들과 협업할 때 내가 알고 있는 정보 안에서 최대한 체크해 주고, 필요할 땐 적합한 전문가를 연결해 주는 게이트웨이 역할을 하고자 노력하고 있습니다. 반대로 저희가 테스트, 시장 상황 등 빠르게 현지에서만 확인할 수 있는 부분에 대해 부탁해야만 하는 상황에서도 큰 도움이 되고 있습니다.
도전, 그리고 실패의 경험
Q 마냥 행복한 경험만 있었을 것 같지는 않습니다. 실패한 경험도 들려주세요.
엔지니어로서 필연적으로 만나는 것이 장애잖아요. 그리고 어떤 장애들은 온전히 나의 작은 실수 하나로 발생하는 경우도 있어요. 저의 경우, 트래픽을 담당하다 보니 작은 실수 하나가 굉장히 큰 임팩트를 줍니다. (웃음) 일을 하다가 매너리즘에 빠지는 순간이 장애 내기 딱 좋은 시점인 것 같아요. 매년 한 두 번씩 아쉬움이 생기는 장애가 발생하는데 자책하는 것에서 끝나는 것이 아니라 이후 대응이 더 중요하다고 생각해요. 실수를 빠르게 인정하고, 발생 원인을 찾고, 똑같은 장애가 발생하지 않도록 어떻게 시스템화 시킬 수 있을까 더 치열하게 고민하는 것이 스스로 성장하고 발전하는 유일한 방법이라고 생각해요.
Q LINE 엔지니어들에게 ‘도전’이란 어떤 의미가 있다고 생각하시나요?
현실에 절대 안주하지 않고, 내일의 내가 오늘의 나보다 단 ‘1’이라도 더 발전하기 위해 노력하는 것이라고 생각해요. 특히 IT 서비스 기술은 굉장히 빠르게 변화하고, 트렌드에 민감한 분야잖아요. LINER들은 더 안정적이고 완성도 있는 서비스를 위해 항상 깨어있어요. 새로운 기술이 나오면 늘 궁금증을 가지고 이야기하죠. 개인적으로 저는 ‘찍먹이라도 해보자.’라고 표현하죠. (웃음) 당장 깊이 있게 파고들진 않아도, 계속 맛보고 어떻게 활용할 수 있을지 고민합니다. 조금이라도 더 나은 서비스를 만들기 위한 바탕은 결국 이런 ‘도전’과 ‘시도’에서 시작된다고 생각합니다.
역량에 관한 생각
Q 승헌님의 업무에서 좋은 퍼포먼스를 내기 위해서는 어떤 역량과 자질이 필요하다고 생각하시나요?
사실 ‘DevOps’라는 용어가 회사와 조직, 그리고 사람에 따라 해석이 다양할 수밖에 없어요. 개발자인지 인프라 엔지니어인지 혹은 오퍼레이션 엔지니어인지에 따라 정의하는 방법이 굉장히 다양합니다. 결국 DevOps가 다루는 영역이 굉장히 넓고 어떻게 보면 경계가 모호하다고 볼 수도 있는데요. LINE에서 DevOps 엔지니어란, 개발뿐만 아니라 사업, 기획, 인프라 등 비즈니스 전 영역에 걸쳐서 각 유관 부서가 서로 필요로 하는 영역을 채워주는 ‘허브’ 역할이라고 말할 수 있습니다. 그래서 DevOps 엔지니어는 특정한 기술 분야에 대해 깊게 아는 것도 물론 중요하지만, 넓은 범위의 기술에 대한 관심과 경험을 쌓을 필요가 있다고 생각해요. 어제 사용되는 기술이 오늘 사용되지 않을 수 있고 오늘 없던 것이 내일 또 생길 수도 있어요. 기술 트렌드가 정말 빠르게 변하고 있기 때문에, 꾸준히 관심을 가지고 직접 사용해 보려고 노력을 해야지만, 실제 업무 중에 발견하는 이슈나 문제점에 당황하지 않고 대응할 수 있는 방법을 찾아 나갈 수 있다고 생각합니다. 학교를 졸업하고 사회에서 이미 일을 시작한 분이라면 회사 내의 다양한 조직들이 어떤 플랫폼에 어떤 기술을 쓰고 있고 그들이 겪는 문제점이 무엇인지 관심을 가지고 살펴보면 도움이 된다고 생각해요. 또 요즘은 외부의 교육 플랫폼과 양질의 영상 콘텐츠도 상당하기 때문에 많이 배우고 이해하려는 시도가 꼭 필요하다고 생각합니다. 물론 이런 다양한 정보와 산재되어 있는 데이터에서 연관성, 인사이트를 찾아낼 수 있는 능력도 중요하고요. 마지막으로 ‘별일 아니겠지’하는 것에서 큰 장애가 발생할 수 있기 때문에, 작은 알림이나 노티도 하나하나 꼼꼼히 보는 태도도 필요하다고 생각합니다.
LINE에서의 특별한 경험에 대한 이야기
Q LINE에서 생활하며 특별히 놀랐다거나, 기억에 남는 순간이 있으신가요?
LINE에 조인하고 가장 놀랐던 것은 장애가 발생했을 때 누군가를 블레임(blame) 하는 문화도, 그런 행동을 하는 사람도 없었다는 것이었어요. 대신 어떻게 이 상황을 빠르게 해결할 수 있을지에 몰두하고 각자의 의견을 모으죠. 지금은 분위기가 달라졌을지도 모르지만, 이전에 일했던 한 직장에서는 장애가 발생하면 경위서를 쓰거나 누군가에게 책임을 지우는 결론을 내는 것이 장애 리뷰 미팅의 가장 주요한 목적이었어요. 하지만 LINE에서는 책임 소재를 찾는 것이 아니라 장애 회고 미팅을 열고 ‘이 장애가 왜 발생했을까?’, ‘어떻게 하면 재발하지 않도록 할 수 있을까?’, ‘이렇게 대응해 보는 것은 어떨까요?’와 같은 주제로 열띤 논의를 벌이고 연구하는 분위기였어요. 저에겐 새로운 경험이었죠. 제가 놓친 부분을 동료가 함께 찾아주고 그것을 통해 또 다른 지식을 배우게 되는... 이렇게 장애를 공유하고 피드백을 받는 경험이 정말 좋았고 제가 입사 후에 지속적으로 성장할 수 있는 계기가 되어주고 있어요. 물론 적응하기 힘든 부분도 있었어요. LINE을 많이 안다고 생각했는데 막상 입사하고 보니 모르는 것도 많고 공부할 것이 정말 많았거든요. (웃음) LINE은 다른 회사에 비해 많은 정보가 열려 있어요. 다른 조직이 어떤 일을 어떻게 하고 있는지 채널을 통해 공유 받거나 미팅에 직접 참석할 수도 있어요. 미팅에 초대받아 열의를 가지고 들어갔지만, 사용하고 있는 기술과 플랫폼이 워낙 다양하고 방대해 좌절감을 느낀 적도 있고요. 하지만 질 순 없잖아요? 공부하고 배워야 하는 기술과 정보의 양이 방대했지만 하나씩 메모하고 찾아보면서 무작정 공부를 시작했어요. 처음엔 힘들었지만, 나중엔 요령이 생기고 저에게 필요한 정보들을 잘 추려낼 수 있는 능력도 기를 수 있었죠. 의지만 있다면 다른 곳에 비해 2배, 3배 이상의 경험과 지식을 얻을 수 있는 환경이에요.
마무리하며
Q 본 직무에 관심 있는 분들께 한 말씀 해주세요!
특히 IT 서비스에 관심 있고 LINE에 관심이 있으시다면, DevOps만큼 여러 가지를 경험해 볼 수 있는 직무는 없는 것 같습니다! 가장 추천하고 싶지만 또 가장 어려울 수도 있는 직무죠. 개발만 하는 것이 아니라, 개발부터 기획과 인프라 등 정말 다양한 지식이 있어야 하지만, 내가 잘하는 특정 분야에서 빛을 내면서 서비스 전체의 완성도를 높여 나가는 역할을 할 수 있습니다. LINE에 꼭 함께하셔서 도전과 성장의 경험을 놓치지 마세요!