月 천만 흥행 소셜커머스’티몬의 무한동력

[테크홀릭] 티켓몬스터는 슈퍼 스타트업이다. 지난 2010년 5월 10일 문을 연 이 소셜커머스 사이트는 지난해 매출 1조원을 돌파했다. 월간 방문자 수는 닐슨코리안클릭 기준으로 월 1,300만 명에 달한다. 천만 관객 영화가 화제지만 매달 천만 명이 넘는 소비자가 티켓몬스터를 찾고 있는 셈이다. 쇼핑몰 시장을 주도하던 오픈마켓 월간 방문자 수인 1,500∼1,600만 명에 필적하는 수준까지 성장한 것. 스타트업으로 시작한 이 기업은 이젠 직원 수도 1,000명을 훌쩍 넘겼다.

月 천만 흥행 소셜커머스’티몬의 무한동력

티켓몬스터가 문을 연 건 지난 2010년 5월 10일. 개발 기간은 2009년 연말 시작해서 6∼7개월 가량 걸렸다. 초기 구축 인력은 5명, 단출했다. 하지만 티켓몬스터는 이후부터 지금까지도 계속 고도화를 진행하고 있다. 폭발적인 성장을 거듭하면서 사이트도 덩치에 맞는 형태로 업데이트를 계속 해야 했기 때문이다.

月 천만 흥행 소셜커머스’티몬의 무한동력

그렇다 보니 개발자와 엔지니어 숫자도 초기와는 비교할 수 없을 만큼 늘었다. 현재 티켓몬스터 직원 수는 1,200명이다. 이 가운데 개발자와 DBA, 보안 관리 인력 등을 모두 합치면 200명이다. 순수 엔지니어만 따져도 100명이다.

月 천만 흥행 소셜커머스’티몬의 무한동력

◇ 초기부터 지금까지 “공개SW만 썼다”=이 회사는 시스템 쪽엔 모조리 공개SW를 사용하고 있다. 아키텍처 유닛 최호익 팀장은 “티켓몬스터도 초기에는 흔히 스타트업이 그렇듯 PHP와 마이SQL 조합을 썼다”고 밝혔다. 티켓몬스터는 PHP를 메인 프로그래밍 언어를 사용 중이지만 향후에는 자바로 이행할 예정이다. 물론 지금은 과도기인 만큼 PHP와 자바가 혼재되어 있는 상황. 파이썬도 일부 쓰지만 신규 작업은 모두 자바로 진행하고 있다는 설명이다. 워낙 규모가 큰 탓에 언제 완전 전환이 이뤄질지 장담할 수는 없지만 전환 작업을 순차 실시하겠다는 것.

이렇게 전환을 시작하는 가장 큰 이유는 속도와 확장성 때문이다. 최 팀장은 티몬의 매출이 높아지고 트래픽이 증가하면서 기존 PHP 모듈로는 트래픽을 견디기 어렵기 때문이라고 밝혔다.

DB도 마찬가지다. 티켓몬스터는 초기에는 마이SQL 하나만 썼다. 하지만 이후 마리아DB를 비롯한 공개SW를 꾸준히 모니터링하다 지난 2013년 초부터 마리아DB를 순차 적용해보고 있다. 이번에 새로 나오는 마리아DB 10 버전 역시 내부에서 검토 중이라는 설명이다.

마리아DB를 검토하는 이유는 크게 2가지다. 첫 번째는 쓰레드풀이다. 쓰레드풀은 실제 내부에서 디스크에 액세스할 때 쓰레드를 생성하는데 이전에는 쓰레드를 하나 만들었다가 폐기하는 과정을 반복했다. 하지만 쓰레드풀을 이용하면 하나만 생성해서 계속 재활용할 수 있다. 쉽게 말해 메모리를 마음대로 늘릴 수 있는 기능으로 생각하면 쉽다. 그런데 마이SQL의 경우 이 기능은 상용인 엔터프라이즈에만 들어가 있다. 이에 비해 마리아DB는 이 기능을 기본 지원한다.

두 번째 이유는 샤딩(Sharding) 기능 때문이다. 샤딩은 소프트웨어적으로 DB를 분산 처리할 수 있는 구조를 만들어주는 기술이다. 마리아DB 10 버전이 이를 지원한다. 티켓몬스터가 10 버전을 고려하는 것도 유연한 확장을 감안한 것이다.

시스템 유닛 배상선 엔지니어는 “향후에는 마이SQL 5.6과 마리아DB 10 등을 고려하고 있지만 함부로 마리아DB로 한꺼번에 바꾸기에는 매일 사업을 진행하는 티켓몬스터의 특성상 금방 고려하긴 어렵다”면서 최종적으로 어떤 걸 택할지는 테스트 이후 결정할 계획이라고 덧붙였다.

티켓몬스터 공개SW 서비스 구조도

◇ 티몬이 공개SW를 쓰는 3가지 이유=티켓몬스터는 앞서 설명했듯 상용은 아예 쓰지 않는다. 이젠 엄청난 규모를 자랑하는 사이트인데 왜 그럴까. 최 팀장은 공개SW를 택한 이유를 3가지로 설명했다. 가장 큰 건 TCO(Total Cost of Ownership)다. 처음에는 TCO 측면에서 유리하니 스타트업 시절 마이SQL를 쓰지만 도입해서 써보니 튜닝만 잘하면 상용보다 불편할 게 전혀 없다는 것이다.

다음은 특정 벤더의 종속성, 의존도에서 벗어날 수 있다는 것이다. 예를 들어 상용DB에는 고유 펑션, 기능 같은 게 있는데 이런 걸 공개SW와 함께 쓰면 제거하고 가기 어렵다는 것. 티켓몬스터의 경우 마이SQL로 시작해 지금은 마리아DB로 전환하기도 쉽다. 선택의 자유가 있다는 게 장점이라는 설명이다.

마지막은 공개SW를 쓰게 되면 개발할 때 제약 사항이 없다는 장점이 있다는 것이다. 배상선 엔지니어는 “상용은 개발할 때 이런 식으로 하라고 강제한 게 있지만 공개SW는 필요한 기능을 구현할 때 마음대로 원하는 방향으로 개발할 수 있다는 게 장점”이라면서 개발 측면에서 봤을 때 커스터마이징, 최적화에 장점이 있다고 말한다. 최 팀장은 이런 점을 들어 “앞으로도 공개SW 외에는 쓸 계획이 없다”고 잘라 말한다.

물론 공개SW가 장점만 있는 건 아니라고 말한다. 최 팀장은 공개SW는 장점이 많은 반면 버그리포팅, 패치에 대한 책임이 별로 없다는 점이 단점이라고 말한다. 티켓몬스터 내부 개발팀은 이를 위해 ‘기술 내재화’를 강조하고 있다. 물론 아직까지 미흡한 면이 있기 때문에 2013년부터 컨설팅 업체를 통한 기술 지원도 병행해서 받고 있다. 월 천만 명 이상이 찾는 사이트인 만큼 규모에 맞게 상용에 걸맞은 기능이나 스펙이 필요하게 됐고 일반 수준으로 지원하지 않는 기능은 컨설팅 업체 등과도 협의를 한다는 것이다.

공개SW를 쓰는데 컨설팅업체로 비용을 들인다? 그렇다면 공개SW의 장점이 사라지는 건 아닐까. 최 팀장은 “비용적인 면에선 비교가 안 된다”고 말한다. 티켓몬스터 내부 DB는 모두 40대. 만일 상용DB를 설치한다고 가정하면 싸게 해도 대당 2억, 산술적으론 80억원이라는 막대한 비용이 발생한다. 일부 상용DB의 코어당 라이선스 비용은 2,400만원 가량인데 티켓몬스터에 들어가는 코어가 128개이니 그야말로 엄청난 금액이다. 상용DB의 경우 여기에서 끝나는 게 아니라 유지보수 비용만 연간 20%를 내야 한다. 공개SW와 상용을 비교하는 건 DB 하나만 봐도 게임이 안 된다는 설명이다.

최호익 팀장과 배상선 엔지니어(사진 왼쪽부터)는 공개SW의 장점으로 TCO 감소와 벤더 의존도 탈피, 자유로운 개발 환경 조성이라는 3가지 장점을 들었다.

국내 대기업이 운영하는 쇼핑몰 상당수는 상용DB를 사용 중인데 라이선스 비용만 연간 20∼40억 원 가량이 들어간다. DB만 따져 봐도 그렇다는 얘기다. 티켓몬스터는 아파치나 톰캣 같은 공개SW도 사용중이다. 그런데 이를 상용으로 바꾸면 카피당 라이선스가 적어도 2,500만원에서 3,000만원은 든다. 오픈마켓 판매 단가는 대당 1%, 종합몰은 3∼4% 가량이다. 아무리 연간 조 단위 매출을 해도 이런 상용 서비스로 인한 비용은 순이익 면에선 부담스러운 면이 존재할 수밖에 없다.

최 팀장은 물론 성능이 좋다면 그 비용을 들일 수도 있지만 문제는 그게 아니라는 것이라고 강조한다. 그 역시 이전 직장에서 상용DB를 8년 가량 써봤지만 버그 많고 다운 많은 건 똑같다는 얘기다. 제품 자체가 좋더라도 그 정도 비용을 들여서 쓸 정도는 아니라는 것.

배상선 엔지니어는 초기 스타트업의 경우 비싸서 상용을 쓰지 않은 측면도 있지만 성능도 솔직히 아키텍처만 잘 짜면 차이가 없다고 말한다. 물론 상용은 인력 수급 고민이나 운영상 리스크를 줄인다는 장점이 있지만 TCO 측면, 튜닝을 잘하면 공개SW 역시 성능상 차이가 별로 없다는 점이 흠이라는 것이다.

◇ 기술 내재화 박차, 2천만 서비스도 공개SW로=티켓몬스터를 한 달에 방문하는 순 방문자 수는 지난 7월 기준으로 1,300만 명에 이른다고 한다. PC와 모바일 비율은 7:3, 모바일이 압도적이다. 최 팀장은 모바일 역시 모두 공개SW로 시스템이 구성되어 있다고 귀띔했다.

지난해 티켓몬스터의 매출은 1조원. 올해는 1조 5,000억원을 훨씬 뛰어넘을 전망이다. 내부에선 이를 감안하면 트래픽도 지난해보다 훨씬 늘어날 것으로 보고 있다. 이에 대비해 메인DB를 여러 모듈 단위로 쪼개서 앞서 설명한 샤딩 같은 걸 도입하는 등 실제 DB가 받는 부하를 분산시키는 작업을 할 예정이다. 정확하게 수치상으로 말할 수는 없지만 한 달에 몇천 만까지는 충분히 가능해질 수 있게 하는 것이다. 기존보다 이론상 50% 부하를 줄이면 실제로는 25% 이상은 충분히 쾌적해진다. 물론 지금도 쾌적하지만 앞으로의 트래픽 상승을 감안해 이런 작업을 계속해갈 예정이라는 설명이다.

최 팀장은 전체적인 개발 방향이나 목표를 묻는 질문에 “가장 중요한 과제는 장애가 없는 쾌적한 트래픽 해소”라고 강조한다. 배상선 엔지니어는 내부에선 느려도 장애로 본다면서 고객 입장에서 조금만 느려도 다른 곳으로 금세 가버릴 수 있는 만큼 이를 쾌적하게 해결하는 것, 또 앞으로의 모든 서비스도 상용으로 될 서비스 수준을 공개SW로 모두 하겠다는 것 2가지라고 덧붙였다.

※ 이번 공개SW 활용 성공사례는 테크홀릭과 정보통신산업진흥원 공개SW 역량프라자가 공동으로 발굴한 기사(http://www.oss.kr/oss_repository10/548559)다.

전자신문인터넷 테크홀릭팀

이석원 기자 techholic@etnews.com