Caso di studio Remind

2015

Remind è un'applicazione Web e per dispositivi mobili che consente agli insegnanti di inviare messaggi di testo agli studenti e rimanere in contatto con i genitori. Remind ha 25 milioni di utenti e oltre 1,5 milioni di insegnanti sulla propria piattaforma e l'applicazione distribuisce 150 milioni di messaggi al mese.

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

Passare ad Amazon ECS ha migliorato notevolmente le prestazioni del nostro servizio. Abbiamo diminuito il tempo di risposta al 99° percentile del 50%".

Jason Fischl
Vice presidente della progettazione, Remind

La sfida

  • Remind utilizzava una piattaforma cloud di terze parti come un servizio (PaaS) per eseguire l'intera infrastruttura applicativa (motore di consegna dei messaggi, API front-end, client Web, back-end chat) come applicazione monolitica.
  • Problemi di dimensionamento hanno indotto la necessità di passare a un'architettura basata su microservizi ma Remind non era soddisfatta della visibilità limitata sulla CPU e delle prestazioni di rete messe a disposizione dal fornitore PaaS.
  • Remind desiderava utilizzare Docker su Amazon Elastic Compute Cloud (Amazon EC2) per un migliore utilizzo delle risorse e una migliore uniformità dell'ambiente e il pensiero iniziale è stato quello di disporre di una soluzione PaaS interna che garantisse l'efficienza degli sviluppatori.
  • Remind ha iniziato a creare la propria soluzione PaaS al di sopra del CoreOS basato su Linux e del parco istanze, ma il parco istanze e l'etcd per la memorizzazione dei valori chiave erano instabili. Inoltre il team non desiderava trascorrere tempo nell'eseguire e rendere operativo il proprio sistema di gestione del cluster.

Perché Amazon Web Services

  • Remind ha scelto di utilizzare direttamente AWS per mantenere la semplicità operativa; utilizzava già Amazon Redshift, Amazon DynamoDB, Amazon Simple Storage Service (Amazon S3) e Amazon CloudFront.
  • L'azienda ha deciso di creare la propria soluzione PaaS su Amazon EC2 Container Service (Amazon ECS) dato che il team di engineering era ridotto e non aveva il tempo o l'esperienza necessaria per attivare e gestire i cluster.
  • Remind ha rilasciato in open source la propria soluzione PaaS su Amazon ECS come "Empire".
  • Amazon ECS fornisce la pianificazione e l'integrazione dei container, mentre Elastic Load Balancing (ELB) consente a Empire di utilizzare DNS per il rilevamento dei servizi.
  • Empire fornisce un'API compatibile con Heroku e CLI che consente agli sviluppatori di distribuire facilmente le applicazioni su Amazon ECS.

I vantaggi

  • Amazon ECS, un servizio gestito, offre efficienza operativa, consentendo alle risorse del dipartimento di engineering di focalizzarsi sullo sviluppo e sulla distribuzione delle applicazioni anziché sulla gestione e sul mantenimento dei cluster.
  • Il passaggio ad Amazon ECS ha offerto miglioramenti significativi delle prestazioni, compresa una migliore stabilità e una latenza inferiore.
  • Remind ha registrato una riduzione di 2 volte nei tempi di risposta nel 99° percentile, con meno varianza e minori picchi.
  • AWS ha fornito il controllo sulla sicurezza e l'instradamento tramite VPC, oltre a una maggiore visibilità sulle prestazioni delle applicazioni.

Keynote ad AWS re:Invent 2015 | Jason Fischl, vice presidente del dipartimento di engineering, Remind (7:44)

Informazioni su Remind

Remind è un'applicazione Web e per dispositivi mobili che consente agli insegnanti di inviare messaggi di testo agli studenti e rimanere in contatto con i genitori.


Servizi AWS utilizzati

Amazon EC2

Amazon Elastic Compute Cloud (Amazon EC2) è un servizio Web che fornisce capacità di elaborazione sicura e scalabile nel cloud. È concepito per rendere più semplice il cloud computing su scala Web per gli sviluppatori.

Ulteriori informazioni »

Amazon Redshift

Redshift alimenta i carichi di lavoro analitici mission critical per le aziende Fortune 500, le start-up e qualsiasi altra.

Ulteriori informazioni »

Amazon DynamoDB

Amazon DynamoDB è un database che supporta i modelli di dati di tipo documento e di tipo chiave-valore che offre prestazioni di pochi millisecondi a qualsiasi scala.

Ulteriori informazioni »

Amazon S3

Amazon Simple Storage Service (Amazon S3) è un servizio di storage di oggetti che offre scalabilità, disponibilità dei dati, sicurezza e prestazioni all'avanguardia nel settore.

Ulteriori informazioni »

Amazon CloudFront

Amazon CloudFront è una rete per la distribuzione rapida di contenuti o CDN (Content Delivery Network) che permette la distribuzione di dati, video, applicazioni e API a livello globale agli utenti con latenza minima, velocità di trasferimento elevata, il tutto in un ambiente amichevole per gli sviluppatori.

Ulteriori informazioni »

Elastic Load Balancing

Elastic Load Balancing instrada automaticamente il traffico in entrata delle applicazioni tra molteplici destinazioni, quali istanze Amazon EC2, container, indirizzi IP e funzioni Lambda.

Ulteriori informazioni »


Nozioni di base

Le aziende di tutte le taglie e di tutti i settori stanno trasformando ogni giorno la propria attività grazie ad AWS. Contatta i nostri esperti e inizia subito il tuo viaggio in AWS Cloud.