Étude de cas : Remind

2015

Remind est une application web et mobile qui permet aux enseignants d'envoyer des SMS 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 plateforme. L'application livre 150 millions de messages par mois.

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

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 au 99e centile. »

Jason Fischl
Vice-président de l'ingénierie chez Remind

Le défi

  • Remind utilise une plateforme 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és 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. De même, l'équipe ne souhaitait pas consacrer du temps à l'exécution et à la gestion de son propre système de gestion des clusters.

Avantages d'Amazon Web Services

  • 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'entreprise 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 (ELB) permet à Empire d'utiliser le système de nom de domaine (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.

Les avantages

  • 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 vers 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.

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

À propos de Remind

Remind est une application web et mobile qui permet aux enseignants d'envoyer des SMS aux étudiants et de rester en contact avec les parents.


Services AWS utilisés

Amazon EC2

Amazon Elastic Compute Cloud (Amazon EC2) est un service Web qui fournit une capacité de calcul sécurisée et redimensionnable dans le cloud. Destiné aux développeurs, il est conçu pour faciliter l'accès aux ressources de cloud computing à l'échelle du Web.

En savoir plus »

Amazon Redshift

Redshift optimise les charges de travail d'analyse critiques pour les entreprises du classement Fortune 500, les start-ups et toutes les autres entreprises.

En savoir plus »

Amazon DynamoDB

Amazon DynamoDB est une base de données de clés-valeurs et de documents, offrant des performances de latence de l'ordre de quelques millisecondes, quelle que soit l'échelle.

En savoir plus »

Amazon S3

Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objet offrant une évolutivité, une disponibilité des données, une sécurité et des performances de pointe.

En savoir plus »

Amazon CloudFront

Amazon CloudFront est un réseau rapide de diffusion de contenu (CDN) qui distribue en toute sécurité des données, des vidéos, des applications et des API à vos utilisateurs, avec une faible latence et des vitesses de transfert élevées, l'ensemble dans un environnement convivial pour les développeurs.

En savoir plus »

Elastic Load Balancing

Elastic Load Balancing répartit automatiquement le trafic entrant d'application sur plusieurs cibles, comme les instances Amazon EC2, les conteneurs, les adresses IP et les fonctions Lambda.

En savoir plus »


Démarrer

Les entreprises de toute taille et de tous les secteurs d'activités transforment chaque jour leurs activités à l'aide d'AWS. Contactez nos spécialistes et commencez dès aujourd'hui votre transition vers le Cloud AWS.