Remind 사용 사례
2015
Remind는 교사들이 학생에게 텍스트 메시지를 보내고 학부모와 연락할 수 있도록 해 주는 웹 및 모바일 애플리케이션입니다. Remind 플랫폼의 사용자는 2,500만 명, 교사 수는 150만 명 이상이며, 매달 1,500만 건의 메시지를 전달합니다.
“Amazon ECS로 이전하면서 서비스 성능이 크게 개선되었습니다. 서비스 응답 시간을 99번째 백분위수에서 50% 절감했습니다."
Jason Fischl
엔지니어링 담당 부사장, Remind
당면 과제
- Remind는 타사 클라우드 PaaS(Platform-as-a-Service)를 사용해 전체 애플리케이션 인프라(메시지 전달 엔진, 프런트 엔드 API, 웹 클라이언트, 채팅 백엔드)를 모놀리식 애플리케이션으로 실행했습니다.
- 확장 문제는 마이크로서비스 기반 아키텍처로 이전하는 계기가 됐지만 Remind는 PaaS 공급업체가 제공하는 제한적인 CPU, 메모리, 네트워크 성능 가시성에 만족할 수 없었습니다.
- Remind는 리소스 활용을 개선하고 환경 일관성을 높이기 위해 Amazon Elastic Compute Cloud(Amazon EC2)에서 Docker를 사용하고자 했는데, 처음에 품은 생각은 개발자 효율을 위해 내부 PaaS 솔루션을 갖추자는 것이었습니다.
- Remind는 Linux 기반 CoreOS와 플릿에 자체 PaaS를 구축하기 시작했지만 플릿과 키-값 스토어 등은 불안정했습니다. 팀은 또 자체 클러스터 관리 시스템의 실행과 운영에 시간을 쏟고 싶지 않았습니다.
Amazon Web Services가 필요한 이유
- Remind는 운영의 단순성을 유지하기 위해 직접 AWS를 사용하기로 했습니다. Remind는 이미 Amazon Redshift, Amazon DynamoDB, Amazon Simple Storage Service(S3), Amazon CloudFront를 사용하고 있었습니다.
- 엔지니어링 팀의 규모가 작고 클러스터 운영과 관리에 필요한 시간이나 전문성이 없었기 때문에 이 회사는 Amazon EC2 Container Service(Amazon ECS)에 PaaS를 구축하기로 결정했습니다.
- Remind는 Amazon ECS의 PaaS 솔루션을 'Empire'라는 이름으로 소스를 공개했습니다.
- Amazon ECS는 컨테이너 예약 및 통합을 제공하고, Elastic Load Balancing(ELB)은 Empire가 DNS를 서비스 탐색에 사용할 수 있도록 합니다.
- Empire는 Heroku 호환 API와 개발자가 Amazon ECS에서 애플리케이션을 쉽게 배포할 수 있게 해 주는 CLI를 제공합니다.
이점
- 관리형 서비스인 Amazon ECS는 운영 효율성을 제공함으로써 엔지니어링 리소스를 클러스터 운영과 유지 관리 대신 애플리케이션 개발과 배포에 집중시킬 수 있습니다.
- Amazon ECS로의 이전은 안정성 향상과 지연 시간 감소 등 성능의 대폭 개선을 가져왔습니다.
- Remind는 99번째 백분위수에서 응답 시간 2배 단축을 이뤘고, 분산이 줄어들고 스파이크는 감소했습니다.
- AWS는 VPC와 애플리케이션 성능에 대한 향상된 가시성을 통해 보안 및 라우팅에 대한 제어를 제공합니다.
Remind 소개
Remind는 교사들이 학생에게 텍스트 메시지를 보내고 학부모와 연락할 수 있도록 해 주는 웹 및 모바일 애플리케이션입니다.
사용된 AWS 서비스
Amazon EC2
Amazon Elastic Compute Cloud(Amazon EC2)는 안전하고 크기 조정이 가능한 컴퓨팅 파워를 클라우드에서 제공하는 웹 서비스입니다. 개발자가 더 쉽게 웹 규모의 클라우드 컴퓨팅 작업을 할 수 있도록 설계되었습니다.
Amazon Redshift
스타트업부터 중소기업, Fortune 500대 기업에 이르기까지 모든 기업이 Redshift를 사용하여 미션 크리티컬 분석 워크로드를 지원합니다.
자세히 알아보기 »
Amazon DynamoDB
Amazon DynamoDB는 어떤 규모에서도 10밀리초 미만의 성능을 제공하는 키-값 및 문서 데이터베이스입니다.
자세히 알아보기 »
Amazon S3
Amazon Simple Storage Service(Amazon S3)는 업계 최고의 확장성과 데이터 가용성 및 보안과 성능을 제공하는 객체 스토리지 서비스입니다.
자세히 알아보기 »
Amazon CloudFront
Amazon CloudFront는 개발자 친화적 환경에서 짧은 지연 시간과 빠른 전송 속도로 데이터, 동영상, 애플리케이션 및 API를 전 세계 고객에게 안전하게 전송하는 고속 콘텐츠 전송 네트워크(CDN) 서비스입니다.
자세히 알아보기 »
Elastic Load Balancing
Elastic Load Balancing은 들어오는 애플리케이션 트래픽을 Amazon EC2 인스턴스, 컨테이너, IP 주소, Lambda 함수와 같은 여러 대상에 자동으로 분산시킵니다.
자세히 알아보기 »
시작하기
산업 분야를 불문하고 다양한 규모의 기업들이 AWS를 통해 매일 비즈니스를 혁신하고 있습니다. 지금 전문가와 상담하고 AWS 클라우드로의 여정을 시작하세요.