En migrant sur Amazon ECS, nous avons considérablement amélioré les performances de notre service. Nous avons réduit de 50 % les temps de réponse de notre service au 99e centile.
Jason Fischl Vice-président de l'ingénierie

Remind est une application web et mobile qui permet aux enseignants d'envoyer des textos aux étudiants et de rester en contact avec les parents. Remind compte 25 millions d'utilisateurs et plus de 1,5 million de professeurs sur sa plate-forme. L'application livre 150 millions de messages par mois.

Conférence AWS re:Invent 2015 | Jason Fischl, vice-président de l'ingénierie, Remind (7:44)

reinvent-remind
  • Remind utilise une plate-forme en tant que service (PaaS) cloud tierce pour exécuter toute son infrastructure d'application (moteur de livraison de messages, API frontend, client web, backend de messagerie instantanée) comme une application unifiée.
  • Les problèmes de dimensionnement ont poussé l'entreprise à passer à une architecture basée sur des microservices, mais Remind n'était pas satisfait de la visibilité limitée dans les performances du CPU, de la mémoire et du réseau proposée par le prestataire de PaaS.
  • Remind voulait utiliser Docker sur Amazon Elastic Compute Cloud (Amazon EC2) pour une meilleure utilisation des ressources et une meilleure cohérence de l'environnement. La première idée envisagée était d'avoir une solution PaaS interne pour renforcer l'efficacité des développeurs.
  • Remind a commencé à développer sa propre PaaS en partant du système d'exploitation CoreOS basé sur Linux et de la flotte associée, mais la flotte et le magasin clé-valeur etcd étaient instables. L'équipe ne voulait pas non plus consacrer du temps à l'exécution et à la gestion de son propre système de gestion des clusters.

  • Remind a opté directement pour AWS afin de garder sa simplicité opérationnelle. En effet, l'entreprise utilisait déjà Amazon Redshift, Amazon DynamoDB, Amazon Simple Storage Service (Amazon S3) et Amazon CloudFront.
  • L'organisation a décidé de concevoir sa PaaS à partir d'Amazon EC2 Container Service (Amazon ECS), car l'équipe d'ingénierie était réduite et n'avait pas le temps ou l'expertise nécessaires pour exécuter et gérer des clusters.
  • Remind a transformé son offre PaaS en solution open source sur Amazon ECS, la nommant « Empire ».
  • Amazon ECS fournit la planification et l'intégration des conteneurs, tandis qu'Elastic Load Balancing permet à Empire d'utiliser le DNS pour la découverte de services.
  • Empire fournit une API compatible avec Heroku et une CLI facilitant le déploiement d'applications sur Amazon ECS par les développeurs.

  • Amazon ECS, un service géré, fournit une efficacité opérationnelle permettant aux ressources d'ingénierie de se concentrer sur le développement et le déploiement d'applications au lieu de gérer et d'entretenir les clusters.
  • La migration sur Amazon ECS a permis d'améliorer considérablement les performances, notamment pour bénéficier d'une meilleure stabilité et d'une latence plus faible.
  • Remind a vu les temps de réponse être divisés par deux dans le 99e centile, avec moins de variations et de pics d'activité.
  • AWS fournit le contrôle sur la sécurité et le routage grâce au VPC, ainsi qu'une meilleure visibilité sur les performances des applications.

Pour en savoir plus sur la façon dont AWS peut vous aider à gérer vos conteneurs Docker, consultez la page dédiée à Amazon EC2 Container Service.