Die Umstellung auf Amazon ECS hat unsere Serviceleistung deutlich verbessert. Wir haben die Servicereaktionszeiten im 99. Perzentil um 50 % reduziert.
Jason Fischl VP of Engineering

Remind ist eine Web- und mobile Anwendung, mit der Lehrer via Textnachrichten mit ihren Schülern und deren Eltern in Kontakt bleiben können. Die Remind-Plattform wird von 25 Millionen Nutzern, davon 1,5 Millionen Lehrern genutzt, die monatlich über die Anwendung 150 Millionen Nachrichten austauschen.

AWS re:Invent 2015 Keynote | Jason Fischl, VP of Engineering, Remind (7:44)

reinvent-remind
  • Remind verwendete zur Ausführung seiner gesamten Anwendungsinfrastruktur als monolithische Anwendung – also für die Nachrichtenzustellungsengine, die Front-End-API, den Web-Client und das Chat-Back-End – die Cloud-Plattform eines Drittanbieters.
  • Skalierungsprobleme veranlassten das Unternehmen zum Umstieg auf eine Microservices-basierte Architektur, jedoch erfüllte die eingeschränkte Transparenz von CPU-, Speicher- und Netzwerkleistung, die der PaaS-Anbieter bereitstellte, nicht die Erwartungen von Remind.
  • So entschloss sich Remind für Docker auf Amazon Elastic Compute Cloud (Amazon EC2). Dies erschien dem Unternehmen die beste Lösung zur Erreichung einer optimalen Ressourcenauslastung und einer konsistenteren Umgebung. Zunächst dachte Remind dabei an eine interne PaaS-Lösung, von der sich das Unternehmen eine besondere Entwicklungseffizienz versprach.
  • Remind begann also, seine eigene PaaS auf dem Linux-basierten CoreOS und seiner Serverflotte aufzubauen. Die Flotte und der etcd-Schlüsselwertspeicher waren jedoch instabil. Außerdem wollte das Team den zeitlichen Aufwand für den Betrieb seines eigenen Clustermanagementsystems vermeiden.

  • Um den Betrieb möglichst einfach zu halten, entschied sich Remind daher, AWS direkt zu verwenden. Es nutzte immerhin bereits Amazon Redshift, Amazon DynamoDB, Amazon Simple Storage Service (Amazon S3) und Amazon CloudFront.
  • Da das Engineering-Team von Remind klein war und weder über die Zeit noch die Kenntnisse für den Betrieb und die Verwaltung von Clustern verfügte, entschloss sich das Unternehmen, seine PaaS auf Amazon EC2 Container Service (Amazon ECS) aufzusetzen.
  • Remind gab seine PaaS-Lösung auf Amazon ECS als Open Source unter dem Namen "Empire" frei.
  • Amazon ECS stellt die Container-Planung und -Integration bereit, während Elastic Load Balancing (ELB) der Empire-Plattform die Verwendung von DNS für die Serviceerkennung ermöglicht.
  • Empire verfügt über eine Heroku-kompatible API und CLI, über die Entwickler Anwendungen problemlos auf Amazon ECS bereitstellen können.

  • Der verwaltete Service Amazon ECS bietet betriebliche Effizienz. Statt sich um den Betrieb und die Verwaltung von Clustern zu kümmern, können sich IT-Mitarbeiter daher ganz auf die Entwicklung und Bereitstellung von Anwendungen konzentrieren.
  • Der Umstieg auf Amazon ECS brachte enorme Leistungsverbesserungen, u. a. mehr Stabilität und eine geringere Latenz.
  • Die Reaktionszeiten haben sich im 99. Perzentil halbiert, wobei sich sowohl die Abweichungen als auch die Spitzen verringert haben.
  • AWS stellt die erforderliche Sicherheitskontrolle wie auch Routing über VPCs bereit, und auch die Transparenz der Anwendungsleistung hat sich deutlich verbessert.

Weitere Informationen zur Verwendung von AWS für die Verwaltung von Docker-Containern finden Sie auf unserer Detailseite zum Amazon EC2 Container Service.