더욱 섬세한 추천 기능을 선보이고 있는 FLO!
런칭 이후 기술적으로 어떤 부분들이 변화되었는지 알아보기 위해 이번 콘텐츠는 테크본부 리더 Dennis와 함께합니다! 😀
오늘의 인터뷰이 소개합니다!
Dennis 안녕하세요 😊
FLO 테크본부를 총괄하고 있는 Dennis 입니다. 반갑습니다!
FLO의 테크그룹을 리드하시기까지, 어떤 과정들이 있었는지 궁금해요.
SK C&C, Tmaxsoft 연구소, Naver, LINE을 거치면서 Framework 및 다양한 서비스 개발을 담당했으며 2018년에 FLO에 합류하게 되었어요.
그동안 Backend 개발(Java, .NET) 및 iOS, Android, 추천 개발을 모두 경험해볼 수 있었는데요. 이런 부분이 지금 테크 그룹을 리드하는 역할을 잘 수행할 수 있는 원동력이 되어주었다고 생각해요. 최근에는 Kubernetes (K8s) 등으로 전문 영역을 넓히고 있습니다.
FLO는 런칭 후, 추천과 관련한 여러 기능을 선보였던 것 같아요.
네 맞아요. FLO는 기존의 음악 플랫폼들과 차별화를 주기 위해 개인화 추천 서비스에 중점을 두었어요. 그래서 ‘나를 위한 새로운 발견’, ‘오늘의 추천’, 좋아할만한 아티스트 MIX’ 등 다양한 추천 기능 개발에 집중했고, 이러한 기능들을 선보일 수 있었죠.
그리고 FLO는 사용자가 선호하는 곡을 보다 섬세하게 추천하기 위해 매일 억단위의 사용자 로그를 ETL Pipeline으로 분석해요. 이 로그를 이용해서 Deep Learning 기반 모델을 학습하고 있죠.
최근에는 사용자 공개 Playlist 기능이 추가되면서 이것에 대한 추천 모델 개발도 진행하고 있어요.
더욱 섬세해질 FLO의 추천 기능이 기대됩니다😀
FLO는 어떤 구조로 설계되어있나요?
FLO는 서비스의 안정성 및 생산성 향상을 위해 Spring Cloud 기반의 Micro Service Architecture (MSA) 구조로 설계되었고, 23개의 Micro Service와 Golang 기반의 Backend Process들로 구성되어있습니다. FLO가 성장함에 따라 테크본부에서도 서비스에 적합한 기술을 적용하며 고도화 작업을 진행하고 있어요. 최근에는 대규모 Event-driven 처리 로직을 RabbitMQ 에서 Kafka 기반으로 변경해서 Peak time 기준 1만 TPS 정도의 Event를 안정적으로 처리하고 있습니다.
서비스 초기와 현재를 비교했을 때,
어떠한 부분들이 가장 크게 변화되었나요?
Contents의 경우 서비스 초기에는 FLO의 전신인 뮤직메이트 시절의 방식대로 타사의 음원을 활용하여 ASP 형태로 서비스를 하고 있었어요. 런칭 후인 19년 3월에 자체 Media Contents Provider를 개발하여 음원도 독립적으로 서비스하기 시작했죠. 현재는 Deep Learning 기반으로 입수된 음원의 copyright infringement 를 확인하는 로직도 지원하고 있으며, 오디오 콘텐츠까지 포함하는 구조로 개선 작업을 진행하고 있습니다.
DB의 경우 초반에는 MySQL을 기반으로 서비스해왔지만, MongoDB 로의 전환 Project 를 통해 지금은 주요 사용자 데이터는 거의 MongoDB 에서 서비스 하고 있어요.
App의 경우 Apple Watch, Mac용 App 지원 및 Android Watch와 차량용 IVI 등을 지원하고 있으며, 사용자들의 편의를 위한 Gapless Playback, EQ, Loudnorm 등의 기능을 제공하고 있구요.
이 밖에도 테크그룹 인프라 조직에서는 Google에서 개발한 Flutter와 Golang을 이용해 사내 시스템 개발 및 devops 환경을 구축하고 있습니다.
앞으로 FLO는 어떻게 변화할 것이라고 기대하시는지 궁금해요😀
FLO가 오디오 콘텐츠로 영역을 확장하면서 테크그룹의 어깨도 많이 무거워진 것 같습니다. FLO의 변화에 맞추어 여러 작업들이 이루어질 예정인데요. 크게 나눠보자면 Public Cloud 전환 및 고도화, MongoDB 전환 3차, 추천 모델 고도화 작업, Deep Learning을 활용한 메타 개선 작업 등이라고 보시면 될 것 같습니다.
음악 서비스의 경우에는 출퇴근 시간이라는 Peak Time이 정해져있거든요. 그렇기 때문에 리소스를 효율적으로 운영하기 위한 Cloud 전환을 진행해야 하죠. 이와 관련해서 Containerize 및 K8s, ServiceMesh 도입, CICD 환경 등도 함께 준비 중입니다.
추천, 정산 OCR, Music Recognition 등의 기능은 이미 Cloud 환경에 구축해서 운영 중이고요, 리소스 효율화 등의 고도화 작업은 계속 진행중입니다.
또한 앞서 말씀드린 것처럼, FLO 홈화면 관련 데이터도 MongoDB로 전환할 계획을 가지고 있어요.
최근 추가된 사용자 공개 Playlist에 대한 추천 모델 개발과 더불어 오디오 콘텐츠 기반의 추천 모델을 발굴하고 개선하는 작업도 필요한 상황이고요.
마지막으로, Deep Learning을 활용하여 Sync 가사나 Style Auto Tagging 등 메타 부분에 대한 개선 작업에 적극 활용하고 있으며, 향후 계속 고도화 시켜나갈 예정입니다.
이번에 FLO의 첫 대규모 채용이 진행됩니다!
테크본부에서는 어떤 분과 함께 일할 때 시너지를 낼 수 있다고 생각하시나요?
테크본부의 특성상 지원하신 업무의 전문성이 가장 중요해요. 다만 주니어의 경우, 열정과 성장하려는 마인드에 조금 더 중점을 두고 있습니다. 고객 중심 마인드와 책임감, 배려 등 다양한 자질도 중요하게 생각하고요. 또한 서비스에 대한 애정은 더 나은 서비스를 만들 수 있는 원동력이 된다고 생각해요.
그렇기 때문에 FLO에 대한 관심과 애정이 있는 분이라면 더욱 좋을 것 같습니다.
FLO 테크본부 미리보기 어떠셨나요? 테크본부에서 FLO의 성장을 이끌고 싶으시다면,
주저말고 아래 링크를 통해 지원해주세요! 😉
Comments