e비즈*솔루션

이동욱 인프랩 CTO “소규모 개발 팀? 몽고DB 아틀라스 추천”

이종현

19일 몽고DB 서울 데이서 발표 중인 이동욱 인프랩 CTO
19일 몽고DB 서울 데이서 발표 중인 이동욱 인프랩 CTO
[디지털데일리 이종현기자] “스타트업은 기술 부채 관리의 예술이라고 한다. 내가 원하는 양만큼의 기술 부채를 통해 회사의 레버리지(Leverage)를 높이느냐가 스타트업에게 가장 중요한 역량이다. 필요할 때 얼마나 갚기 쉬운 형태로 기술 부채를 만들어서 비즈니스를 성장시킬 것인가를 고민해야 하고, ‘몽고DB 아틀라스(Atlas)’는 굉장히 좋은 옵션이 될 것이라 생각한다.”(이동욱 인프랩 CTO)

개발자 교육 플랫폼 ‘인프런’을 운영하는 스타트업 인프랩의 이동욱 최고기술책임자(CTO)는 몽고DB가 개최한 연례 개발자 컨퍼런스 ‘몽고DB 데이 서울’의 발표자로 나섰다. ‘시리즈 A 스타트업이 검색엔진으로 몽고DB 아틀라스 서치를 선택한 이유’를 발표하며 실제 경험을 바탕으로 몽고DB 아틀라스의 장단점을 조명했다.

몽고DB 아틀라스는 몽고DB의 클라우드 데이터베이스(DB) 서비스다. 아마존웹서비스(AWS), 마이크로소프트(MS) 애저(Azure), 구글클라우드 등을 통해 이용할 수 있다. 인프라 프로비저닝, 설정 및 배포 등이 자동화된 완전 관리형 DB다.

인프랩은 모든 환경을 AWS DB에서 구동하는 중이다. 메인 DB로는 포스트그레SQL과 NoSQL인 레디스(Redis)를 혼합해서 사용하는데, 복잡한 조건의 검색은 포스트그레SQL이 담당하는 구조다.

이 CTO는 “스타트업은 테스트를 하며 안정성을 점검하기보다는 최대한 빨리 기능을 선보이는 것이 중요했다. 그런데 대부분의 기능을 의존하고 있던 AWS의 오로라(Aurora) 포스트그레SQL에서 복잡한 조건으로 검색을 할 때마다 문제가 생기곤 했다. 그러다 100% 할인 이벤트를 했다가 4일 연속으로 전체 서비스가 다운되는 일이 발생했다”고 말했다.


이와 같은 문제에 대해 이 CTO가 처음 떠올린 해결책은 포스트그레SQL과 레디스에 더해 검색엔진으로 아마존 오픈서치를, 비정형 데이터 DB로 아마존 다이나모(Dynamo)DB를 도입하는 것이다. 하지만 소규모 팀에서 100만명의 회원이 이용하는 서비스를 개편 중인데, 이들 모두를 안정적으로 운영할 수 있을까에 대해 고민했고, 다른 대안으로 몽고DB 아틀라스를 선택했다는 설명이다.

그는 “최고의 아키텍처보다는 지금 가장 효율적인 아키텍처로, 비즈니스 요구 사항을 적시에 달성하고 싶었다. 그러다가 비정형 데이터처리와 검색엔진 기능을 모두 제공하는 몽고DB 아틀라스를 알게 돼 선택하게 됐다”며 몽고DB 아틀라스를 채택함으로써 여러 이점을 누리게 됐다고 전했다.

특장점으로 꼽은 것은 몽고DB 코리아의 기술지원이다. 이 CTO는 “몽고DB 코리아의 기술지원 팀이 인프랩의 데브옵스(DevOps) 팀마냥 문제 해결에 적극적으로 나서줬다”고 말했다. 또 예전부터 자주 사용되던 Node.js와 몽고DB의 조합이 가져오는 ‘상대적 익숙함’ 역시 이점으로 다가왔다고 전했다. 인프랩의 백엔드 개발팀 모두가 몽고DB를 다뤄본 적이 있기에 사용에 제약이 적었다는 것이다.

서비스 레벨 어그리먼트(Service-Level Agreement, 이하 SLA)도 강점이라고 말했다. AWS 오픈서치의 경우 SLA 99.9%를 지원하는데 몽고DB 아틀라스는 SLA 99.995%를 지원한다. 이 CTO는 “99.9%라면 1년 동안 8시간45분 정도 장애가 날 수 있다는 의미다. 99.995%는 26분 정도다. 여기에는 굉장히 큰 차이가 있다”고 피력했다.

다만 몽고DB 아틀라스가 ‘만능열쇠’는 아니라고 밝혔다. 특히 문제점으로 지목한 것은 부족한 국내 레퍼런스와 커뮤니티다. AWS 등 글로벌 기업의 경우 개발자 커뮤니티가 활발한 반면 몽고DB는 커뮤니티 생태계가 덜 활성화돼 있는 것이 아쉽다고 말했다.

그럼에도 소규모 개발 팀을 보유 중인 기업이라면 몽고DB 아틀라스가 좋은 선택이 될 수 있다는 것이 그의 설명이다.

이 CTO는 “스타트업은 최소한의 도구로 다양한 문제를 일정 수준 이상으로 해결할 수 있어야 한다. 각각의 문제를 해결하기 위한 최적화된 도구가 있는 것은 사실이다. 하지만 스타트업으로서는 그런 기능이 100% 필요한 것이 아니다. 또 포스트그레SQL 전문가 1명, 다이나모 전문가 1명 이런 식으로 채용해서 활용하다가, 누군가 퇴사한다면 어떻게 될까. 스타트업으로서는 각 영역의 전문가를 채용하는 것이 결코 쉬운 일이 아니다”라고 말했다.

이어서 “우리가 당면한 문제를 해결할 수 있는, 최소한의 도구가 필요하다. 스타트업이고, 관계형DB를 메인으로 사용하며, 풀 텍스트 검색엔진과 NoSQL이 필요하다고 느끼는 소규모 개발 팀이라면 몽고DB 아틀라스가 좋은 옵션이 될 것”이라고 조언했다.

이종현
bell@ddaily.co.kr
기자의 전체기사 보기 기자의 전체기사 보기
디지털데일리가 직접 편집한 뉴스 채널