잔디(JANDI)는 AWS 테크놀로지 파트너로서 다양한 기술 혜택을 제공 받고 있습니다. 이를 통해 항시 안정적인 서비스가 가능해졌으며 SLA기준도 99.9%로 확대했습니다. 
전상록 개발총괄 팀장, 토스랩

토스랩은 2014년 6월에 설립된 기업용 SaaS 솔루션 ‘잔디’를 서비스하고 있는 기업입니다. 아시아 업무 환경에 최적화된 ‘잔디’는 AWS 기반의 업무용 메신저로 토스랩이 100% 개발한 서비스입니다. 업무 콘텐츠 생성/삭제/읽기 요청을 고도화된 분산 기술로 처리하며, 해당 이벤트의 실시간성 확보가 큰 특징입니다. 현재 한국을 포함 대만, 베트남, 중국 등 주요 아시아 국가에서 8만 개 이상의 기업과 팀이 잔디를 사용하고 있습니다. 토스랩은 AWS의 테크놀로지 파트너로 등록되어 있습니다.

토스랩은 한정된 예산과 리소스를 활용해 SaaS 솔루션 형태로 업무용 메신저 서비스를 개발하고자 했습니다. 개발에 있어 고려했던 사항은 크게 3가지였습니다. 1) 속도와 민첩성을 갖춘 서비스 운영이 가능해야 할 것 2) 서비스에 메시지, 파일을 올릴 경우 다수의 유저가 동시에 공유-열람이 가능할 것 3) 서비스 사용자가 특정 대화방에 합류할 경우, 이전 메시지 및 파일을 파악할 수 있을 것 등이었습니다. 이 3가지 요건을 충족하는 IT 환경은 퍼블릭 클라우드였고, 검토 끝에 AWS를 선택했습니다.

토스랩은 국내 및 글로벌 클라우드 업체를 검토한 후 편의성과 신뢰성 측면에서 AWS를 선택했습니다. AWS의 글로벌 서비스 역량, 다양한 레퍼런스를 봤을 때 AWS를 이용한 SaaS 솔루션 개발이 용이할 것으로 판단했습니다. 특히 잔디의 가동 시간은 토스랩이 이용하는 인프라의 가동 시간에 큰 영향을 받기 때문에 신뢰성이 중요하였습니다. 또한, 제한된 인력으로도 개발과 운영이 가능해야 하기 때문에 편의성을 중점적으로 살펴보았습니다.

토스랩의 전상록 개발총괄 팀장은 “사용자들이 전 세계 여러 국가에서 접속할 수 있다는 가정 하에 잔디를 설계를 했기 때문에 글로벌 SaaS 레퍼런스를 다수 보유한 AWS가 적합하다고 판단했습니다.”라고 밝혔습니다. 개발팀의 강준수 엔지니어는 “잔디 서비스 특성 상 24시간 연중무휴 서비스를 보장해야 하고 합리적으로 비용을 통제해야 합니다. 해외 서비스를 제공하기 위한 인프라를 구축하기 위해 필요한 Auto Scaling, Storage 다양성, CDN 등을 고려했을 때 AWS 도입은 자연스러운 결과였습니다.”라고 덧붙였습니다.

현재 토스랩은 Elastic Load Balancing의 Application Load Balancer를 사용하여 대규모 트래픽을 처리해 Amazon Elastic Computer Cloud (Amazon EC2) 인스턴스로 자동 분산시키고 있습니다. 고객이 업로드한 파일은 Amazon Simple Storage Service (Amazon S3)에 저장하고 있으며, Amazon S3와 연계하여 CDN 서비스인 Amazon CloudFront도 사용해 콘텐츠 전송 속도 향상의 효과를 누리고 있습니다.

 

또한 메신저 특성 상 특정 이벤트나 이슈 등으로 트래픽이 급증할 때 인스턴스를 자동으로 늘려 대응하는 Auto Scaling을 사용해 비용 절감 효과를 누리고 있습니다. 부가 데이터 저장은 DB 인스턴스에 고가용성과 Automatic Failover 기능을 지원하는 Amazon Relational Database Service (Amazon RDS)를 사용하고 있습니다.

AWS Lambda는 메시지 창에 링크를 입력하면 프리뷰 정보를 가져올 때 RSS 포맷으로 가져오는데 사용하고 있습니다. 고가용성과 안정성 확보를 위해 Redis용 Amazon ElastiCache의 Automatic Failover 기능을 이용했습니다. 또한 Amazon Simple Queue Service (Amazon SQS) 기반 메시징을 통해, 데이터 증가에 대한 안정성을 향상시키고자 각각의 배치 서버를 독립적으로 분리해 구현함으로써 확장성도 보장하고 있습니다.

토스랩의 아키텍처 다이어그램은 다음과 같습니다.

 

Picture1

토스랩은 AWS를 사용해 쉽고 빠르게 Re-Architecting을 할 수 있었고, 이를 통해 안정적인 SaaS 서비스를 운영하고 있습니다. 메신저는 고객의 비즈니스 환경에 따라 트래픽이 유동적이기 때문에 예측 범위 밖의 트래픽 증가가 발생하기도 합니다. 이 경우 Elastic Load Balancing과 Application Load Balancing을 통해 대규모 트래픽도 유연하게 대처할 수 있었습니다.

전상록 개발총괄 팀장은 “기존 IDC에서 서버를 설치하고 사용할 때 CPU 부하나 메모리가 부족한 경우 새로운 서버로 대체해야 했습니다. 반면 AWS 상에서는 인스턴스를 중단시킨 후 타입을 변경하고 다시 가동시키면 서비스가 가능한 장점이 있습니다. 그렇기 때문에 초기 투자비용을 확실히 줄일 수 있었고 인스턴스를 생성, 삭제, 변경하는 것이 용이해 사용하기 편리했습니다.”라고 설명했습니다.

토스랩은 Amazon CloudWatch가 제공하는 Metric, Dashboard, Alarm 기능으로 서비스의 운영상의 이슈를 쉽게 인지하고 대응할 수도 있었습니다.

전상록 개발총괄 팀장은 “잔디(JANDI)는 AWS 테크놀로지 파트너로서 다양한 기술 혜택을 제공 받고 있습니다. 이를 통해 항시 안정적인 서비스가 가능해졌으며 SLA기준도 99.9%로 확대했습니다.”라고 전했습니다.

개발자 중심으로 구성된 토스랩은 시스템 엔지니어 없는 DevOps 형태로 무리없이 SaaS 솔루션을 개발∙운영하고 있습니다.

개발팀 강준수 엔지니어는 “AWS 웹 콘솔과 SDK도 사용하기 편하게 구성되어 있고, ISV 파트너 생태계가 잘 갖춰져 있어 개발 편의성이 높았습니다.”라고 전했습니다.

전상록 팀장은 “AWS는 테크놀로지 파트너에 대해 전폭적인 지원을 이어오고 있습니다. SaaS 전문 아키텍트 최적 설계를 위한 자문과 더불어 프리미어 컨설팅파트너사 ‘메가존’과의 제휴를 통한 직-간접적인 지원까지 그 방식이 다양합니다.”라고 말했습니다. 이에 덧붙여 “토스랩은 AWS와의 파트너십을 바탕으로 향후AWS Marketplace 연계와 다양한 APN 파트너사와의 협력을 통해 글로벌 시장을 대상으로 서비스를 확대할 계획입니다.”고 밝혔습니다.

Learn more about SAAS.