온프레미스 데이터 센터를 운영할 경우, 서버 할당 및 환경 설정에만 2-3일이 걸리고 서버를 준비하는 비용이 수 천 만원에 달하며 운영 인력도 투입되어야 하므로 초기 투자 비용이 거의 없는 AWS를 선택하였습니다. 게다가 AWS는 새로운 기능의 추가 배포를 위한 Blue-Green Deployment를 상시 진행할 수 있도록 해주기 때문에 서비스 개발 생산성이 이전과 비교할 수 없을 정도로 높아졌습니다. 또한 '이런 기능이나 서비스가 있었으면 좋겠다'고 생각하고 있던 서비스들을 AWS가 이미 제공하고 있어서 매우 만족하고 있습니다.
김성민 CTO, 데이블

2015년 SK플래닛 사내 벤처 출신의 창업가 4명을 중심으로 설립된 데이블은 검색 엔진과 추천 엔진 노하우를 기반으로 개인화 추천 서비스를 제공합니다. 정교한 추천 알고리즘을 이용해서 온라인 쇼핑몰, 포털 및 미디어 사용자에게 뉴스 등을 포함한 다양한 콘텐츠 및 상품을 실시간으로 추천하고, 광고주가 제작한 콘텐츠를 잠재 고객에게 추천해 소비자와 광고주를 직접 연결해주는 서비스를 제공합니다. 데이블의 주요 고객은 KBS, YTN, 중앙 일보 등 국내 주요 미디어사 및 커머스 업체입니다. 자체 개발한 개인화 추천 알고리즘으로 실시간 콘텐츠 분석 및 추천 서비스를 제공하며, 사용자의 관심사 및 자주 방문하는 지역, 행동 패턴을 기반으로 타겟팅된 광고 콘텐츠도 제공하고 있습니다.

데이블은 브라우저 상에서 개인의 행동을 실시간으로 분석하고 추천하는 서비스를 제공하기 위해서는 온프레미스 방식보다는 클라우드 서비스가 적격이라고 판단하고 솔루션 검색에 나섰습니다. 스타트업의 특성상 서비스 개발 및 배포가 신속하게 이뤄져야 하고 소수의 인원으로 인프라 운영이 가능해야 했습니다. 데이블은 당시 여러 개의 클라우드 솔루션을 비교하면서 네 가지 사항을 중점적으로 검토했습니다. 데이블의 김성민 CTO는 “서비스 개발 및 배포에 걸리는 시간, 글로벌 서비스로 확장할 경우 대응 능력, 제한된 인원으로 서비스 운영 및 관리 가능 여부, 보안성 등”을 위주로 평가했다고 밝혔습니다. 그리고 비용 측면에서는 합리적인 초기 투자 비용으로 운영이 가능한 솔루션을 찾아야 했다고 설명했습니다.

데이블은 AWS 이외에도 국내외 클라우드 서비스 업체들을 검토했습니다. 그러나 개발 및 운용/관리 편의성 측면에서 데이블의 요구 사항을 충족시키는 조건을 가진 솔루션은 AWS였습니다. 게다가 AWS는 기본적으로 보안성이 매우 훌륭한 편이고 보안을 강화시킬 수 있는 추가적인 기능도 제공하고 있어서 최종적으로 AWS를 선택했습니다. 데이블은 Google analytics처럼 고객사 사이트에 로그 수집 스크립트를 설치하면 자동으로 사용자 행동 로그가 데이블 솔루션으로 수집되는 방식을 사용하고 있습니다. 김성민 CTO는 “수집된 로그는 대량의 데이터를 쉽고 빠르게 처리하는 Amazon Elastic MapReduce(Amazon EMR)과 Amazon Redshift 등을 이용해서 사용자의 행동 패턴 분석 및 추천 계산 결과를 계산해서 Amazon DynamoDB와 Amazon Relational Database Service(Amazon RDS)에 저장 후 개인화 추천 서비스를 제공”한다고 설명했습니다.

개인들의 정보인 로그 데이터를 보내오면 로그 형태 그대로 AWS Elastic BeanstalkAmazon Kinesis에 실시간으로 저장됩니다. 입력되는 로그는 실시간 처리가 가능한 AWS LambdaAmazon Redshift를 이용해 실시간으로 분석합니다. 개인들에게 제공되는 뉴스의 메타 정보는 Amazon RDS에 저장하고, 인 메모리 캐싱 서비스인 Amazon ElasticCache, 클라우드 스토리지인 Amazon Simple Storage Service(Amazon S3), Amazon EMR 등을 사용하고 있습니다. 또한 사용자들의 추천 서비스 로그를 저장할 때 데이터 용량이 방대하기 때문에 유연한 NoSQL 데이터베이스인 Amazon DynamoDB에 저장합니다.

아래 다이어그램은 AWS에서의 데이블 인프라 아키텍처를 보여줍니다.

데이블 AWS 아키텍처

기존의 온프레미스 상에서는 서비스를 개발 및 배포할 장비를 구입하고 환경을 설정하는 프로세스가 오래 걸리고 번거로운 반면 AWS는 몇 분만에 필요한 인프라를 제공해주어 서버 운영 및 관리가 훨씬 쉬우며 한 두 명 만으로 서버 운영이 가능하다는 장점이 있습니다. 김성민 CTO는 “온프레미스 데이터 센터를 운영할 경우, 서버 할당 및 환경 설정에만 2-3일이 걸리고 서버를 준비하는 비용이 수 천 만원에 달하며 운영 인력도 투입되어야 하므로 초기 투자 비용이 거의 없는 AWS를 선택하였습니다. 게다가 AWS는 새로운 기능의 추가 배포를 위한 Blue-Green Deployment를 상시 진행할 수 있도록 해주기 때문에 서비스 개발 생산성이 이전과 비교할 수 없을 정도로 높아졌습니다.”라고 설명했습니다.

데이블은 2016년 1월 기준으로 월 순 사용자 수(MAU)가 6,600 만 명을 돌파했지만 레이턴시는 평균적으로 50ms 미만을 유지하고 있으며 장애 발생률이 거의 제로에 가깝기 때문에 가용성은 99.999%를 유지하고 있습니다. 김성민 CTO는 AWS의 또 다른 장점으로 "이런 기능이나 서비스가 있었으면 좋겠다고 생각했던 서비스들을 AWS가 이미 제공하고 있어서 매우 만족”하고 있다고 말했습니다. 특히 대부분의 소프트웨어 개발자의 경우 물리적 서버의 하드웨어 구성이나 관리에 취약할 수 밖에 없는데 AWS는 프로그램을 개발하듯이 서버를 관리할 수 있게 해주어 매우 편리하다고 말했습니다.

AWS를 활용해 빠르고 안정적인 웹사이트/모바일 서비스를 만드는 방법에 대해 알아보고 싶으시다면 AWS 웹사이트 페이지를 방문해 보시기 바랍니다.