새로운 서비스를 개발할 때는 사용량을 예측하기가 힘듭니다. 특히 글로벌 시장을 겨냥한 모바일 서비스라면 더욱 그렇습니다. VCNC는 처음 Between 서비스를 기획하면서 이 점을 염두에 두고 인프라 구축에 대한 다양한 선택지들을 고려했습니다. 처음에는 자체 데이터센터 구축을 고려해 보았지만, IDC의 확장성에 대한 우려가 제기되었습니다. 이에 관련해 VCNC의 김명보 Value Developer는 다음과 같이 말했습니다.
“Between은 서비스 특성상 커플들의 사진이 많이 저장될 것으로 예상되었기에 스토리지를 지속적으로 늘릴 것에 대비해야 한다고 생각했습니다. 그런데 데이터센터를 구축할 경우 인스턴스 하나를 늘리는 데 적어도 1주일이 넘게 걸린다는 점을 감안할 때 결과적으로 시간 낭비가 심해지고, 트래픽 폭증에도 제때 대응하지 못하게 될 가능성이 있다고 판단했습니다.”
인력이 부족한 스타트업으로서는 핵심 업무인 서비스 개발 외의 업무 부담을 최대한 줄여야 했기 때문에 하드웨어 운영과 유지에 인력을 할당해야 하는 것도 자체 데이터센터 구축의 큰 단점 중 하나였습니다.
VCNC는 총 소유비용이 지나치게 클 것이라는 판단 하에 데이터센터 구축을 포기했고, 클라우드 도입을 고려하게 되었습니다. 여러 클라우드 서비스들을 비교한 결과 AWS를 사용하기로 결정하였는데, 이는 AWS가 가장 다양한 기능을 가지고 있었을 뿐 아니라 Pinterest나 Dropbox 등 이미 성공한 스타트업들이 AWS를 통해 글로벌하게 성장한 사례가 알려져 있어 업계에서의 신뢰도도 높았기 때문입니다. 김명보 Value Developer는 이에 대해 아래와 같이 말했습니다.
“당시 개발을 맡고 있던 친구들이 AWS의 장애 내역이 전부 공개되는 서비스 운영 상태 페이지를 보여줬습니다. 이러한 내용을 투명하게 공개한다는 점이 마음에 들었고, 이 정도면 만약 장애가 일어난다 해도 빠른 해결이 가능할 것이라 생각했습니다. AWS를 선택하고 처음 사용을 시작했을 때에도 사용자 층이 두터워 포럼 등을 통해 사용법을 쉽게 배울 수 있었으며, 튜닝 과정에서 어려움을 겪을 때에도 기존에 비슷한 문제를 겪은 사용자들이 공유한 해결책이 있었기에 어렵지 않게 해결할 수 있었습니다.”
VCNC는 Amazon EC2, Amazon S3, Elastic Load Balancing, Amazon EBS, Amazon Route 53, Amazon CloudWatch, AWS Support 등 다양한 AWS 서비스들을 활용하고 있으며, 사용자들의 요청에 기반해 매주 서너 개씩의 새로운 기능과 서비스가 출시된다는 점에 만족하고 있습니다. VCNC가 일관적인 I/O 성능을 필요로 했을 때 EBS에 Provisioned IOPS 기능이 추가되었고, 보안과 관리의 편의성을 동시에 해결하려 했을 때 Amazon VPC가 발표되는 등 고객의 요구에 맞는 기능들이 빠르게 출시되었기 때문입니다.
또한 VCNC는 Between을 개선하기 위해 꾸준히 개발 테스트를 수행하는 과정에서 AWS를 사용함으로서 보다 쉽고 빠르게 테스트를 진행할 수 있었습니다. 관리 콘솔에서 몇 번의 클릭만으로 인스턴스를 추가하고 변경하는 것이 가능해 서버를 여러 대 묶어 테스트 환경을 꾸미고 복제하는 것이 간편했기 때문입니다. 이에 대해 김명보 Value Developer는 다음과 같이 덧붙였습니다.
“테스트를 할 때는 스팟 인스턴스를 사용해 여러 차례 저렴하게 실험을 해볼 수 있었습니다. 다양한 조건으로 환경을 구성하고 지연시간을 체크하며 실험을 했기 때문에 초반부터 반응속도가 빠른 작업물을 내놓는 것이 가능했고, 테스트가 끝나면 그 환경을 바로 지울 수 있었기 때문입니다. 덕분에 Between의 채팅 기능 지연시간을 40ms에서 7ms까지 감소시키는 등 지속적인 개선으로 사용자들을 만족시킬 수 있었습니다.”
Between은 커플을 위한 앱이기 때문에 크리스마스나 벚꽃축제, 불꽃축제 등 특정 기간에 채팅량과 사진 업로드 양이 폭증하는 경우가 많습니다. 이렇게 트래픽이 급증하는 순간 이를 EC2 확장으로 커버하고, 사용자들이 업로드한 100TB에 이르는 사진들과 82억 건 이상의 채팅 메시지들도 용량 제한이 없는 S3의 저장공간에 모두 쌓아놓을 수 있었습니다.
VCNC는 앞으로 Between 서비스에 더 다양한 기능을 추가할 계획이며, 이를 위해 AWS 상에서 수많은 테스트를 반복하고 있습니다. 또한 현재 전 세계에 퍼져 있는 AWS의 글로벌 인프라를 이용해 일본, 동남아 등 해외 시장에도 진출하여 성공적으로 비즈니스를 확장해 나가고 있습니다.
VCNC가 어떻게 AWS 클라우드를 사용하며 ‘Between’ 서비스를 운영하고 있는지에 대해 더 자세히 알아보고 싶으시면 VCNC Engineering Blog에 방문해 주세요.
http://aws.amazon.com/ko/web-mobile-social/에 방문하시면 AWS 클라우드를 활용해 웹/모바일/소셜 앱을 개발하고 운영하는 방법에 대해 알아보실 수 있습니다.