Remind Case Study
2015
Remind is a web and mobile application that enables teachers to send text messages to students and stay in touch with parents. Remind has 25 million users and more than 1.5 million teachers on its platform, and the app delivers 150 million messages per month.
Moving to Amazon ECS significantly improved our service performance. We reduced service response times in the 99th percentile by 50%.”
Jason Fischl
VP of Engineering, Remind
The Challenge
- Remind used a third-party cloud platform as a service (PaaS) to run its entire application infrastructure—message delivery engine, front-end API, web client, chat backend—as a monolithic application.
- Scaling issues prompted the move to a microservices-based architecture, but Remind wasn’t satisfied with the limited visibility into CPU, memory, and network performance available from the PaaS provider.
- Remind wanted to use Docker on Amazon Elastic Compute Cloud (Amazon EC2) for better resource utilization and environment consistency, and the initial thought was to have an internal PaaS solution for developer efficiency.
- Remind started to build out their own PaaS on top of Linux-based CoreOS and fleet, but fleet and key-value store etcd were unstable. The team also didn’t want to spend the time to run and operate their own cluster-management system.
Why Amazon Web Services
- Remind opted to use AWS directly in order to maintain operational simplicity; it was already using Amazon Redshift, Amazon DynamoDB, Amazon Simple Storage Service (Amazon S3), and Amazon CloudFront.
- The company decided to build its PaaS on top of Amazon EC2 Container Service (Amazon ECS) because the engineering team was small and didn’t have the time or expertise necessary to operate and manage clusters.
- Remind open-sourced their PaaS solution on Amazon ECS as “Empire.”
- Amazon ECS provides the container scheduling and integration while Elastic Load Balancing (ELB) allows Empire to use DNS for service discovery.
- Empire provides a Heroku-compatible API and CLI that allows developers to easily deploy applications atop Amazon ECS.
The Benefits
- Amazon ECS, a managed service, provides operational efficiency, allowing engineering resources to focus on developing and deploying applications instead of on operating and maintaining clusters.
- Moving to Amazon ECS provided large improvements in performance, including better stability and lower latency.
- Remind has seen a 2X decrease in response times in the 99th percentile, with less variance and fewer spikes.
- AWS provides control over security and routing through VPCs, plus clearer visibility into the performance of applications.
About Remind
Remind is a web and mobile application that enables teachers to send text messages to students and stay in touch with parents.
AWS Services Used
Amazon EC2
Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides secure, resizable compute capacity in the cloud. It is designed to make web-scale cloud computing easier for developers.
Amazon Redshift
Redshift powers mission critical analytical workloads for Fortune 500 companies, startups, and everything in between.
Learn more »
Amazon DynamoDB
Amazon DynamoDB is a key-value and document database that delivers single-digit millisecond performance at any scale.
Learn more »
Amazon S3
Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance.
Learn more »
Amazon CloudFront
Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds, all within a developer-friendly environment.
Learn more »
Elastic Load Balancing
Elastic Load Balancing automatically distributes incoming application traffic across multiple targets, such as Amazon EC2 instances, containers, IP addresses, and Lambda functions.
Learn more »
Get Started
Companies of all sizes across all industries are transforming their businesses every day using AWS. Contact our experts and start your own AWS Cloud journey today.