대한민국 패션 B2B 플랫폼의 선두주자 딜리셔스(Dealicious)

딜리셔스는 오프라인으로만 이루어지던 동대문 패션업계의 B2B 거래를 온라인으로 옮겨 동대문 도매 사업자과 전국의 소매 사업자를 연결한 신상마켓이라는 서비스를 메인으로 제공하고 있습니다. 

신상마켓은 온라인 패션 쇼핑몰처럼 판매자가 상품을 올리고, 구매자가 웹이나 앱을 통해 탐색하고 구매할 수 있는 서비스이며 일일 사용자가 약 7만명이나 되는 큰 규모의 트래픽을 움직이고 있습니다. 신상마켓은 도매와 소매, 즉 비즈니스 간의 거래를 지원하는 것이 특장점이며, 여기에서 더 나아가 판매자의 상품을 중간을 거치지 않고 직접 소비자에게 전달해 배송 과정을 획기적으로 줄인 풀필먼트 서비스 딜리버드도 올 2월 정식 론칭했습니다. 향후에는 동대문 패션 클러스트가 글로벌 도소매와 연결될 수 있는 서비스 역시 기획 및 개발 중에 있습니다.

.

뉴렐릭을 도입하게 된 계기

뉴렐릭을 이전 직장에서 알게 되어 사용할 수 있는 기회가 있었습니다. 그 전까지는 많은 기업들에서 자체적으로 솔루션을 만들어서 사용하거나 오픈소스를 활용하는 경우가 많았고, 딜리셔스에 조인했을 초창기에만 해도 레거시 PHP로 개발을 시작하여 서비스는 많이 성장하였지만, 코드베이스로부터 시작하는 플랫폼 자체는 많이 약한 상황이었습니다. 운영 및 유지보수가 어려운 형태였고, 각 개발팀 내에서도 정확한 역할분담이 되지 않았을 뿐만 아니라, 코드 전반적인 부분이나 히스토리를 명확하게 이해하는 사람들도 많지 않았습니다. 그렇기에 기존의 레거시 시스템을 새로운 시스템으로 옮기기를 시도하면서 인프라를 AWS로 이전하였고, 기존 애플리케이션도 백엔드/프론트엔드의 구분이 명확한 현대적인 애플리케이션으로 이전하게 되었습니다. 

뉴렐릭을 통해 전문적인 APM 모니터링 솔루션을 사용하면서 서비스의 안정성, 모니터링을 통한 장애를 미리 캐치할 수 있는 부분에서 굉장히 많은 도움을 받았습니다.

사실상 개발자의 업무 범위 중 꽤나 많은 부분을 차지하는 것은 운영입니다. 서비스를 만든 후, 안정적으로 돌아갈 수 있도록 운영을 잘 해야 하는데 이 부분에 생각보다 많은 리소스가 들어갑니다. 그렇기에 그 리소스를 얼마나 효율적으로 사용하고, 자동화시키면서 운영에 시간을 적게 들이고, 새로운 개발에 집중할 수 있느냐가 관건인데, 이 부분에 뉴렐릭이 많은 도움을 주었습니다. 

특히 서비스의 배포의 경우, 장애나 버그로 인해 굉장히 취약한 시기인데 배포와 동시에 뉴렐릭을 통해 모니터링을 할 수 있어서 많은 도움이 되었습니다. 이런 경험을 바탕으로 딜리셔스에 조인하면서 뉴렐릭을 가장 우선적으로 검토하였고, 결과적으로는 도입을 하게 되어 잘 사용하고 있습니다. 

뉴렐릭 도입 후에 경험했던 변화

Covid-19 발생 이후로 딜리셔스의 전반적인 비즈니스가 영향을 받을 수밖에 없었습니다. 동대문은 오프라인 시장이 기본이라 보통 방문을 하고 제품을 소싱하는 것이 기본인데, 코로나로 인해 그 부분이 굉장히 어려워지고, 특히 글로벌 소비자의 경우 한국에 와서 물건을 보기가 어려워져 온라인 거래가 늘어나는 추세가 되었습니다. 

90% 이상의 도소매업체가 사용하고 있는 가장 큰 플랫폼인 신상마켓은 매년 지속적으로 성장하고 있지만, 팬데믹의 영향으로  트래픽이 더욱 크게 늘어나게 되었습니다. 트래픽이 성장했음에도 불구하고 장애는 이전에 비해 현저히 줄어들고 문제를 빨리 발견하고 대응할 수 있는 체계가 갖춰졌습니다. 

조금 더 구체적으로 설명하자면, 사용하고 있는 뉴렐릭의 솔루션별로 아래와 같은 변화를 경험할 수 있었습니다. 

첫번째, Infrastructure 관점에서는 대부분의 AWS EC2 인스턴스에 agent를 설치하고 기본적인 metric 기반의 alert을  구성하였고, Document DB 같이 커넥션 수나 트래픽의 특별한 관리가 필요한 서비스는 별도로 대시보드를 구성하여 개발팀들과 공유해서 사용할 수 있게 되었습니다. 또한, 장애 상황에 이르기 전의 전조 및 징후를 파악하여 트래픽 피크 시의 장애를 미연에 방지하는 경우도 생겨났습니다.  2021년 상반기에 상당수의 서비스를 AWS EKS로 이전하였는데, k8s 환경에서도 뉴렐릭을 활용한 모니터링을 더욱 효과적으로 사용할 예정입니다.

두번째APM 관점에서는 피크 타임에 특정한 이유로 오토 스케일링 그룹의 scale-out이 잘 동작되지 않는 경우가 있었는데, response time 모니터링으로 사전에 탐지하여 장애를 미연에 방지하게 되었습니다. 또한, Jenkins를 통해 배포 시 자동적으로 deployment marker를 적용하여 에러 비율이 올라갈 때에는, 문제가 된 배포 버전을 쉽게 찾아 빠른 시간 내에 오류를 수정할 수 있었습니다. 레거시의 스키마와 query가 비효율적으로 구성되어 있어 시간대별 top query로 slow query를 확인하고 개선 작업을 수행하여 성능을 향상시키고, 이에 소요되는 instance비용을 줄일 수도 있었습니다. 일부 docker 미지원 환경에서는 cloudwatch의 metric이 부족하기 때문에 이를 보완하기 위해서 적극적으로 뉴렐릭을 사용하고 있습니다.  

세번째Insights 관점에서 본다면, API 서버의 경우 NRQL로 현황을 조회하여 CloudWatch 로그와 함께 기초 자료로 사용하고 있고, 신상마켓 사용자 식별자를 custom attribute로 추가하여 크롤링이나 어뷰징 유저 판별의 기초 데이터로 사용하고 있습니다. 기존엔 신상마켓을 비롯한 딜리셔스 서비스에서는 운영 부담을 크게 안고 있었지만, New Relic을 도입함으로써 모니터링 및 alert 자동화가 가능해졌으며, 장애 대응 프로세스 수립에도 많은 긍정적인 영향을 확인할 수 있었고, 결과적으로 신상마켓 플랫폼이 거의 장애가 발생하지 않는 안정적인 서비스가 될 수 있었습니다. 

최근에 인시던트가 발생하지 않은 채 트래픽이 계속 상승한 적이 있습니다. AWS 오토 스케일링 기능이 의도했던 대로 작동하지 않아 발생한 문제였습니다. 그 상황에서 뉴렐릭의 alert를 통해 개발자들이 사전에  인프라 문제가 있음을 파악하여 문제를 조속히 잘 해결할 수 있었습니다. 

딜리셔스의 비즈니스에서 가장 중요한 주문과 결제 단계에 문제가 발생할 경우, 비정상적인 결제 데이터가 남게 되고 원인 파악 및 사후 대응에 많은 리소스 및 시간이 투여됐을 것입니다. 문제가 발생한 것을 미리 인지하지 않았다면, 고객 서비스센터로 문제가 접수되어 더 복잡한 일들이 야기되었을 수도 있었을 것입니다. 그러나 뉴렐릭을 통해 이런 여러 사례들을 미리 방지 및 대응할 수 있게 되었습니다. 

언제나 완벽한 코드를 짤 수는 없지만, 미리 문제를 발견하고 해결하는 방안을 확보해 고객 경험에 지장을 주는 장애가 거의 발생하지 않는 긍정적인 결과를 가져올 수 있었습니다.

.

딜리셔스의 향후 계획

신상마켓은 이미 대한민국의 도소매 대부분이 사용하고 있는 압도적인 플랫폼이지만, 이를 더욱 확장해 나갈 수 있는 기회를 모색하고 있습니다. 

제품과 물류가 원활하게 돌아갈 수 있도록 주문에서 배송까지의 프로세스를 정확하고 효율적으로 진행하여 최종고객에게 상품을 직접 빠르게 전달할 수 있는 풀필먼트 서비스를 이미 소매 사업자들에게 제공하고 있으며, 더욱 많은 고객들이 사용할 수 있도록 확장할 계획입니다. 

또한, 글로벌 고객들을 위해 동대문 도매를 글로벌 마켓으로 연결하는 것이 또 하나의 목표입니다. 이를 위해 B2B 또는 B2C 등의 다양한 비즈니스 모델을 실험하고, 이 과정에 빠르게 움직일 수 있는 별도의 조직을 구성하여 글로벌 타겟의 제품 지원을 하고 있습니다. 

이러한 딜리셔스의 미래 계획에 있어 가장 중요한 것은, 개발자는 자기가 개발해야하는 비즈니스 로직에 집중하고, 그 외의 것은 고도화된 서비스를 통해 자동화, 효율화시켜야 한다는 점입니다. 

이 모든 여정에 뉴렐릭은 함께할 것입니다.  

“뉴렐릭은 딜리셔스에게 사용하느냐 마느냐를 고민하는 단순한 하나의 서비스가 아닌, 계속적으로 함께 가야하는 인프라와 같습니다.” 

- 이용화, 최고 기술 책임자 Dealicious  -