AWS 기술 파트너인 JANDI는 여러 가지 기술적 이점이 있습니다. 이 덕분에 JANDI는 안정적인 가동 시간을 보장하고 최대 99.9%의 SLA를 유지할 수 있습니다.
Sangrok Jeon Toss Lab 개발 이사

Toss Lab은 SaaS 비즈니스 솔루션인 JANDI에 대한 서비스를 제공합니다. JANDI는 Toss Lab에서 개발한 AWS(Amazon Web Services) 기반 비즈니스 메신저이며 아시아 비즈니스 환경에 최적화되었습니다. JANDI의 가장 특징적인 기능은 고급 네트워킹 기술을 통해 비즈니스 콘텐츠의 생성/삭제/액세스 요청을 처리하고 관련 이벤트의 실시간 처리를 보장한다는 것입니다. 현재 JANDI는 대한민국, 대만, 베트남 및 중국에서 사용되며 팀과 개인을 통틀어 총 사용자 수가 8만 명이 넘습니다. Toss Lab은 AWS에 기술 파트너로 등록되어 있습니다.

Toss Lab은 제한된 예산과 리소스를 활용하여 SaaS 솔루션 형태의 비즈니스 메신저 서비스 개발을 계획했습니다. 개발 과정에서 주로 세 가지 기준이 고려되었습니다.

  • 서비스 운영이 안전하고 신속해야 합니다.
  • 메시지와 파일을 서비스에 업로드할 때 여러 사용자가 동시에 공유하고 액세스할 수 있어야 합니다.
  • 서비스 사용자가 특정 채팅 룸에 참여할 때 채팅 룸의 이전 메시지와 파일에 액세스할 수 있어야 합니다.

퍼블릭 클라우드도 이러한 조건을 모두 충족했지만 검토 후에 AWS가 선택되었습니다.

Toss Lab은 로컬 및 글로벌 클라우드 솔루션을 검토한 후 편의성과 안정성을 이유로 AWS를 선택했습니다. AWS의 글로벌 서비스 기능과 참조를 평가한 결과, 다른 솔루션보다 AWS에서 SaaS 솔루션 개발이 더 편리하다고 결정했습니다. JANDI의 운영 시간은 Toss Lab이 사용하는 인프라의 운영 시간에 의해 큰 영향을 받기 때문에 안정성이 매우 중요합니다. 또한 JANDI는 제한된 인력으로 개발 및 운영되어야 하므로 편의성도 중요했습니다.

"JANDI는 전 세계 여러 국가/지역에서 액세스할 수 있도록 설계되었으며, 다수의 글로벌 SaaS 참조가 있었던 AWS가 적합했습니다." 소프트웨어 개발 이사 Said Sangrok Jeon "JANDI는 연중무휴로 서비스를 제공해야 하며 비용이 적절하게 관리되어야 합니다. Auto Scaling, 다양한 스토리지 및 해외 서비스를 위한 인프라 구축에 필요한 Content Distribution Network를 고려할 때 AWS 도입은 필연적인 결정이었습니다"라고 개발 팀의 엔지니어인 Junsu Kang 씨는 덧붙였습니다.

현재 Toss Lab은 Elastic Load Balancing과 함께 Application Load Balancer를 사용하여 대규모 트래픽을 처리하며 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 자동으로 분산합니다. 고객이 업로드한 파일은 Amazon Simple Storage Service(Amazon S3)에 저장되며 CDN 서비스 활용을 위해 Amazon S3에 연결되고, 콘텐츠 전송 속도 향상을 위해 Amazon CloudFront에 연결됩니다. 또한 메신저이기 때문에 특정 이벤트나 문제가 발생할 경우 트래픽이 급증하며 인스턴스의 자동 확장 기능이 필요합니다. 이 기능을 위해 JANDI는 Auto Scaling을 사용하여 비용 효율성을 실현했습니다. 추가 데이터 스토리지는 DB 인스턴스에 대해 고가용성 및 자동 장애 조치를 지원하는 Amazon Relational Database Service(Amazon RDS)를 사용합니다.

AWS Lambda는 메시지 창에 하이퍼링크를 입력할 때 RSS 형식으로 미리 보기 정보를 가져오는 데 사용됩니다. 안정성과 고가용성을 위해 Amazon ElastiCache for Redis에 의한 자동 장애 조치가 사용됩니다. 또한 확장성을 보장하기 위해 각 할당된 서버가 Amazon Simple Queue Service(Amazon SQS) 기반 메시징을 통해 데이터 증가 시 안정성을 개선하도록 구현되었습니다.

아래에는 Toss Lab의 아키텍처 다이어그램이 나와 있습니다.

 

Picture1

Toss Lab은 AWS를 사용하여 쉽고 빠르게 솔루션의 아키텍처를 변경할 수 있었으며, 이로써 SaaS 서비스의 운영이 안정화되었습니다. 각 고객의 비즈니스 환경에 따라 메신저의 트래픽이 가변적이므로 예기치 않게 트래픽이 증가할 수 있습니다. 이 경우 Elastic Load Balancing 및 Application Load Balancing이 대규모 트래픽을 처리하는 데 유용했습니다.

"CPU가 과부하되거나 기존 IDC에 서버를 설치할 때 메모리가 부족한 경우 새 서버로 교체해야 했습니다. 반면, AWS의 경우 인스턴스를 중지하고 유형을 변경한 후 작동할 때 서비스를 사용할 수 있다는 이점이 있었습니다. 따라서 필요한 초기 투자가 확실히 감소했으며, 인스턴스 생성, 삭제 및 수정이 쉬워서 사용하기 편리했습니다”라고 소프트웨어 개발 이사인 Sangrok Jeon 씨는 설명했습니다.

Toss Lab은 Amazon CloudWatch에서 제공하는 메트릭, 대시보드, 경보 등의 기능을 사용하여 서비스의 운영 문제를 쉽게 파악하고 대응할 수 있었습니다.

"JANDI는 AWS의 기술 파트너로서 다양한 혜택을 받습니다. 이 덕분에 지속적인 서비스 안정성이 실현되고 SLA 표준이 99.9퍼센트까지 증가했습니다”라고 개발 이사는 말했습니다.

"AWS 콘솔 및 SDK는 사용자 친화적이며 ISV 파트너 시스템이 잘 구비되어 개발 가능성이 높습니다.”라고 엔지니어 Kang 씨는 말합니다.

이사인 Jeon Sang-rok 씨는 "AWS는 계속해서 기술 파트너를 완벽하게 지원합니다. SaaS 특수 아키텍트에 최적화된 디자인과 관련된 직접적인 조언, 컨설팅 파트너인 'Megazone'과의 파트너십을 통한 간접적인 지원 등 다양한 지원을 제공합니다." 또한 "AWS와의 파트너십을 토대로, Toss Lab은 AWS Marketplace 및 APN 파트너 회사와의 공동 작업을 통해 서비스를 전 세계로 확장할 계획입니다”라고 이사는 밝혔습니다.

SAAS에 대해 자세히 알아보십시오.