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 S3
Amazon Simple Storage Service (Amazon S3) 是一种对象存储服务,提供行业领先的可扩展性、数据可用性、安全性和性能。
了解更多 »
Amazon CloudFront
Amazon CloudFront 是一项快速内容分发网络 (CDN) 服务,可以安全地以低延迟和高传输速度向全球客户分发数据、视频、应用程序和 API,全部都在开发人员友好的环境中完成。
了解更多 »
Elastic Load Balancing
Elastic Load Balancing 在多个目标(如 Amazon EC2 实例、容器、IP 地址和 Lambda 函数)之间,自动分配传入的应用程序流量。
了解更多 »
开始使用
不同行业和规模的公司都在使用 AWS,将其日常业务运营进行转型。联系我们的专家,立即踏上您的 AWS Cloud 之旅。