移到 Amazon ECS 大幅提升了我們的服務效能。我們幾乎將服務回應時間減少了 50%。
Jason Fischl 工程部副總裁

Remind 是一款 Web 和行動應用程式,可讓教師傳送文字訊息給學生,並與家長保持聯繫。Remind 的平台上有 2500 萬名使用者以及超過 150 萬名教師,且應用程式每月可傳送 1 億 5 千萬則訊息。

AWS re:Invent 2015 重大發表 | Jason Fischl,Remind 工程部副總裁 (7:44)

reinvent-remind
  • Remind 採用第三方雲端平台即服務 (PaaS),以整合型應用程式的方式執行其整個應用程式基礎設施,包括訊息交付引擎、前端 API、Web 用戶端、聊天後端。
  • 擴展問題促使 Remind 改用微型服務架構,但是他們卻無法完全掌握 PaaS 供應商所提供的 CPU、記憶體和網路效能,因此對這一點並不滿意。
  • Remind 想要使用 Amazon Elastic Compute Cloud (Amazon EC2) 上的 Docker 改善資源利用與環境一致性,而且最初是打算採用內部 PaaS 解決方案來提高開發人員的效率。
  • Remind 開始在以 Linux 為基礎的 CoreOS 和執行個體叢集上建立自己的 PaaS,但執行個體叢集和鍵值存放區 etcd 並不穩定,團隊也不想花時間執行及操作公司的叢集管理系統。

  • 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 幾乎縮短了 2 倍的回應時間,而且產生的變異和峰值都比以往少。
  • AWS 提供安全性控管功能、VPC 路由,也能讓客戶更清楚掌握各應用程式的效能。

要進一步了解 AWS 如何協助您管理 Docker 容器,請瀏覽 Amazon EC2 Container Service 詳細資訊頁面