
Remind 案例研究
2015 年
Remind 是一款 Web 和移动应用程序,教师可以使用该应用程序向学生发送短信并与家长保持联系。Remind 在自己的平台上拥有 2500 万名用户和 150 多万名教师,该应用程序每月可发送 1.5 亿条消息。


“迁移到 Amazon ECS 后,我们服务的性能得到了显著提升。我们将服务响应时间的第 99 个百分位降低了 50%。”
Jason Fischl
Remind 工程副总裁
挑战
- Remind 使用第三方云平台即服务 (PaaS) 解决方案,将整个应用程序基础设施(消息交付引擎、前端 API、Web 客户端、聊天后端)作为单个应用程序运行。
- 扩展问题促使 Remind 转而使用基于微服务的架构,但 Remind 对 PaaS 提供商提供的解决方案不满意,因为它无法全面了解 CPU 和内存的使用情况以及网络性能。
- Remind 希望在 Amazon Elastic Compute Cloud (Amazon EC2) 上使用 Docker,以提高资源利用率和环境一致性,而最初的想法是使用内部 PaaS 解决方案来提高开发人员效率。
- Remind 开始以基于 Linux 的 CoreOS 和 Fleet 为基础构建自己的 PaaS,但 Fleet 和键值存储 etcd 并不稳定。该团队也不想花时间运行和运营自己的集群管理系统。
为什么选择 Amazon Web Services
- 为保持运营的简便性,Remind 选择直接使用 AWS;已投入使用的产品包括 Amazon Redshift、Amazon DynamoDB、Amazon Simple Storage Service (Amazon 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 和 CLI,让开发人员能够在 Amazon ECS 上轻松部署应用程序。
优势
- Amazon ECS 是一项托管服务,能够确保运营效率,从而将工程资源重点用于开发和部署应用程序,而不是运行和维护集群。
- 迁移到 Amazon ECS 后,性能方面实现了巨大的改进,包括稳定性的提高和延迟的降低。
- Remind 将响应时间的第 99 个百分位降低了 50%,且响应时间方差降低了,峰值也有所减少。
- AWS 可通过 VPC 提供对安全性和路由的控制,还能让 Remind 更清晰地了解应用程序的性能。
关于 Remind
Remind 是一款 Web 和移动应用程序,教师可以使用该应用程序向学生发送短信并与家长保持联系。
使用的 AWS 服务
Amazon EC2
Amazon Elastic Compute Cloud (Amazon EC2) 是一种 Web 服务,可以在云中提供安全并且可调整大小的计算容量。该服务旨在让开发人员能够更轻松地进行 Web 规模的云计算。
Amazon CloudFront
Amazon CloudFront 是一项快速内容分发网络 (CDN) 服务,可以安全地以低延迟和高传输速度向全球客户分发数据、视频、应用程序和 API,全部都在开发人员友好的环境中完成。
了解更多 »
Amazon Redshift
Redshift 可为财富 500 强公司、初创公司以及介于两者之间的任何公司在关键任务型分析工作负载方面提供技术支持。
了解更多 »
Elastic Load Balancing
Elastic Load Balancing 在多个目标(如 Amazon EC2 实例、容器、IP 地址和 Lambda 函数)之间自动分配传入的应用程序流量。
了解更多 »
Amazon DynamoDB
Amazon DynamoDB 是一个键/值和文档数据库,可以在任何规模的环境中提供个位数的毫秒级性能。
了解更多 »
Amazon S3
Amazon Simple Storage Service (Amazon S3) 是一种对象存储服务,提供行业领先的可扩展性、数据可用性、安全性和性能。
了解更多 »
开始使用
各行各业中所有规模的公司都在使用 AWS 对其日常业务进行转型。联系我们的专家,立即踏上您的 AWS 云之旅。