Home > 정보마당 > 공개SW 활용 성공사례

공개SW 활용 성공사례

2013
아파치 루씬(lucene), 솔라(Solr)
위치 기반의 정확한 정보 전달… 배달 서비스의 특수성 지원하는 공개SW 덕분

‘배달의민족’ 앱 개발사인 우아한형제들은 위치 기반의 배달 서비스를 제공하는 스타트업 기업이다. 생활밀착형 서비스로 꾸준히 성장해온 이 회사는 배달 서비스의 특성상 특정 시간대에 데이터가 폭증하는 문제와 이용자 수의 꾸준한 증가에 따른 서버 인프라의 스케일 인·아웃 문제를 고민해왔다. 이에 우아한형제들은 RDBMS 기반의 검색 기능을 공개SW인 루씬과 솔라로 대체했고, 그 결과 RDBMS의 부하가 분산돼 서비스 품질이 향상되고 서버의 가용성도 2배 이상 높아지는 등의 성과를 거뒀다.

- 기     관 우아한형제들
- 수행년도 2013년
- 도입배경 트래픽 급증으로 인한 유연한 스케일 인·아웃 요구 증대
- 솔 루 션 아파치 루씬(lucene), 솔라(Solr)
- 도입효과 : 검색엔진 구조 효율화로 유연한 스케일 인·아웃 환경 마련, RDBMS의 부하 감소로 서비스 속도 향상, 루씬과 솔라의 신기능인 공간DB를 통해 위치정보 검색 효율화, 자체적인 사전 구축 통해 검색 정확성 개선

위치 기반의 지역 광고 플랫폼인 ‘배달의민족’ 개발사인 우아한형제들은 두 형제가 의기투합 해 창업에 성공한 대표적인 스타트업 기업이다. 모바일 혁명의 원년인 2010년 절치부심 끝에 개발한 배달의민족 앱이 출시 이틀 만에 애플 앱스토어에서 1위를 기록하고, 본엔젤스로부터 3억 원의 투자를 유치하면서 창업의 길로 나섰다. 2012 대한민국 인터넷대상의 국무총리상 수상, 2013년 10월 누적 다운로드 수 800만 회를 돌파하는 등의 성과를 거둔 우아한형제들은 벤처기업협회가 선정한 닮고 싶은 창업가 롤 모델 베스트 20에 선정되는 등 위치 기반 서비스(LBS, Location base Service) 업계에서 가장 성공한 기업으로 평가되고 있다.

 

일시적인 트래픽 폭증… 스케일 인·아웃 문제 대두

우아한형제들의 배달의민족은 지역 소상공인을 위한 생활 밀착형 비즈니스 플랫폼으로 이용자 인근의 배달업소와 함께 메뉴 정보 등을 제공한다. 이 앱은 재미있고 저급한(Kitch) 카툰 디자인과 재치 넘치는 문구, 완성도 높은 네이티브 앱, 전단지 수집을 통한 데이터의 정확성 등으로 시장에서 큰 반향을 일으켰다. 그 결과 스마트폰 사용자의 20%(2013년 8월 기준)가 배달의민족 앱을 이용 중이며, 국내 배달 앱의 일 평균 주문수가 전체 콜 수 대비 60%(2013년 3월 코리안클릭 기준)를 점유하고 있다.

 

배달의앱의 성공 비결에 대해 윤현준 우아한형제들 CTO는 “위치 기반의 서비스인 만큼 배달업소 정보의 정확성이 성공의 관건”이라고 밝혔다. 배달업소의 업종 변경과 폐업이 빈번한 만큼 데이터 관리가 중요하다는 것. 특히 배달음식의 특성상 계절이나 시간, 스포츠 경기, 휴일 등의 외부 요인에 의해 트래픽 폭증하고, 소셜 커머스를 아우르는 지역 광고 플랫폼인 만큼 서비스 중단이 소상공인의 매출에 타격이 커 서비스 이용자 수 증가에 따른 서비스의 안전성과 인프라의 스케일 인·아웃이 계속 이슈가 돼왔다.

 

▲ 구글의 로케이션과 지도 API를 이용한 위치 기반 서비스 제공


▲ 수익성 개선에 일조한 바로결제

 

 

서버 가상화와 클라우드로 트래픽 폭증 대응

우아한형제들은 초기에는 자체 서버 운영을 고집했으나 고가용성과 스케일 인·아웃에 대한 고민으로 서비스 인프라 구조를 유연하게 개선해야만 했다. 자체 구축한 지리정보DBMS에는 네이버나 114보다도 많은 13만 개의 배달업소 정보가 관리되고 있으며, 비즈니스 데이터는 MySQL과 MS-SQL과 같은 RDBMS를, 로그 데이터와 정형 데이터의 빠른 처리를 위해서는 SQLite와 멤캐시와 같은 키-벨류 타입의 인메모리도 적용해 서비스 품질을 향상시켰다. 배달음식 주문 전화를 자체 구축한 인터넷전화통신 시스템을 거처 배달업소에 연결되도록 서비스를 구축한 것도 특징이다.

 

날씨나 주말, 점심 및 저녁과 같은 시간대에 따라 유입되는 트래픽이 1.5~2배 이상 급증할 뿐 아니라 단순한 수치만 봐도 서비스 규모가 매년 2배 이상 성장하고 있다는 게 윤현준 CTO의 설명이다. 배달 서비스의 특성상 변수들로 인한 트래픽 변동폭이 큰 만큼 우아한형제들은 vSphere ESXi 하이퍼바이저로 서버를 가상화하고, 중요한 코어 로직은 가상화 서버에서, 이외의 사용자 관련 로직은 외부 클라우드 서비스로 분산해 클라우드 인스턴스만 늘리면 스케일 아웃이 가능하도록 인프라를 개선했다. 윤현준 CTO는 “고가용성을 위해 서버를 이중화하거나 분산환경을 구축하는 등에 있어 솔루션의 버전에 따라 구성 가능한 서비스가 달라지는데, 중요한 것은 버전으로 인한 기술적 문제가 아니라 고가용성 그 자체”라며 “클라우드 서비스를 활용하면 DBMS의 규모와 사용자 수의 증감만 신경쓰면 돼 상대적으로 버전에 대한 고민을 덜 수 있다”고 밝혔다.

 

 

공개SW 검색엔진으로 RDBMS 부하 해소

배달의민족은 위치 기반으로 3km 인근 음식점 중 가장 가까운 곳부터 순차적으로 리스트업하는데, 기존에는 이러한 위치정보 기반의 검색에 RDBMS를 사용했다. 사용자 위치, 그 시간의 배달업소 데이터, 광고 비즈니스 등의 데이터를 조합해 인근 배달업소 리스트가 생성되는 것. 이용자에게 각각 다른 데이터가 질의되기 때문에 서비스 규모가 커짐에 따라 RDBMS의 부하도 점차 심해졌다. 이처럼 점차 대두되고 있는 RDBMS의 성능 개선과 스케일 인·아웃 이슈의 해결책을 고민한 결과, 공개SW 검색엔진인 아파치 루씬과 솔라 도입이 최종 결정됐다.

 

아파치 루씬은 검색엔진의 핵심 기능인 색인과 검색을 지원하는 자바 기반의 라이브러리이며, 솔라는 기업용 검색 플랫폼으로 REST-like API를 지원해 인덱스를 XML, JSON, CSV, 바이너리 형태로 HTTP로 전송 가능하다. 이에 대해 윤현준 CTO는 “RDBMS의 부하 분산과 검색 효율을 고려해 공개SW인 루씬과 솔라를 도입했다”고 밝혔다. 키워드와 인덱스 기반의 검색엔진을 통해 데이터 필터링이 쉽고, 인덱스 서버와 검색 서버의 구성에 따라 스케일 아웃도 유연할 뿐 아니라 루씬과 솔라의 최신 버전에 공간DB가 지원돼 검색엔진에서도 공간DB를 활용한 계산이나 검색이 가능한 점도 고려됐다고 그는 덧붙였다.

 


▲ 루씬·솔라 아키텍처

 

우아한형제들은 루씬과 솔라 도입 결정에 따라 배달업종별 자체 사전을 구성하는데 많은 노력을 기울였다. 배달은 결국 특수한 카테고리의 서비스이기 때문에 별도의 단어사전이 필요하기 때문이다. 또한 검색엔진에 광고 플랫폼과 지리정보 데이터를 적용하고 정확한 검색이 가능하도록 알고리즘과 로직을 수정했다. 이를 통해 단순한 키워드 검색을 넘어 광고 비즈니스와 위치 및 지도정보 검색이 가능하도록 커스터마이징했다. 도입 과정에서는 실제 서비스 환경의 일부 트래픽이 검색엔진 서버로 분산 처리되도록 테스트베드를 구축함으로써 검색엔진 도입에 따른 리스크도 최소화했다. 이러한 노력의 결과, 서버의 가용성이 2배 이상 증가하고 RDBMS의 오버헤드가 줄어 검색속도도 향상되는 성과를 거뒀다는 게 윤현준 CTO의 설명이다.

 

우아한형제는 루씬과 솔라의 성공적인 도입에 이어 검색엔진에도 공개SW인 솔라클라우드(SolrCloud)를 추가로 도입할 계획이다. 검색엔진 자체도 클라우드로 만들어 스케일 아웃에 유연성을 보다 높이겠다는 것으로, 공개SW인 클라우드스택을 통해 가상화된 서버까지도 클라우드로 전환할 예정이다. 이밖에도 이 회사는 서버의 데이터 처리 속도를 향상시키기 위해 레디스(Redis)와 같은 키-벨류 타입의 데이터 자장소나 node.js 등도 도입을 검토하고 있다.

 

우아한형제들은 정보기술을 통해 배달산업을 발전시키겠다는 기업 비전에 따라 스타트업들과의 상생에도 힘쓰고 있다. 기존에 배달서비스를 제공하지 않는 유명 맛집 음식을 배달시켜주는 ‘띵동’과 ‘떳다! 울트라맨’ 등의 스타트업 기업과 협력한 것도 이 때문이다. 또한 기술 개방에 소극적인 국내 IT 산업의 풍토를 변화시키고자 공개SW 도입 사례를 외부와 공유함으로써 지식 공유를 통한 상생발전의 문화를 정착시키는 데도 노력할 계획이다.


[인터뷰]


“자체 개발한 프레임워크과 광고 플랫폼 공개할 것”

우아한형제들 윤현준 CTO


우아한형제들 윤현준 CTO

Q> 국내의 공개SW 활성화, 무엇이 문제인가

미국의 실리콘밸리가 전 세계 IT를 주름잡는 메카가 된 데에는 공개SW도 큰 역할을 했다. 공유문화가 굉장히 활발하고 레퍼런스 사례가 많은 만큼 스타트업도 공개SW에 쉽게 접근하고 활용하고 있다. 반면 국내에서는 공개SW 사례나 전문가도 찾기 쉽지 않은 실정이다. 이러한 환경의 차이가 공개SW 활성화의 가장 큰 문제로, 이는 결국 인식의 문제에서 비롯되고 있다. 이에 우아한형제들은 아직은 인력이 충분치 않지만 자체 개발한 프레임워크나 광고 플랫폼도 점차 오픈함으로써 이러한 공유의 문화가 국내에 정착하는 데 기여할 생각이다.

 

Q> SW 창업과 관련해 조언한다면

세미나에서 자주 하는 얘기인데 ‘크게 생각하고 짧게 생각하라’고 말하고 싶다. 한번에 모든 것을 구현하려고 하지 말고 핵심을 먼저 구현하고 사용자의 피드백을 통해 지속적으로 개선하는 것이 중요하다. 인력도 자본도 적은 스타트업이 모든 것을 완벽하게 갖추고 시작하기란 사실상 불가능하다. 세계적인 소셜커머스 기업인 그루폰도 그 시작은 워드프레스로 구현한 초라한 웹사이트였다. 이 회사는 빨간색 티셔츠를 처음 판매했는데 PDF로 쿠폰을 만들고 주문도 이메일로 받았다. 그루폰에 있어 서비스의 핵심은 제품 판매였고, 이것에만 집중한 것이다.




- 마이크로소프트웨어 조수현 기자 suhyeoni@imaso.co.kr
- 공개SW 역량프라자
공개SW 활용 성공사례 게시물 리스트 표
번호 제목 조회수 작성
공지 [공개SW/엔씨소프트 개발자들] "오픈소스 모르면 아무것도 할 수 없어" file 43 2019-12-08
공지 [공개SW 현장/중랑구] 지자체 첫 오픈소스 기반 IoT 통합플랫폼 구축 file 62 2019-12-05
공지 [공개SW 현장/인천국제공항공사] 내부망에 오픈소스 첫 도입...점차 확대 계획 file 48 2019-12-05
공지 [공개SW 개발자] 송태웅 리얼리눅스 대표 "리눅스 교육으로 세계 시장 진출" file 293 2019-11-20
공지 [공개SW/라인플러스 개발자들] "컨트리뷰톤 참가해 좋은 자극...좋은 개발자는 디테일해야" file 199 2019-11-19
공지 [공개SW 개발자] 이문수 제플 대표 "한국의 레드햇이요?...협업할 줄 알아야 좋은 개발자" file 231 2019-11-12
공지 [공개SW 개발자/방진호] "SW 보는 시야 넓어져...실력 향상은 덤" file 229 2019-11-10
164 [공개SW 활용 성공사례 121] 소프트웨어인라이프 - 공개SW 기반 CSB 관리 페이지 구축 49052 2014-03-11
163 공개SW 성공사례집 발간 3 file 604675 2014-03-11
162 [공개SW 활용 성공사례 120] 엑세스 - 공개SW기반 디스크리스 솔루션 개발 13761 2014-03-04
161 [공개SW 활용 성공사례 119] 버즈니 - 공개SW로 실시간 로그 분석 시스템 구축 18275 2014-02-25
160 [공개SW 활용 성공사례 118] VCNC - 공개SW로 급변하는 트래픽에 유연하게 대응 가능 20321 2014-01-15
159 [공개SW 활용 성공사례 117] ING DiBa - 공개SW 기반 x86 서버 시스템으로 마이그레이션 15671 2014-01-07
158 [공개SW 활용 성공사례 116] 배달의 민족 - 공개SW로 위치기반의 정확한 배달 서비스 가능 21173 2013-12-24
157 [공개SW 활용 성공사례 115] 어니컴 - 공개SW 프로젝트로 빅데이터 활용 프레임워크 개발 16865 2013-12-17
156 [공개SW 활용 성공사례 114] 언어과학 - 이러닝 솔루션 개발에 공개SW 도입해 호환성 해결 20405 2013-12-10
155 [공개SW 활용 성공사례 113] 오브젝트빌드 - 다양한 공개SW로 박스형 3D프린터 자체 개발 21066 2013-12-03
맨 위로
맨 위로