이동훈, 오픈서베이 데이터 서비스팀 개발자
모바일 리서치 기업 오픈서베이는 매월 40만 부 이상의 방대한 설문 데이터를 수집하고 처리합니다. 이에 제품개발그룹은 벌써 5년 전부터 DevOps를 위한 모니터링 툴 ‘와탭’을 도입해서 사용하고 있습니다. 특히 장애 현황 분석을 하는데 많은 도움을 받고 있죠.
최근 들어서는 단순 모니터링만이 아니라 채용 프로세스에도 활용하고 있습니다. 하나의 차트로 수많은 지원자의 문제 해결 능력을 평가하고 있죠. 오늘은 오랜 기간 다양한 방면으로 와탭을 활용해온 오픈서베이 제품개발그룹의 이동훈 데이터 서비스팀 개발자와 박현민 피드백 백엔드 개발자를 만나 이야기를 들어봤습니다.
오픈서베이는 모바일 리서치를 중심으로 다양한 소비자 데이터를 수집하고 분석해서 비즈니스 고민을 가진 기업에 필요한 인사이트를 제공하는 회사입니다.
타 리서치사와의 차별점은 ‘기술’에 있다고 생각해요. 오픈서베이는 언제 어디서든 시공간의 제약 없이 빠르게 설문조사에 참여할 수 있는 20만 명의 모바일 패널을 보유하고 있고, 고객이 원하는 패널에게만 설문을 보내는 기술이 있습니다. 성·연령·지역 인구 분포에 비례한 대표성 있는 패널을 랜덤으로 골라내서 설문을 보낼 수도 있고, 최근 3개월 이내 대형마트에 방문해서 5만 원 이상 돈을 쓴 소비자와 같은 특정 조건의 패널을 찾아서 설문을 보낼 수도 있습니다. 혹은 얼마 전에 비슷한 주제의 설문을 받거나 산업군 내 경쟁 기업 설문을 받은 적 있는 소비자를 제외해서 응답 편향이 없는 패널을 대상으로만 설문을 보낼 수 있는 등 마치 광고 타겟팅처럼 자체 개발한 정교한 설문 타겟팅 기술을 보유하고 있어요
정교한 설문 타겟팅 시스템을 통해 소비자 데이터를 잘 쌓는 것이 한 축이라면, 이렇게 쌓은 데이터가 잘 활용될 수 있도록 전문적인 분석 툴을 제공하거나 해당 데이터를 관리하고 운영하는 축도 있어요. 오픈애널리틱스라는 자체 개발한 설문 데이터 분석 툴을 통해 웹 기반으로 대용량의 설문 데이터 분석 결과를 실시간으로 제공하고, 패널의 ‘카드결제기록’이나 국내 유일 식단 데이터인 ‘푸드다이어리’ 데이터를 자체적으로 쌓아서 정기적으로 분석 자료를 배포하고 있어요. 단순히 리서치 회사라고 생각하면 오픈서베이가 DevOps 모니터링 툴로 와탭을 오랜 기간 사용한 배경을 잘 모를 수 있지만, 실은 방대한 소비자 데이터를 수집하고 분석하는 회사이다보니 오늘 이런 자리를 통해 와탭과의 인터뷰에 참여할 수 있게 된 것 같습니다.
이동훈 데이터 서비스팀 개발자(이하 동훈) : 안녕하세요. 오픈서베이 데이터 서비스팀에서 개발 리드를 맡고 있는 이동훈입니다. 현재는 백엔드에서 직접 와탭을 사용하고 있으며, 회사가 빠르게 성장하고 있는 덕분에 추후에 조직 규모가 더욱 커지면 별도의 운영 조직이 만들어질 수도 있을 거라고 생각합니다.
박현민 피드백 백엔드 개발자(이하 현민) : 저는 오픈서베이가 올해 연말 새롭게 출시할 서비스인 ‘피드백’의 백엔드 개발을 담당하고 있는 박현민입니다. 참고로 피드백은 오픈서베이의 핵심 기술인 설문 방식의 소비자 데이터 수집 및 분석 기술을 일부 활용해서 각 기업이 자사 고객을 대상으로 CX 데이터를 수집하고 분석할 수 있는 SaaS 기반의 신규 프로덕입니다.
오픈서베이 제품 개발 그룹에는 훌륭하고 퍼포먼스도 좋은 구성원이 많아요. 오픈서베이는 이런 훌륭한 구성원들이 본연의 업무에 더욱 집중할 수 있도록 인적 리소스 효율화 방안에 대한 고민을 많이 하는 편이에요. 가능하다면 솔루션의 도움을 받아 인적 리소스를 효율적으로 활용하고 싶어하고요. 그런 일환으로 운영 단의 리소스 투입을 줄이고자 모니터링 툴 도입을 고려했던 걸로 기억합니다.
사실 모니터링 툴 도입 전에 J사, D사 등 다양한 제품과 와탭을 두고 고민을 했는데요. 여러 기준으로 고민을 한 끝에 와탭을 선택하게 됐습니다. 일단 J 사 제품은 일단 클라우드 지원이 되지 않았고요. D 사는 당시에 마이크로서비스아키텍쳐(MSA)는 그림이 잘 그려지는 장점이 있었지만, 저희가 기대하는 기능에서 2% 정도 모자란 기분이었어요. 결정적으로 장애가 났을 때 무슨 상황인지 파악해야 하는데, 실시간으로 이걸 다 볼 필요가 없었거든요. 기능이 너무 많아서 헷갈린 점도 있었습니다. 반면, 와탭은 실시간으로 장애 현황 파악이 용이해서 선택하게 되었습니다.
동훈 : 5 년 넘게 와탭 애플리케이션 모니터링을 이용해 왔고, 올해 쿠버네티스로 전환하면서 쿠버네티스 모니터링으로 전환하여 쓰고 있습니다.
현민: 올 하반기에 내부에서 DB 서버를 이전했는데요. 당시 잠시 WAS, DB 존(DB Zone)이 떨어진 경우가 있었습니다. 원래 KT 클라우드에 일부 WAS 와 DB 가 있었는데, AWS 로 DB를 먼저 마이그레이션을 한 상황에서 장애가 터졌습니다.
원인을 찾다보니 DB 쿼리 개수 자체가 너무 많아서 생긴 문제였어요. 추적하는 과정에서 와탭을 사용했는데, 로그를 봤을 때 쿼리 개수 가지고 정렬하는 기능이 있거든요. 같은 존에 있으면 타임이 짧아서 티가 안 나는데 존이 다르니까 쿼리 개수가 많은 걸 확인할 수 있었던 거예요. 와탭은 쿼리 개수가 보이니까 어떤 엔드 포인트에서 문제가 있는지 보여서 해결할 수 있었습니다.
동훈: DB 쿼리와 애플리케이션 서버가 같은 존에 있으면 라운드 트립(RTT)은 짧은데요. DB 존을 이전하여 애플리케이션 서버와 존이 달라지면서 레이턴시가 1ms 이던 것이 6ms 로 늘었습니다. 단일 쿼리 당 소요 시간으로 보면 1ms과 6ms이 큰 차이가 없지만, 쿼리가 수백 개나 되다 보니까, 문제가 생겼던거죠. 단일 쿼리 당 소요 시간과 사용 자원이 짧고 적으니, DB slow query 로그와 자원사용량 등에는 안 잡히는 상황이었습니다. 와탭을 사용하지 않았으면, 원인을 파악하는 데에 상당히 고생했을 것으로 생각합니다.
이와 별개로 저희는 백엔드 면접 문제로 와탭 그래프 보여주면서 우리가 겪은 장애 상황을 보여주고, 이게 어떤 상황인지 여러 그래프를 보여주면서 (히트맵, 메모리 등) 어떤 부분이 장애의 원인인지 찾아가보자는 식으로 문제를 내거든요. 와탭 그래프는 좋은 사고 흐름과 문제 해결 방식 분야에서 자유롭게 쓰이고 있습니다.
동훈: 이건 CTO께서 와탭을 통해 서비스 전체를 보고 싶다는 의견을 주신 적이 있는데 저도 공감해요. 보고용으로 서비스 단의 통신이나 전체 플로우를 관찰할 수 있는 기능이 있으면 좋겠습니다. 그리고 이상 감지 탐지를 할 때 패턴 탐색으로 하려는 시도가 보이는데요. 패턴이 쭉 나오면 어떤 패턴을 무시 처리할 수 있는지 기능이 추가되면 좋겠습니다.
현민 : 오토 스케일링 할 때 에러 잡는 기술이 좀 더 개선되면 좋겠다는 생각도 있어요. 반복되는 알림을 패턴화 하는 기능 또한 추가되면 좋겠습니다. 예를 들어 저희 레거시 DB에 캐릭터 설정 단에서 이모지 저장을 못했던 적이 있는데, 그 당시 애플리케이션 단에서 사용자가 이모지(Emoji)를 넣으면 에러가 났습니다. 저희 입장에선 중요한 에러가 아닌데, 이를 패턴화해서 ‘해당 부분을 무시하도록 설정할 수 있다’고 알림 설정을 할 수 있는 날이 온다면 정말 행복할 것 같아요.
동훈: 모니터링 도입하는 비용이 사람을 고용할 때보다 비용이 훨씬 더 저렴하다는 이야기가 많잖아요. 저도 3, 4 년 전만 해도 ‘정말 그럴까?’ 라는 반응이었는데, 코로나 시대가 길어지면서 시장에서도 ‘그럴 가능성이 있다’고 판도가 바뀌고 있는 걸 체감하고 있어요. 채용이 어렵기도 하고, 특히 전문 운영팀이 없다면 모니터링 도입으로 많은 어려움을 해결할 수 있다는 점을 알려드리고 싶습니다.