Remind 案例研究

2015 年

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

Shot of two young women using a laptop together in a college library
kr_quotemark

“迁移到 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 RedshiftAmazon DynamoDBAmazon 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 更清晰地了解应用程序的性能。

AWS re:Invent 2015 主题演讲 | Jason Fischl,Remind 工程副总裁 (7:44)

关于 Remind

Remind 是一款 Web 和移动应用程序,教师可以使用该应用程序向学生发送短信并与家长保持联系。


使用的 AWS 服务

Amazon EC2

Amazon Elastic Compute Cloud (Amazon EC2) 是一种 Web 服务,可以在云中提供安全并且可应需调整的计算容量。该服务旨在让开发人员能够更轻松地进行 Web 规模的云计算。

了解更多 »

Amazon Redshift

Redshift 可为财富 500 强公司、初创公司以及介于两者之间的任何公司,在关键任务型分析工作负载方面,提供技术支持。

了解更多 »

Amazon DynamoDB

Amazon DynamoDB 是一个键/值和文档数据库,可以在任何规模的环境中提供个位数的毫秒级性能。

了解更多 »

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 之旅。